diff --git a/.claude/rules/build-test-lint.md b/.claude/rules/build-test-lint.md index 9d44cd60..d353d736 100644 --- a/.claude/rules/build-test-lint.md +++ b/.claude/rules/build-test-lint.md @@ -32,8 +32,8 @@ with `supertest` are the primary way to verify behavior in this project. ## Test Runner: Vitest The monorepo tests under **Vitest 4** using the `projects` model: the -root `vitest.config.ts` declares every project (`unit`, `e2e-packages`, -and one per example workspace); `vitest.shared.ts` carries the common +root `vitest.config.mts` declares every project (`unit`, `e2e-packages`, +and one per example workspace); `vitest.shared.mts` carries the common plugin/settings. Select with `--project `; `vitest run` with no filter runs everything (requires `yarn build` first). Key facts: diff --git a/.claude/rules/editing-guidelines.md b/.claude/rules/editing-guidelines.md index b2e49b94..4e0c081d 100644 --- a/.claude/rules/editing-guidelines.md +++ b/.claude/rules/editing-guidelines.md @@ -12,5 +12,6 @@ description: Code editing best practices for this repository # Source of Truth - Behavior and API truth: `packages/*/src/**` -- Public API surface for auth package: `packages/rockets-server-auth/swagger/swagger.json` +- Public API surface for auth package: `packages/rockets-server-auth/src/index.ts` + plus its `*.e2e-spec.ts` suites (there is no generated swagger.json anymore). - When docs conflict with code, prefer code. diff --git a/.github/workflows/release-readiness.yml b/.github/workflows/release-readiness.yml index 62bd79a8..2dbb015f 100644 --- a/.github/workflows/release-readiness.yml +++ b/.github/workflows/release-readiness.yml @@ -1,5 +1,7 @@ name: release-readiness +# Gate-only: ci-pr-test already runs build/lint/typecheck/unit/e2e on every +# pull request. This workflow adds only the release gates it does not cover. on: pull_request: branches: ['main'] @@ -7,7 +9,7 @@ on: branches: ['main'] jobs: - release-check: + release-gates: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -25,8 +27,18 @@ jobs: uses: actions/cache@v4 with: path: ~/.cache/firebase/emulators - key: firestore-emulator-${{ runner.os }}-${{ hashFiles('yarn.lock') }} + # Keyed to the pinned firebase-tools version in + # scripts/run-emulator-suite.mjs — bump together. + key: firestore-emulator-${{ runner.os }}-firebase-tools-15.15.0 - name: Install run: corepack yarn install --immutable - - name: Release readiness - run: corepack yarn release:check + - name: Build + run: corepack yarn build + - name: Package artifacts + run: corepack yarn release:packages + - name: Firestore emulator suite + run: corepack yarn test:firestore-emulator + - name: Samples build + run: corepack yarn samples:build + - name: Samples e2e + run: corepack yarn samples:test:e2e diff --git a/package.json b/package.json index da2a6c4e..bfab406a 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,6 @@ "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^4.2.1", "eslint-plugin-tsdoc": "^0.3.0", - "firebase-tools": "15.15.0", "husky": "^7.0.4", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", @@ -124,7 +123,7 @@ "test:ci": "vitest run --project unit --coverage --coverage.thresholds.statements=50 --coverage.thresholds.branches=50 --coverage.thresholds.functions=40 --coverage.thresholds.lines=50 --reporter=default --reporter=junit --outputFile=junit.xml", "test:debug": "vitest --inspect-brk --no-file-parallelism", "test:e2e": "vitest run --project e2e-packages", - "test:firestore-emulator": "firebase emulators:exec --only firestore --project demo-rockets --config firebase.json 'vitest run --config vitest.firestore.config.mts'", + "test:firestore-emulator": "node scripts/run-emulator-suite.mjs", "test:e2e:cov": "vitest run --project e2e-packages --coverage --coverage.reportsDirectory=coverage-e2e --maxWorkers=1", "test:all": "vitest run", "doc": "rimraf ./docs && typedoc", diff --git a/packages/rockets-core/README.md b/packages/rockets-core/README.md index d424a5cd..2dff50f9 100644 --- a/packages/rockets-core/README.md +++ b/packages/rockets-core/README.md @@ -485,7 +485,7 @@ expect. | Option | Type | Required | Description | | -------------- | ---------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `auth` | `AuthBootstrap` or array | optional† | Auth wiring from `defineFirebaseAuth()`, `defineRocketsAuth()`, or app-local helpers. Each entry supplies an `adapter`, optional `forRoot()`, and optional integration-owned defaults through `contributes`; explicit app options win. | +| `auth` | `AuthBootstrap` or array | optional† | Auth wiring from `defineFirebaseAuth()`, `defineRocketsAuth()`, or app-local helpers. Each entry supplies an `adapter` and optional `forRoot()`. `identity`/`contributes` are resolved only by `@concepta/rockets` (`createServer` / `RocketsModule`) — core rejects bootstraps that still carry them; pass `userMetadata`/`repository`/`resources` explicitly here instead. | | `repository` | `RepositoryModuleInterface` or `RepositoryBootstrap` | optional | Default persistence adapter. A bootstrap owns both `forRoot(entities)` and `forFeature(entities)`. | | `userMetadata` | `RocketsUserMetadataConfig` | optional | Entity + DTOs for the metadata table joined to external users. | | `resources` | `ReadonlyArray` | optional | Mix of `defineResource`, `defineModuleResource`, and manual `RocketsResourceConfig`. | diff --git a/packages/rockets-core/src/domain/interfaces/auth-bootstrap.interface.ts b/packages/rockets-core/src/domain/interfaces/auth-bootstrap.interface.ts index 7e137387..48dee651 100644 --- a/packages/rockets-core/src/domain/interfaces/auth-bootstrap.interface.ts +++ b/packages/rockets-core/src/domain/interfaces/auth-bootstrap.interface.ts @@ -6,13 +6,30 @@ import type { RocketsUserMetadataConfig } from './rockets-user-metadata-config.i import type { ResourceInput } from '../../infrastructure/resource/planner/app-registration-plan.types'; /** - * Defaults an auth integration can contribute to the surrounding Rockets app. - * Explicit options on `RocketsModule` take precedence over every contribution. + * Identity ownership an auth integration claims over the surrounding app: + * the persistence rows, root repository, and user-metadata contract for the + * single user space every adapter in the chain authenticates into. At most + * ONE bootstrap per app may carry this — the server rejects two owners at + * composition time. Explicit options on `RocketsModule` still win. + * + * Resolved by `@concepta/rockets` (`createServer` / `RocketsModule`); + * `RocketsCoreModule` does not read it. */ -export interface AuthBootstrapContributions { +export interface AuthBootstrapIdentity { readonly resources?: ReadonlyArray; readonly userMetadata?: RocketsUserMetadataConfig; readonly repository?: RepositoryModuleInterface | RepositoryBootstrap; +} + +/** + * Per-integration guard preferences. Unlike {@link AuthBootstrapIdentity}, + * these can coexist across an auth chain; conflicting values fail at + * composition. Explicit options on `RocketsModule` take precedence. + * + * Resolved by `@concepta/rockets` (`createServer` / `RocketsModule`); + * `RocketsCoreModule` does not read them. + */ +export interface AuthBootstrapContributions { /** * Contribute `false` only together with `providesAppGuard: true` — an * integration may swap the global guard, never remove it. Removing the @@ -37,6 +54,8 @@ export interface AuthBootstrap< > { readonly adapter: Type; readonly forRoot?: () => DynamicModule; - /** Persistence and server defaults owned here; explicit app options win. */ + /** Singular identity ownership — at most one bootstrap per app. */ + readonly identity?: AuthBootstrapIdentity; + /** Guard preferences owned by this integration; explicit app options win. */ readonly contributes?: AuthBootstrapContributions; } diff --git a/packages/rockets-core/src/index.ts b/packages/rockets-core/src/index.ts index 9c03698f..51a69a52 100644 --- a/packages/rockets-core/src/index.ts +++ b/packages/rockets-core/src/index.ts @@ -130,6 +130,7 @@ export type { DefineModuleResourceInput } from './infrastructure/resource/define export type { AuthBootstrap, AuthBootstrapContributions, + AuthBootstrapIdentity, } from './domain/interfaces/auth-bootstrap.interface'; export { defineAuthAdapter } from './infrastructure/auth/define-auth-adapter'; export type { DefineAuthAdapterOptions } from './infrastructure/auth/define-auth-adapter'; diff --git a/packages/rockets-core/src/infrastructure/auth/define-auth-adapter.spec.ts b/packages/rockets-core/src/infrastructure/auth/define-auth-adapter.spec.ts index 7ccc3f04..a3a15c59 100644 --- a/packages/rockets-core/src/infrastructure/auth/define-auth-adapter.spec.ts +++ b/packages/rockets-core/src/infrastructure/auth/define-auth-adapter.spec.ts @@ -6,7 +6,10 @@ import type { AuthAttemptResult, AuthRequest, } from '../../domain/interfaces/auth-adapter.interface'; -import type { AuthBootstrapContributions } from '../../domain/interfaces/auth-bootstrap.interface'; +import type { + AuthBootstrapContributions, + AuthBootstrapIdentity, +} from '../../domain/interfaces/auth-bootstrap.interface'; // Imported from the package index (not the module directly) so this spec fails // to compile if `defineAuthAdapter` stops being part of the public surface. import { defineAuthAdapter } from '../../index'; @@ -24,15 +27,18 @@ describe('defineAuthAdapter', () => { provide: 'AUTH_DEPENDENCY', useValue: true, }; - const contributes: AuthBootstrapContributions = { resources: [] }; + const identity: AuthBootstrapIdentity = { resources: [] }; + const contributes: AuthBootstrapContributions = { providesAppGuard: true }; const bootstrap = defineAuthAdapter(SpecAuthAdapter, { providers: [dependency], + identity, contributes, }); const module = bootstrap.forRoot!(); expect(bootstrap.adapter).toBe(SpecAuthAdapter); + expect(bootstrap.identity).toBe(identity); expect(bootstrap.contributes).toBe(contributes); expect(module.providers).toEqual([dependency, SpecAuthAdapter]); expect(module.exports).toEqual([SpecAuthAdapter]); diff --git a/packages/rockets-core/src/infrastructure/auth/define-auth-adapter.ts b/packages/rockets-core/src/infrastructure/auth/define-auth-adapter.ts index 8788aa67..732deb96 100644 --- a/packages/rockets-core/src/infrastructure/auth/define-auth-adapter.ts +++ b/packages/rockets-core/src/infrastructure/auth/define-auth-adapter.ts @@ -4,14 +4,22 @@ import type { AuthAdapterInterface } from '../../domain/interfaces/auth-adapter. import type { AuthBootstrap, AuthBootstrapContributions, + AuthBootstrapIdentity, } from '../../domain/interfaces/auth-bootstrap.interface'; -/** Optional Nest wiring and server defaults owned by a custom auth adapter. */ +/** + * Optional Nest wiring and server defaults owned by a custom auth adapter. + * + * `identity` and `contributes` are for integration PACKAGES that own user + * persistence or guard behavior. App code should set `userMetadata`, + * `repository`, and `resources` on the module options instead. + */ export interface DefineAuthAdapterOptions { readonly imports?: NonNullable; readonly controllers?: NonNullable; readonly providers?: ReadonlyArray; readonly exports?: NonNullable; + readonly identity?: AuthBootstrapIdentity; readonly contributes?: AuthBootstrapContributions; } @@ -28,6 +36,7 @@ export function defineAuthAdapter( ): AuthBootstrap { return { adapter, + identity: options.identity, contributes: options.contributes, forRoot: () => ({ module: class AuthAdapterHostModule {}, diff --git a/packages/rockets-core/src/rockets-core.module-definition.spec.ts b/packages/rockets-core/src/rockets-core.module-definition.spec.ts new file mode 100644 index 00000000..97122844 --- /dev/null +++ b/packages/rockets-core/src/rockets-core.module-definition.spec.ts @@ -0,0 +1,47 @@ +import { describe, expect, it } from 'vitest'; +import { Injectable } from '@nestjs/common'; + +import type { + AuthAdapterInterface, + AuthAttemptResult, + AuthRequest, +} from './domain/interfaces/auth-adapter.interface'; +import { RocketsCoreModule } from './rockets-core.module'; +import { defineAuthAdapter } from './infrastructure/auth/define-auth-adapter'; + +@Injectable() +class BoundaryAuthAdapter implements AuthAdapterInterface { + async authenticate(_request: AuthRequest): Promise { + return { matched: false }; + } +} + +describe('RocketsCoreModule — auth bootstrap boundary', () => { + it('rejects a bootstrap that still carries identity', () => { + expect(() => + RocketsCoreModule.forRoot({ + auth: defineAuthAdapter(BoundaryAuthAdapter, { + identity: { resources: [] }, + }), + }), + ).toThrow(/identity\/contributes/); + }); + + it('rejects a bootstrap that still carries contributes', () => { + expect(() => + RocketsCoreModule.forRoot({ + auth: defineAuthAdapter(BoundaryAuthAdapter, { + contributes: { providesAppGuard: true }, + }), + }), + ).toThrow(/identity\/contributes/); + }); + + it('accepts a plain adapter bootstrap', () => { + expect( + RocketsCoreModule.forRoot({ + auth: defineAuthAdapter(BoundaryAuthAdapter), + }), + ).toBeDefined(); + }); +}); diff --git a/packages/rockets-core/src/rockets-core.module-definition.ts b/packages/rockets-core/src/rockets-core.module-definition.ts index 68121a30..0ecda05d 100644 --- a/packages/rockets-core/src/rockets-core.module-definition.ts +++ b/packages/rockets-core/src/rockets-core.module-definition.ts @@ -323,6 +323,22 @@ function normalizeAuthBootstraps( ): ReadonlyArray { if (input === undefined) return []; const entries = Array.isArray(input) ? input : [input]; + // Core would silently drop these — refuse instead of booting an app that + // is missing the persistence/guard defaults the integration declared. + for (const bootstrap of entries) { + if ( + bootstrap.identity !== undefined || + bootstrap.contributes !== undefined + ) { + throw new Error( + 'RocketsCoreModule: auth bootstrap "' + + bootstrap.adapter.name + + '" carries identity/contributes, which only @concepta/rockets ' + + '(createServer / RocketsModule) resolves. Use createServer(), or ' + + 'pass userMetadata/repository/resources explicitly to core.', + ); + } + } return entries; } diff --git a/packages/rockets-repository-firestore/src/__tests__/admin-firestore.backend.spec.ts b/packages/rockets-repository-firestore/src/__tests__/admin-firestore.backend.spec.ts new file mode 100644 index 00000000..4f3c6fea --- /dev/null +++ b/packages/rockets-repository-firestore/src/__tests__/admin-firestore.backend.spec.ts @@ -0,0 +1,68 @@ +import { describe, expect, it, vi, beforeEach } from 'vitest'; + +const { fakeDb, createDoc } = vi.hoisted(() => { + const createDoc = vi.fn(async (): Promise => undefined); + const getAll = vi.fn(async (...refs: Array<{ readonly id: string }>) => + refs.map((ref) => ({ + exists: true, + id: ref.id, + data: () => ({ title: `row-${ref.id}` }), + })), + ); + const fakeDb = { + getAll, + collection: (_name: string) => ({ + doc: (id: string) => ({ id, create: createDoc }), + }), + }; + return { fakeDb, createDoc }; +}); + +vi.mock('firebase-admin/app', () => ({ getApp: () => ({}) })); +vi.mock('firebase-admin/firestore', () => ({ getFirestore: () => fakeDb })); + +import { AdminFirestoreBackend } from '../backends/admin-firestore.backend'; +import { FirestoreDuplicateIdException } from '../exceptions/firestore-duplicate-id.exception'; + +describe('AdminFirestoreBackend', () => { + beforeEach(() => { + fakeDb.getAll.mockClear(); + createDoc.mockClear(); + }); + + it('chunks getAll so id lists of any size load without a cap', async () => { + const backend = new AdminFirestoreBackend(); + const documentIds = Array.from( + { length: 800 }, + (_, index) => `doc-${index}`, + ); + + const rows = await backend.queryBranch('widgets', { + branch: { documentIds, filters: [], postFilters: [] }, + }); + + expect(rows).toHaveLength(800); + expect(fakeDb.getAll).toHaveBeenCalledTimes(3); + expect(fakeDb.getAll.mock.calls[0]).toHaveLength(300); + expect(fakeDb.getAll.mock.calls[2]).toHaveLength(200); + expect(rows[799]).toMatchObject({ id: 'doc-799', title: 'row-doc-799' }); + }); + + it('translates the SDK ALREADY_EXISTS error into the contract exception', async () => { + const backend = new AdminFirestoreBackend(); + createDoc.mockRejectedValueOnce({ code: 6 }); + + await expect( + backend.create('widgets', 'dup-id', { title: 'x' }), + ).rejects.toBeInstanceOf(FirestoreDuplicateIdException); + }); + + it('re-throws SDK errors that are not duplicates untouched', async () => { + const backend = new AdminFirestoreBackend(); + createDoc.mockRejectedValueOnce({ code: 13, message: 'internal' }); + + await expect( + backend.create('widgets', 'any-id', { title: 'x' }), + ).rejects.toMatchObject({ code: 13 }); + }); +}); diff --git a/packages/rockets-repository-firestore/src/__tests__/firestore-repository.module.spec.ts b/packages/rockets-repository-firestore/src/__tests__/firestore-repository.module.spec.ts index 7a2f38bc..db5cea7b 100644 --- a/packages/rockets-repository-firestore/src/__tests__/firestore-repository.module.spec.ts +++ b/packages/rockets-repository-firestore/src/__tests__/firestore-repository.module.spec.ts @@ -8,6 +8,7 @@ import { import type { RepositoryInterface } from '@concepta/nestjs-repository'; import { InMemoryFirestoreBackend } from '../backends/in-memory-firestore.backend'; +import { FirestoreDuplicateIdException } from '../exceptions/firestore-duplicate-id.exception'; import { FirestoreRepositoryModule } from '../firestore-repository.module'; class WidgetEntity { @@ -455,7 +456,7 @@ describe(FirestoreRepositoryModule.name, () => { await expect( repo.create({ id: 'same-id', title: 'Replacement' }), - ).rejects.toThrow(); + ).rejects.toBeInstanceOf(FirestoreDuplicateIdException); await expect( repo.findOne({ where: Where.eq('id', 'same-id') }), ).resolves.toMatchObject({ title: 'Original' }); diff --git a/packages/rockets-repository-firestore/src/__tests__/firestore-value.spec.ts b/packages/rockets-repository-firestore/src/__tests__/firestore-value.spec.ts index bede1f4d..1d14c9fc 100644 --- a/packages/rockets-repository-firestore/src/__tests__/firestore-value.spec.ts +++ b/packages/rockets-repository-firestore/src/__tests__/firestore-value.spec.ts @@ -104,6 +104,27 @@ describe('local Firestore value semantics', () => { ).toBe(true); }); + it('matches server equality for NaN and signed zero', () => { + // Firestore `== NaN` compiles to the IS_NAN unary filter, so NaN matches + // NaN; -0 equals 0. NaN never equals a non-NaN number. + expect(firestoreValuesEqual(Number.NaN, Number.NaN)).toBe(true); + expect(firestoreValuesEqual(Number.NaN, 5)).toBe(false); + expect(firestoreValuesEqual(-0, 0)).toBe(true); + expect(firestoreValuesEqual(0, -0)).toBe(true); + expect(firestoreValuesEqual([Number.NaN], [Number.NaN])).toBe(true); + expect(firestoreValuesEqual({ value: -0 }, { value: 0 })).toBe(true); + }); + + it('orders strings by code points like the server, not UTF-16 units', () => { + // U+1F600 (😀, UTF-16 surrogate D83D) vs U+FB01 (fi): code-point order + // puts the emoji AFTER, UTF-16 unit order would put it before. + expect(compareFirestoreValues('😀', 'fi')).toBeGreaterThan(0); + expect(compareFirestoreValues('fi', '😀')).toBeLessThan(0); + expect(compareFirestoreValues('abc', 'abd')).toBeLessThan(0); + expect(compareFirestoreValues('ab', 'abc')).toBeLessThan(0); + expect(compareFirestoreValues('😀', '😀')).toBe(0); + }); + it('compares timestamp-like SDK values with dates before SDK equality', () => { const date = new Date('2026-01-01T00:00:00.000Z'); const timestamp = new TimestampStub(date); diff --git a/packages/rockets-repository-firestore/src/__tests__/firestore-where.translator.spec.ts b/packages/rockets-repository-firestore/src/__tests__/firestore-where.translator.spec.ts index c1b6a725..95a69271 100644 --- a/packages/rockets-repository-firestore/src/__tests__/firestore-where.translator.spec.ts +++ b/packages/rockets-repository-firestore/src/__tests__/firestore-where.translator.spec.ts @@ -44,15 +44,13 @@ describe('firestore-where.translator', () => { ); }); - it('caps direct document lookups at 500 ids', () => { - expect(() => - translateDnfBranch([ - Where.in( - 'id', - Array.from({ length: 501 }, (_, index) => `doc-${index}`), - ), - ]), - ).toThrow(/at most 500/); + it('accepts id lists beyond the batch-write cap (backends chunk reads)', () => { + const ids = Array.from({ length: 800 }, (_, index) => `doc-${index}`); + + const branch = translateDnfBranch([Where.in('id', ids)]); + + expect(branch.documentIds).toHaveLength(800); + expect(branch.documentIds?.[799]).toBe('doc-799'); }); it('intersects multiple document-id predicates in an AND branch', () => { diff --git a/packages/rockets-repository-firestore/src/backends/admin-firestore.backend.ts b/packages/rockets-repository-firestore/src/backends/admin-firestore.backend.ts index 527889d5..f1a348e8 100644 --- a/packages/rockets-repository-firestore/src/backends/admin-firestore.backend.ts +++ b/packages/rockets-repository-firestore/src/backends/admin-firestore.backend.ts @@ -5,6 +5,7 @@ import { type Query, } from 'firebase-admin/firestore'; +import { FirestoreDuplicateIdException } from '../exceptions/firestore-duplicate-id.exception'; import type { FirestoreBackend, FirestoreBranchQueryOptions, @@ -19,6 +20,20 @@ import { applyFirestoreFilters } from '../repository/firestore-row-filter'; import { sortFirestoreRows } from '../repository/firestore-sort'; import { normalizeFirestoreValue } from '../repository/firestore-value'; +// Batched reads keep argument lists bounded; getAll itself has no hard cap. +const GET_ALL_CHUNK = 300; + +const GRPC_ALREADY_EXISTS = 6; + +function isAlreadyExistsError(error: unknown): boolean { + return ( + typeof error === 'object' && + error !== null && + 'code' in error && + error.code === GRPC_ALREADY_EXISTS + ); +} + export class AdminFirestoreBackend implements FirestoreBackend { private db() { return getFirestore(getApp()); @@ -52,10 +67,17 @@ export class AdminFirestoreBackend implements FirestoreBackend { documentId: string, data: Record, ): Promise { - await this.db() - .collection(collection) - .doc(documentId) - .create(this.serialise(data)); + try { + await this.db() + .collection(collection) + .doc(documentId) + .create(this.serialise(data)); + } catch (error) { + if (isAlreadyExistsError(error)) { + throw new FirestoreDuplicateIdException(collection, documentId); + } + throw error; + } } async delete(collection: string, documentId: string): Promise { @@ -142,14 +164,20 @@ export class AdminFirestoreBackend implements FirestoreBackend { if (branch.documentIds !== undefined) { if (branch.documentIds.length === 0) return []; const collectionRef = this.db().collection(collection); - const refs = branch.documentIds.map((documentId) => - collectionRef.doc(documentId), - ); - const snapshots = await this.db().getAll(...refs); const rows: Record[] = []; - for (const snapshot of snapshots) { - if (snapshot.exists) { - rows.push(this.normalise(snapshot.data(), snapshot.id)); + for ( + let index = 0; + index < branch.documentIds.length; + index += GET_ALL_CHUNK + ) { + const refs = branch.documentIds + .slice(index, index + GET_ALL_CHUNK) + .map((documentId) => collectionRef.doc(documentId)); + const snapshots = await this.db().getAll(...refs); + for (const snapshot of snapshots) { + if (snapshot.exists) { + rows.push(this.normalise(snapshot.data(), snapshot.id)); + } } } return rows; diff --git a/packages/rockets-repository-firestore/src/backends/in-memory-firestore.backend.ts b/packages/rockets-repository-firestore/src/backends/in-memory-firestore.backend.ts index 29f80ecb..c6f597b4 100644 --- a/packages/rockets-repository-firestore/src/backends/in-memory-firestore.backend.ts +++ b/packages/rockets-repository-firestore/src/backends/in-memory-firestore.backend.ts @@ -1,3 +1,4 @@ +import { FirestoreDuplicateIdException } from '../exceptions/firestore-duplicate-id.exception'; import type { FirestoreBackend, FirestoreBranchQueryOptions, @@ -61,9 +62,7 @@ export class InMemoryFirestoreBackend implements FirestoreBackend { ): Promise { const store = this.collectionStore(collection); if (store.has(documentId)) { - throw new Error( - `Firestore document "${collection}/${documentId}" already exists.`, - ); + throw new FirestoreDuplicateIdException(collection, documentId); } store.set(documentId, { ...data, id: documentId }); } diff --git a/packages/rockets-repository-firestore/src/exceptions/firestore-duplicate-id.exception.ts b/packages/rockets-repository-firestore/src/exceptions/firestore-duplicate-id.exception.ts new file mode 100644 index 00000000..feef5529 --- /dev/null +++ b/packages/rockets-repository-firestore/src/exceptions/firestore-duplicate-id.exception.ts @@ -0,0 +1,28 @@ +import { HttpStatus } from '@nestjs/common'; +import { RuntimeExceptionOptions } from '@concepta/nestjs-core'; +import { RepositoryQueryException } from '@concepta/nestjs-repository'; + +/** + * Thrown by every {@link FirestoreBackend} implementation when `create()` + * targets an id that already exists, so callers handle one error shape + * regardless of backend and the exceptions filter can map it to HTTP 409. + * + * Extends {@link RepositoryQueryException} because the repository hook + * permeator rethrows that family untouched — anything else gets wrapped + * into a generic 500 before it reaches the exceptions filter. + */ +export class FirestoreDuplicateIdException extends RepositoryQueryException { + constructor( + collection: string, + documentId: string, + options?: RuntimeExceptionOptions, + ) { + super(collection, { + message: `Firestore document "${collection}/${documentId}" already exists.`, + messageParams: [], + httpStatus: HttpStatus.CONFLICT, + ...options, + }); + this.errorCode = 'FIRESTORE_DUPLICATE_ID_ERROR'; + } +} diff --git a/packages/rockets-repository-firestore/src/index.ts b/packages/rockets-repository-firestore/src/index.ts index 2755d417..f88f4afc 100644 --- a/packages/rockets-repository-firestore/src/index.ts +++ b/packages/rockets-repository-firestore/src/index.ts @@ -10,6 +10,7 @@ export { FIRESTORE_DEFAULT_SOFT_DELETE_FIELD, } from './constants/firestore-soft-delete.constants'; export { ensureFirebaseAdminApp } from './utils/ensure-firebase-admin-app'; +export { FirestoreDuplicateIdException } from './exceptions/firestore-duplicate-id.exception'; export { InMemoryFirestoreBackend } from './backends/in-memory-firestore.backend'; export { defineFirestoreRepository } from './integration/define-firestore-repository'; export type { DefineFirestoreRepositoryOptions } from './integration/define-firestore-repository.config'; diff --git a/packages/rockets-repository-firestore/src/interfaces/firestore-backend.interface.ts b/packages/rockets-repository-firestore/src/interfaces/firestore-backend.interface.ts index 73b2376d..bd7e33ef 100644 --- a/packages/rockets-repository-firestore/src/interfaces/firestore-backend.interface.ts +++ b/packages/rockets-repository-firestore/src/interfaces/firestore-backend.interface.ts @@ -21,7 +21,13 @@ export interface FirestoreBackend { collection: string, documentId: string, ): Promise | null>; - /** Atomically create a document and reject when its id already exists. */ + /** + * Atomically create a document. + * + * @throws FirestoreDuplicateIdException when the id already exists — + * every implementation must translate its native duplicate error into + * this exception at the boundary. + */ create( collection: string, documentId: string, diff --git a/packages/rockets-repository-firestore/src/repository/firestore-value.ts b/packages/rockets-repository-firestore/src/repository/firestore-value.ts index 36429844..ef1e15a6 100644 --- a/packages/rockets-repository-firestore/src/repository/firestore-value.ts +++ b/packages/rockets-repository-firestore/src/repository/firestore-value.ts @@ -118,6 +118,15 @@ export function compareFirestoreValues( /** Structural equality for Firestore values used by local query paths. */ export function firestoreValuesEqual(left: unknown, right: unknown): boolean { + if (typeof left === 'number' && typeof right === 'number') { + // Server semantics: `== NaN` compiles to the IS_NAN unary filter + // (@google-cloud/firestore field-filter-internal.ts), so NaN matches NaN; + // and +0 equals -0. `Object.is` disagrees on both, so numbers skip it. + if (Number.isNaN(left) || Number.isNaN(right)) { + return Number.isNaN(left) && Number.isNaN(right); + } + return left === right; + } if (Object.is(left, right)) return true; const leftDate = asDate(left); @@ -263,8 +272,18 @@ function compareNumbers(left: number, right: number): number { } function compareStrings(left: string, right: string): number { + // Code-point order matches Firestore's UTF-8 byte order; UTF-16 `<` + // misplaces astral code points (emoji) relative to U+E000–U+FFFF. if (left === right) return 0; - return left < right ? -1 : 1; + const leftPoints = Array.from(left); + const rightPoints = Array.from(right); + const commonLength = Math.min(leftPoints.length, rightPoints.length); + for (let index = 0; index < commonLength; index += 1) { + const delta = + leftPoints[index]!.codePointAt(0)! - rightPoints[index]!.codePointAt(0)!; + if (delta !== 0) return delta < 0 ? -1 : 1; + } + return compareNumbers(leftPoints.length, rightPoints.length); } function scalarKind(value: unknown): string | undefined { diff --git a/packages/rockets-repository-firestore/src/repository/firestore-where.translator.ts b/packages/rockets-repository-firestore/src/repository/firestore-where.translator.ts index 2c08e480..8b87951b 100644 --- a/packages/rockets-repository-firestore/src/repository/firestore-where.translator.ts +++ b/packages/rockets-repository-firestore/src/repository/firestore-where.translator.ts @@ -26,8 +26,6 @@ const RANGE_OPS: ReadonlySet = new Set([ '!=', ]); -const MAX_DIRECT_DOCUMENT_IDS = 500; - /** Builds one conjunctive branch from DNF conditions (use with `RepositoryAdapter.toDnf`). */ export function translateDnfBranch( conditions: readonly WhereCondition[], @@ -180,11 +178,6 @@ function translateIdCondition(condition: WhereCondition): FirestoreQueryBranch { }; case WhereOperator.IN: { const rawValues = asArray(readArrayValue(condition)); - if (rawValues.length > MAX_DIRECT_DOCUMENT_IDS) { - throw new Error( - `Firestore adapter: id "in" supports at most ${MAX_DIRECT_DOCUMENT_IDS} document ids (received ${rawValues.length}).`, - ); - } const values = rawValues.map(readDocumentId); return { documentIds: values, diff --git a/packages/rockets-server-auth/README.md b/packages/rockets-server-auth/README.md index 4156dc95..a03ded6f 100644 --- a/packages/rockets-server-auth/README.md +++ b/packages/rockets-server-auth/README.md @@ -396,7 +396,7 @@ when you need built-in auth HTTP and `/me`. | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `accessControl` | `AccessControlOptionsInterface` + `imports` + `queryServices` — enables the global ACL guard wiring. | | `disableController` | Drop built-in controllers (`recovery`, `otp`, `signup`, `admin`, `adminRoles`, `invitation`, `invitationAcceptance`, `invitationRevocation`, `invitationReattempt`, `mePassword`, `token`). | -| `throttling` | Default request-throttling options, or `false` to opt out. Login and recovery routes are protected by the global throttler guard. | +| `throttling` | Request-throttling options for the guard scoped to the auth-owned public routes (signup, login, recovery, otp, invitation acceptance) — a coarse per-IP ceiling plus fine per-`(ip, account)` limits. No app-wide `APP_GUARD` is registered. Pass `false` to opt out. | | `ports` | `RocketsAuthPortsConfigInterface` — per-handler overrides for cross-module Command/Query plumbing. | | `auth.appGuard` | Override the global `APP_GUARD` from `AuthenticationModule`. | | `auth.controller` / `otp.controller` / `invitation.controllers.*` / `role.controller` | Per-controller decorator extras (`classDecorators`, `routes[*].decorators`). | diff --git a/packages/rockets-server-auth/src/define-rockets-auth.spec.ts b/packages/rockets-server-auth/src/define-rockets-auth.spec.ts index 88bfdf0f..751f80da 100644 --- a/packages/rockets-server-auth/src/define-rockets-auth.spec.ts +++ b/packages/rockets-server-auth/src/define-rockets-auth.spec.ts @@ -53,6 +53,14 @@ describe('defineRocketsAuth', () => { expect(bootstrap.contributes?.enableGlobalGuard).toBe(true); }); + it('claims identity ownership over the auth-owned persistence', () => { + const bootstrap = defineRocketsAuth(input()); + + expect(bootstrap.identity?.userMetadata).toBeDefined(); + expect(bootstrap.identity?.repository).toBe(repository); + expect(bootstrap.identity?.resources?.length).toBeGreaterThan(0); + }); + it('declares the upstream JwtGuard as the replacement app guard', () => { const bootstrap = defineRocketsAuth(input()); diff --git a/packages/rockets-server-auth/src/define-rockets-auth.ts b/packages/rockets-server-auth/src/define-rockets-auth.ts index faf5a658..5f118b4b 100644 --- a/packages/rockets-server-auth/src/define-rockets-auth.ts +++ b/packages/rockets-server-auth/src/define-rockets-auth.ts @@ -147,13 +147,17 @@ export function defineRocketsAuth( return { adapter: input.authAdapter ?? RocketsJwtAuthAdapter, forRoot: () => RocketsAuthModule.forRootAsync(asyncOptions), - contributes: { + // Built-in auth owns the user space the whole adapter chain + // authenticates into — it is the app's single identity owner. + identity: { resources: buildRocketsAuthResources( input.persistence, input.invitationEntity, ), userMetadata: input.userMetadata, repository: input.persistence.module, + }, + contributes: { // AuthenticationModule installs its own JwtGuard by default. Avoid two // global authentication guards unless a mixed-auth host explicitly asks // Rockets to own the ordered adapter chain. diff --git a/packages/rockets-server-auth/src/domains/auth/__tests__/auth-readiness.e2e-spec.ts b/packages/rockets-server-auth/src/domains/auth/__tests__/auth-readiness.e2e-spec.ts index 780e50c7..0933b42d 100644 --- a/packages/rockets-server-auth/src/domains/auth/__tests__/auth-readiness.e2e-spec.ts +++ b/packages/rockets-server-auth/src/domains/auth/__tests__/auth-readiness.e2e-spec.ts @@ -19,6 +19,26 @@ const originalCredentials = { password: 'OriginalP@ssw0rd!', }; +/** + * Recovery dispatch is fire-and-forget (the endpoint answers before the OTP + * row exists), so the flow test polls instead of reading immediately. + */ +async function pollUntil( + read: () => Promise, + what: string, + timeoutMs = 5000, +): Promise { + const deadline = Date.now() + timeoutMs; + for (;;) { + const value = await read(); + if (value !== null) return value; + if (Date.now() > deadline) { + throw new Error(`Timed out after ${timeoutMs}ms waiting for ${what}`); + } + await new Promise((resolve) => setTimeout(resolve, 25)); + } +} + describe('Rockets Auth 1.0 readiness (e2e)', () => { describe('recovery and handler ownership', () => { let app: INestApplication; @@ -56,6 +76,13 @@ describe('Rockets Auth 1.0 readiness (e2e)', () => { expect(registrationWarnings).toEqual([]); }); + it('resolves the upstream DI tokens the password-port handlers depend on', () => { + // Hand-copied strings (upstream does not export the constants) — an + // upstream rename must fail here, not at a production boot. + expect(module.get('USER_CREDENTIALS_REPOSITORY_TOKEN')).toBeDefined(); + expect(module.get('USER_MODULE_SETTINGS_TOKEN')).toBeDefined(); + }); + it('supports the complete account-recovery flow without disclosing unknown emails', async () => { await request(app.getHttpServer()) .post('/recovery/login') @@ -72,10 +99,13 @@ describe('Rockets Auth 1.0 readiness (e2e)', () => { .send({ email: originalCredentials.email }) .expect(200); - const otp = await module + const otpRepository = module .get(DataSource) - .getRepository(UserOtpEntityFixture) - .findOneByOrFail({ active: true }); + .getRepository(UserOtpEntityFixture); + const otp = await pollUntil( + () => otpRepository.findOneBy({ active: true }), + 'the recovery OTP row', + ); await request(app.getHttpServer()) .post('/recovery/passcode') @@ -133,5 +163,27 @@ describe('Rockets Auth 1.0 readiness (e2e)', () => { .send({ username: 'missing-user', password: 'wrong-password' }) .expect(429); }); + + it('throttles per account, so one account cannot lock another out', async () => { + for (let attempt = 1; attempt <= 10; attempt += 1) { + await request(app.getHttpServer()) + .post('/token/password') + .send({ username: 'victim-lockout', password: 'wrong-password' }) + .expect(401); + } + + // The victim's own bucket is now exhausted — proves throttling is active. + await request(app.getHttpServer()) + .post('/token/password') + .send({ username: 'victim-lockout', password: 'wrong-password' }) + .expect(429); + + // Same client IP, a different account: its bucket is independent, so the + // exhausted account cannot deny login to everyone else. + await request(app.getHttpServer()) + .post('/token/password') + .send({ username: 'other-account', password: 'wrong-password' }) + .expect(401); + }); }); }); diff --git a/packages/rockets-server-auth/src/domains/auth/application/services/rockets-recovery.service.ts b/packages/rockets-server-auth/src/domains/auth/application/services/rockets-recovery.service.ts index 63030cc9..bb96573d 100644 --- a/packages/rockets-server-auth/src/domains/auth/application/services/rockets-recovery.service.ts +++ b/packages/rockets-server-auth/src/domains/auth/application/services/rockets-recovery.service.ts @@ -102,8 +102,12 @@ export class RocketsRecoveryService implements RecoveryServiceContract { const Command = this.notifications.sendPasswordUpdatedNotificationCommand; try { await this.commandBus.execute(new Command(appCtx, user.email)); - } catch { - this.logger.error('Password-updated recovery notification failed'); + } catch (error: unknown) { + this.logger.error('Password-updated recovery notification failed', { + userId: user.id, + message: error instanceof Error ? error.message : String(error), + stack: error instanceof Error ? error.stack : undefined, + }); } return user; } diff --git a/packages/rockets-server-auth/src/domains/auth/gateways/http/controllers/rockets-auth-recovery.controller.ts b/packages/rockets-server-auth/src/domains/auth/gateways/http/controllers/rockets-auth-recovery.controller.ts index a28b6e0e..1579b12c 100644 --- a/packages/rockets-server-auth/src/domains/auth/gateways/http/controllers/rockets-auth-recovery.controller.ts +++ b/packages/rockets-server-auth/src/domains/auth/gateways/http/controllers/rockets-auth-recovery.controller.ts @@ -16,8 +16,11 @@ import { Patch, Post, Req, + UseGuards, } from '@nestjs/common'; import { Throttle } from '@nestjs/throttler'; + +import { AuthAccountThrottlerGuard } from '../guards/auth-account-throttler.guard'; import { ApiBadRequestResponse, ApiBody, @@ -31,6 +34,7 @@ import type { Request } from 'express'; /** Public, enumeration-safe account recovery endpoints. */ @Controller('recovery') @AuthPublic({ classLevel: true }) +@UseGuards(AuthAccountThrottlerGuard) @ApiTags('Authentication') export class RocketsAuthRecoveryController { private readonly logger = new Logger(RocketsAuthRecoveryController.name); @@ -54,12 +58,12 @@ export class RocketsAuthRecoveryController { 'The request was accepted, whether or not the email belongs to an account.', }) @ApiBadRequestResponse({ description: 'Invalid email format' }) - async recoverLogin( + recoverLogin( @Body() dto: RecoveryRecoverLoginDto, @Req() req: Request, - ): Promise { + ): void { const ctx = getAppContext(req); - await this.runEnumerationSafe('login', () => + this.dispatchEnumerationSafe('login', () => this.recoveryService.recoverLogin(ctx, dto.email), ); } @@ -78,12 +82,12 @@ export class RocketsAuthRecoveryController { 'The request was accepted, whether or not the email belongs to an account.', }) @ApiBadRequestResponse({ description: 'Invalid email format' }) - async recoverPassword( + recoverPassword( @Body() dto: RecoveryRecoverPasswordDto, @Req() req: Request, - ): Promise { + ): void { const ctx = getAppContext(req); - await this.runEnumerationSafe('password', () => + this.dispatchEnumerationSafe('password', () => this.recoveryService.recoverPassword(ctx, dto.email), ); } @@ -132,15 +136,21 @@ export class RocketsAuthRecoveryController { if (!user) throw new RecoveryOtpInvalidException(); } - private async runEnumerationSafe( + /** + * Respond before the work runs: known and unknown accounts cost the same + * wall-clock time, and a slow mail provider cannot slow the endpoint. + * Failures are logged with their cause and never surfaced to the caller. + */ + private dispatchEnumerationSafe( operation: 'login' | 'password', work: () => Promise, - ): Promise { - try { - await work(); - } catch { - this.logger.error(`Account ${operation} recovery notification failed`); - // A uniform success response prevents account-existence disclosure. - } + ): void { + void work().catch((error: unknown) => { + this.logger.error(`Account ${operation} recovery dispatch failed`, { + operation, + message: error instanceof Error ? error.message : String(error), + stack: error instanceof Error ? error.stack : undefined, + }); + }); } } diff --git a/packages/rockets-server-auth/src/domains/auth/gateways/http/controllers/rockets-auth-token.controller.ts b/packages/rockets-server-auth/src/domains/auth/gateways/http/controllers/rockets-auth-token.controller.ts index 4b814d4c..d0e61747 100644 --- a/packages/rockets-server-auth/src/domains/auth/gateways/http/controllers/rockets-auth-token.controller.ts +++ b/packages/rockets-server-auth/src/domains/auth/gateways/http/controllers/rockets-auth-token.controller.ts @@ -30,6 +30,8 @@ import { import type { Request } from 'express'; import { getAppContext } from '@concepta/rockets-core'; +import { AuthAccountThrottlerGuard } from '../guards/auth-account-throttler.guard'; + type RequestWithPassportUser = Request & { readonly user?: ReferenceIdInterface; }; @@ -44,6 +46,7 @@ type RequestWithPassportUser = Request & { */ @Controller('token') @AuthPublic({ classLevel: true }) +@UseGuards(AuthAccountThrottlerGuard) @ApiTags('Authentication') export class RocketsAuthTokenController { constructor(private readonly commandBus: CommandBus) {} diff --git a/packages/rockets-server-auth/src/domains/auth/gateways/http/factories/build-me-password-controller.ts b/packages/rockets-server-auth/src/domains/auth/gateways/http/factories/build-me-password-controller.ts index c0af3ca0..71d0427a 100644 --- a/packages/rockets-server-auth/src/domains/auth/gateways/http/factories/build-me-password-controller.ts +++ b/packages/rockets-server-auth/src/domains/auth/gateways/http/factories/build-me-password-controller.ts @@ -27,6 +27,7 @@ import { RocketsAuthChangePasswordDto } from '../../../infrastructure/dto/rocket import type { MePasswordControllerExtras } from '../../../interfaces/me-password-controller-extras.interface'; import type { RocketsAuthUserInterface } from '../../../../user/interfaces/rockets-auth-user.interface'; import { applyControllerExtras } from '../../../../../shared/utils/apply-controller-extras.helper'; +import { AuthAccountThrottlerGuard } from '../guards/auth-account-throttler.guard'; /** Build the password-change controller and apply consumer decorators. */ export function buildMePasswordController( @@ -35,7 +36,7 @@ export function buildMePasswordController( @Controller('me') @ApiTags('Me') @ApiBearerAuth() - @UseGuards(JwtGuard) + @UseGuards(JwtGuard, AuthAccountThrottlerGuard) class MePasswordController { constructor(private readonly commandBus: CommandBus) {} diff --git a/packages/rockets-server-auth/src/domains/auth/gateways/http/guards/auth-account-throttler.guard.ts b/packages/rockets-server-auth/src/domains/auth/gateways/http/guards/auth-account-throttler.guard.ts new file mode 100644 index 00000000..843ce3e3 --- /dev/null +++ b/packages/rockets-server-auth/src/domains/auth/gateways/http/guards/auth-account-throttler.guard.ts @@ -0,0 +1,32 @@ +import { Injectable } from '@nestjs/common'; +import { ThrottlerGuard } from '@nestjs/throttler'; + +/** + * Rate-limits on the IP **and** the targeted account combined, not one or the + * other. Keying on the account alone lets one attacker lock a victim out of + * login by naming their username; keying on IP alone misses distributed + * attacks and collapses behind a load balancer. The composite key limits the + * `(ip, account)` pair, so an attacker only ever throttles themselves. + * Requests that name no account fall back to the upstream IP tracker. + */ +@Injectable() +export class AuthAccountThrottlerGuard extends ThrottlerGuard { + protected async getTracker(req: Record): Promise { + const ipTracker = await super.getTracker(req); + const body: unknown = req.body; + if (typeof body === 'object' && body !== null) { + const target = + this.readStringField(body, 'email') ?? + this.readStringField(body, 'username'); + if (target !== undefined) { + return `${ipTracker}::${target.toLowerCase()}`; + } + } + return ipTracker; + } + + private readStringField(source: object, key: string): string | undefined { + const value: unknown = Reflect.get(source, key); + return typeof value === 'string' && value.length > 0 ? value : undefined; + } +} diff --git a/packages/rockets-server-auth/src/domains/invitation/gateways/http/factories/build-invitation-controllers.ts b/packages/rockets-server-auth/src/domains/invitation/gateways/http/factories/build-invitation-controllers.ts index 5dd86189..7fa2e521 100644 --- a/packages/rockets-server-auth/src/domains/invitation/gateways/http/factories/build-invitation-controllers.ts +++ b/packages/rockets-server-auth/src/domains/invitation/gateways/http/factories/build-invitation-controllers.ts @@ -34,6 +34,7 @@ import { getAppContext } from '@concepta/rockets-core'; import type { Request } from 'express'; import { AdminGuard } from '../../../../../guards/admin.guard'; +import { AuthAccountThrottlerGuard } from '../../../../auth/gateways/http/guards/auth-account-throttler.guard'; import { applyControllerExtras } from '../../../../../shared/utils/apply-controller-extras.helper'; import { RocketsAuthInvitationAcceptDto } from '../../../infrastructure/dto/rockets-auth-invitation-accept.dto'; import { RocketsAuthInvitationCreateDto } from '../../../infrastructure/dto/rockets-auth-invitation-create.dto'; @@ -116,6 +117,7 @@ export function buildInvitationAcceptanceController( ): Type { @Controller('invitation-acceptance') @AuthPublic({ classLevel: true }) + @UseGuards(AuthAccountThrottlerGuard) @ApiTags('auth') class InvitationAcceptanceController { constructor(private readonly commandBus: CommandBus) {} diff --git a/packages/rockets-server-auth/src/domains/otp/gateways/http/factories/build-rockets-auth-otp-controller.ts b/packages/rockets-server-auth/src/domains/otp/gateways/http/factories/build-rockets-auth-otp-controller.ts index 31293f70..dbcb5079 100644 --- a/packages/rockets-server-auth/src/domains/otp/gateways/http/factories/build-rockets-auth-otp-controller.ts +++ b/packages/rockets-server-auth/src/domains/otp/gateways/http/factories/build-rockets-auth-otp-controller.ts @@ -5,6 +5,7 @@ import { Post, Req, UnauthorizedException, + UseGuards, } from '@nestjs/common'; import type { Type } from '@nestjs/common'; import { CommandBus } from '@nestjs/cqrs'; @@ -32,6 +33,7 @@ import { RocketsAuthOtpSendDto } from '../../../infrastructure/dto/rockets-auth- import { RocketsAuthOtpService } from '../../../infrastructure/services/rockets-auth-otp.service'; import type { OtpControllerExtras } from '../../../interfaces/otp-controller-extras.interface'; import { applyControllerExtras } from '../../../../../shared/utils/apply-controller-extras.helper'; +import { AuthAccountThrottlerGuard } from '../../../../auth/gateways/http/guards/auth-account-throttler.guard'; /** Build the OTP controller and apply consumer-supplied decorators. */ export function buildRocketsAuthOtpController( @@ -39,6 +41,7 @@ export function buildRocketsAuthOtpController( ): Type { @Controller('otp') @AuthPublic({ classLevel: true }) + @UseGuards(AuthAccountThrottlerGuard) @ApiTags('Authentication') class RocketsAuthOtpController { constructor( diff --git a/packages/rockets-server-auth/src/domains/user/modules/rockets-auth-signup.module.ts b/packages/rockets-server-auth/src/domains/user/modules/rockets-auth-signup.module.ts index c994215b..5839af3e 100644 --- a/packages/rockets-server-auth/src/domains/user/modules/rockets-auth-signup.module.ts +++ b/packages/rockets-server-auth/src/domains/user/modules/rockets-auth-signup.module.ts @@ -1,10 +1,12 @@ -import { DynamicModule, Module } from '@nestjs/common'; +import { DynamicModule, Module, UseGuards } from '@nestjs/common'; import { Operation } from '@concepta/nestjs-core'; import { CqrsModule } from '@nestjs/cqrs'; import { CrudModule, CrudOperationResolver } from '@concepta/nestjs-crud'; import { AuthPublic } from '@concepta/nestjs-authentication'; import { ApiTags } from '@nestjs/swagger'; +import { AuthAccountThrottlerGuard } from '../../auth/gateways/http/guards/auth-account-throttler.guard'; + import { USER_CRUD_ENTITY_KEY } from '../../../shared/constants/repository-entity-keys.constants'; import { UserCrudOptionsExtrasInterface } from '../../../shared/interfaces/rockets-auth-options-extras.interface'; import { RocketsAuthUserCreateDto } from '../infrastructure/dto/rockets-auth-user-create.dto'; @@ -40,7 +42,13 @@ export class RocketsAuthSignUpModule { resource: ModelDto, }, resolver: CrudOperationResolver, - extraDecorators: [ApiTags('auth')], + // Public account creation: attach the auth throttler guard so the + // per-IP ceiling caps signup volume from one source (account + // rotation cannot escape it). + extraDecorators: [ + ApiTags('auth'), + UseGuards(AuthAccountThrottlerGuard), + ], }, operations: [ { diff --git a/packages/rockets-server-auth/src/rockets-auth.module-definition.ts b/packages/rockets-server-auth/src/rockets-auth.module-definition.ts index 3bf5dd34..f39992aa 100644 --- a/packages/rockets-server-auth/src/rockets-auth.module-definition.ts +++ b/packages/rockets-server-auth/src/rockets-auth.module-definition.ts @@ -12,9 +12,12 @@ import { SwaggerUiModule, } from '@concepta/rockets-core'; import { PassportModule } from '@nestjs/passport'; -import { APP_GUARD, APP_INTERCEPTOR } from '@nestjs/core'; +import { APP_INTERCEPTOR } from '@nestjs/core'; import { CommandBus, CqrsModule, QueryBus } from '@nestjs/cqrs'; -import { ThrottlerGuard, ThrottlerModule } from '@nestjs/throttler'; +import { + ThrottlerModule, + type ThrottlerModuleOptions, +} from '@nestjs/throttler'; import { ConfigModule } from '@nestjs/config'; import { AuthenticationModule, @@ -163,6 +166,43 @@ const ROCKETS_DEFAULT_RECOVERY_SETTINGS: RecoveryPolicySettingsInterface = { const jwtLogger = new Logger('RocketsAuthJwt'); +/** + * Two throttler dimensions on the guarded auth routes, both applied at once: + * + * - `ip` — a coarse per-IP volume ceiling. It is NOT overridden per route, so + * rotating the account field from one source cannot escape it (credential + * stuffing, signup/recovery spam). + * - `default` — fine per-`(ip, account)` limits (via `AuthAccountThrottlerGuard`), + * overridden per route with `@Throttle`. Keying on the pair means an attacker + * only throttles themselves, never locks a victim out of login. + * + * A consumer `throttling` object/array replaces both. `false` disables all + * throttling while still registering the module (the guards resolve statically). + */ +function buildAuthThrottlers( + throttling: false | ThrottlerModuleOptions | undefined, +): ThrottlerModuleOptions { + if (throttling === false) { + return [ + { name: 'ip', limit: 1, ttl: 1000, skipIf: () => true }, + { name: 'default', limit: 1, ttl: 1000, skipIf: () => true }, + ]; + } + if (throttling !== undefined) return throttling; + return [ + // Matches the prior app-wide default (1000/min per IP): a non-regressive + // volume ceiling that account rotation cannot exceed. + { + name: 'ip', + limit: 1000, + ttl: 60000, + getTracker: (req: Record): string => + typeof req.ip === 'string' ? req.ip : 'unknown', + }, + { name: 'default', limit: 1000, ttl: 60000 }, + ]; +} + /** * Resolves the JWT secret for a given role (access / refresh): * 1. Consumer-supplied `settings.jwt..secret` wins. @@ -369,15 +409,11 @@ export function createRocketsAuthImports(importOptions: { RocketsAuthPortsModule.forRoot(importOptions.extras?.ports), ConfigModule.forFeature(rocketsAuthOptionsDefaultConfig), createSafeCrudRootModule(), - ...(importOptions.extras?.throttling === false - ? [] - : [ - ThrottlerModule.forRoot( - importOptions.extras?.throttling ?? [ - { name: 'default', limit: 1000, ttl: 60000 }, - ], - ), - ]), + // Always imported: the auth controllers reference the throttler guard + // statically, so its providers must resolve even when throttling is off. + ThrottlerModule.forRoot( + buildAuthThrottlers(importOptions.extras?.throttling), + ), SwaggerUiModule.registerAsync({ inject: [RAW_OPTIONS_TOKEN], useFactory: (options: RocketsAuthOptionsInterface) => ({ @@ -684,9 +720,5 @@ export function createRocketsAuthProviders(options: { }, ]; - if (options.extras?.throttling !== false) { - providers.push({ provide: APP_GUARD, useClass: ThrottlerGuard }); - } - return providers; } diff --git a/packages/rockets-server-auth/src/shared/interfaces/rockets-auth-options-extras.interface.ts b/packages/rockets-server-auth/src/shared/interfaces/rockets-auth-options-extras.interface.ts index 016d1142..948e4cf8 100644 --- a/packages/rockets-server-auth/src/shared/interfaces/rockets-auth-options-extras.interface.ts +++ b/packages/rockets-server-auth/src/shared/interfaces/rockets-auth-options-extras.interface.ts @@ -208,9 +208,12 @@ export interface RocketsAuthOptionsExtrasInterface }; disableController?: DisableControllerOptionsInterface; /** - * Global request-throttling configuration. Route-specific limits declared by - * Rockets Auth use the `default` throttler. Pass `false` only when the host - * application already owns the global throttler module and guard. + * Request-throttling configuration for the throttler that guards Rockets + * Auth's own public routes (signup, login, recovery, otp, invitation + * acceptance). Rockets Auth scopes the guard to those controllers — it does + * not register an app-wide `APP_GUARD`. Pass `false` to disable Rockets + * Auth's throttling entirely (e.g. the host enforces its own limits + * upstream). */ throttling?: false | ThrottlerModuleOptions; invitation?: { diff --git a/packages/rockets-server/src/rockets.module-definition.spec.ts b/packages/rockets-server/src/rockets.module-definition.spec.ts index 90c55937..89deb53b 100644 --- a/packages/rockets-server/src/rockets.module-definition.spec.ts +++ b/packages/rockets-server/src/rockets.module-definition.spec.ts @@ -54,17 +54,23 @@ const contributedUserMetadata = { } as RocketsUserMetadataConfig; function contributedAuth( - overrides: Record = {}, + overrides: { + identity?: Record; + contributes?: Record; + } = {}, ): AuthBootstrap { return { adapter: ContributedAuthAdapter, - contributes: { + identity: { repository: contributedRepository, resources: [contributedResource], userMetadata: contributedUserMetadata, + ...overrides.identity, + }, + contributes: { enableGlobalGuard: false, providesAppGuard: true, - ...overrides, + ...overrides.contributes, }, } as AuthBootstrap; } @@ -224,26 +230,64 @@ describe('RocketsModuleDefinition', () => { }); describe('resolveRocketsComposition', () => { - it('throws when integrations contribute conflicting userMetadata', () => { - const otherUserMetadata = { - ...contributedUserMetadata, - updateDto: class OtherMetadataUpdateDto extends ContributedMetadataUpdateDto {}, - }; + it('throws when two integrations claim identity ownership', () => { + // Even structurally identical claims are invalid: the chain + // authenticates into ONE user space with ONE persistence owner. + expect(() => + resolveRocketsComposition({ + auth: [contributedAuth(), contributedAuth()], + }), + ).toThrow(/identity ownership/); + }); + + it('throws on sliced identity ownership across integrations', () => { + expect(() => + resolveRocketsComposition({ + auth: [ + contributedAuth({ + identity: { repository: undefined, resources: [] }, + }), + contributedAuth({ + identity: { userMetadata: undefined, resources: [] }, + }), + ], + }), + ).toThrow(/identity ownership/); + }); + + it('accepts one identity owner among credential-only integrations', () => { + const credentialOnly = { + adapter: ContributedAuthAdapter, + } as AuthBootstrap; + + const composition = resolveRocketsComposition({ + auth: [contributedAuth(), credentialOnly], + }); + + expect(composition.userMetadata).toBe(contributedUserMetadata); + expect(composition.repository).toBe(contributedRepository); + }); + it('throws when integrations contribute conflicting guard defaults', () => { expect(() => resolveRocketsComposition({ auth: [ contributedAuth(), - contributedAuth({ userMetadata: otherUserMetadata }), + { + adapter: ContributedAuthAdapter, + contributes: { enableGlobalGuard: true }, + } as AuthBootstrap, ], }), - ).toThrow(/conflicting userMetadata/); + ).toThrow(/conflicting enableGlobalGuard/); }); it('throws when a contribution disables the guard without providing one', () => { expect(() => resolveRocketsComposition({ - auth: contributedAuth({ providesAppGuard: undefined }), + auth: contributedAuth({ + contributes: { providesAppGuard: undefined }, + }), }), ).toThrow(/providesAppGuard/); }); @@ -256,9 +300,58 @@ describe('RocketsModuleDefinition', () => { expect(composition.enableGlobalGuard).toBe(false); }); + it('skips an identity resource the app already lists by reference', () => { + const composition = resolveRocketsComposition({ + auth: contributedAuth(), + resources: [contributedResource], + }); + + expect(composition.resources).toEqual([contributedResource]); + }); + + it('throws when identity and app define the same entity differently', () => { + class SharedEntity {} + const identityResource = { + kind: 'crud', + meta: { entityClass: SharedEntity }, + } as unknown as ResourceInput; + const appResource = { + kind: 'crud', + meta: { entityClass: SharedEntity }, + } as unknown as ResourceInput; + + expect(() => + resolveRocketsComposition({ + auth: contributedAuth({ + identity: { resources: [identityResource] }, + }), + resources: [appResource], + }), + ).toThrow(/SharedEntity/); + }); + + it('strips identity and contributes before handing bootstraps to core', () => { + const forRootAsync = vi + .spyOn(RocketsCoreModule, 'forRootAsync') + .mockReturnValue({ module: RocketsCoreModule }); + + createRocketsImports({ + imports: [], + extras: { auth: contributedAuth() }, + }); + + const coreAuth = forRootAsync.mock.calls[0][0] + .auth as ReadonlyArray; + expect(coreAuth[0].identity).toBeUndefined(); + expect(coreAuth[0].contributes).toBeUndefined(); + forRootAsync.mockRestore(); + }); + it('accepts an explicit app-level opt-out even without a replacement guard', () => { const composition = resolveRocketsComposition({ - auth: contributedAuth({ providesAppGuard: undefined }), + auth: contributedAuth({ + contributes: { providesAppGuard: undefined }, + }), enableGlobalGuard: false, }); diff --git a/packages/rockets-server/src/rockets.module-definition.ts b/packages/rockets-server/src/rockets.module-definition.ts index dea715fb..b2e8e931 100644 --- a/packages/rockets-server/src/rockets.module-definition.ts +++ b/packages/rockets-server/src/rockets.module-definition.ts @@ -2,12 +2,15 @@ import { createSettingsProvider } from '@concepta/nestjs-core'; import { ConfigurableModuleBuilder, DynamicModule, + PlainLiteralObject, Provider, + Type, } from '@nestjs/common'; import { APP_GUARD } from '@nestjs/core'; import type { AuthBootstrap, AuthBootstrapContributions, + AuthBootstrapIdentity, RepositoryBootstrap, RepositoryModuleInterface, ResourceInput, @@ -17,6 +20,8 @@ import { RocketsCoreModule, AuthServerGuard, ROCKETS_CORE_SETTINGS_TOKEN, + isCrudResource, + isModuleResource, } from '@concepta/rockets-core'; import { MeController } from './gateways/http/me.controller'; import { RocketsOptionsInterface } from './infrastructure/config/interfaces/rockets-options.interface'; @@ -56,7 +61,7 @@ export interface ResolvedRocketsComposition { } function resolveSingleContribution< - Key extends Exclude, + Key extends keyof AuthBootstrapContributions, >( bootstraps: ReadonlyArray, key: Key, @@ -82,11 +87,87 @@ function resolveSingleContribution< return first; } +// Composition is the only consumer of identity/contributes; core refuses +// bootstraps that still carry them, so strip before handing down. +function toCoreAuthBootstrap({ + identity: _identity, + contributes: _contributes, + ...bootstrap +}: AuthBootstrap): AuthBootstrap { + return bootstrap; +} + +function resourceEntityClasses( + resource: ResourceInput, +): ReadonlyArray> { + if (isCrudResource(resource)) return [resource.meta.entityClass]; + if (isModuleResource(resource)) { + return resource.entities.map((entry) => entry.entity); + } + return []; +} + +// Same reference twice is idempotent (skip); the same entity defined twice +// with different configs is a mistake — fail naming both sides instead of +// silently picking one and changing behavior. +function mergeIdentityResources( + identityResources: ReadonlyArray, + appResources: ReadonlyArray, +): ReadonlyArray { + const appRefs = new Set(appResources); + const appEntities = new Set(appResources.flatMap(resourceEntityClasses)); + + return identityResources.filter((resource) => { + if (appRefs.has(resource)) return false; + const clash = resourceEntityClasses(resource).find((entity) => + appEntities.has(entity), + ); + if (clash !== undefined) { + throw new Error( + 'RocketsModule: entity "' + + clash.name + + '" is provided by the auth integration (identity.resources) and ' + + 'also listed in resources[] with a different configuration. ' + + 'Remove one of the two definitions.', + ); + } + return true; + }); +} + +// The chain authenticates into ONE user space, so its persistence has ONE +// owner. Sliced ownership (metadata from one package, repository from +// another) or two full owners are both invalid apps, not conflicts to merge. +function resolveIdentityOwner( + bootstraps: ReadonlyArray, +): AuthBootstrapIdentity | undefined { + const owners = bootstraps.filter((bootstrap) => { + const identity = bootstrap.identity; + return ( + identity !== undefined && + (identity.userMetadata !== undefined || + identity.repository !== undefined || + (identity.resources?.length ?? 0) > 0) + ); + }); + if (owners.length > 1) { + throw new Error( + 'RocketsModule: multiple auth integrations claim identity ownership (' + + owners.map((owner) => owner.adapter.name).join(', ') + + '). Exactly one integration may provide identity persistence; set ' + + 'userMetadata/repository/resources explicitly on the module options ' + + 'to take ownership at the app level.', + ); + } + return owners[0]?.identity; +} + /** Resolve explicit app options and integration-owned defaults once. */ export function resolveRocketsComposition( extras: RocketsOptionsExtrasInterface = {}, ): ResolvedRocketsComposition { const auth = normalizeAuthBootstraps(extras.auth); + const identity = resolveIdentityOwner(auth); const enableGlobalGuard = extras.enableGlobalGuard ?? resolveSingleContribution(auth, 'enableGlobalGuard'); @@ -107,16 +188,15 @@ export function resolveRocketsComposition( ); } + const appResources = extras.resources ?? []; return { auth, resources: [ - ...auth.flatMap((bootstrap) => bootstrap.contributes?.resources ?? []), - ...(extras.resources ?? []), + ...mergeIdentityResources(identity?.resources ?? [], appResources), + ...appResources, ], - userMetadata: - extras.userMetadata ?? resolveSingleContribution(auth, 'userMetadata'), - repository: - extras.repository ?? resolveSingleContribution(auth, 'repository'), + userMetadata: extras.userMetadata ?? identity?.userMetadata, + repository: extras.repository ?? identity?.repository, enableGlobalGuard, }; } @@ -181,7 +261,7 @@ export function createRocketsImports(options: { useFactory: (opts: RocketsOptionsInterface) => ({ swagger: opts.swagger, }), - auth: composition.auth, + auth: composition.auth.map(toCoreAuthBootstrap), userMetadata: composition.userMetadata, repository: composition.repository, resources: composition.resources, diff --git a/scripts/run-emulator-suite.mjs b/scripts/run-emulator-suite.mjs new file mode 100644 index 00000000..f3d038f0 --- /dev/null +++ b/scripts/run-emulator-suite.mjs @@ -0,0 +1,30 @@ +import { spawnSync } from 'node:child_process'; + +// Local opt-out for machines without Java 21; CI never skips. +if (process.env.SKIP_EMULATOR && !process.env.CI) { + console.warn( + '!! Firestore emulator suite SKIPPED (SKIP_EMULATOR is set). ' + + 'CI always runs it; unset SKIP_EMULATOR to run locally.', + ); + process.exit(0); +} + +// firebase-tools is intentionally not a workspace dependency — the pinned +// npx invocation is the single place that names its version. +const result = spawnSync( + 'npx', + [ + '--yes', + 'firebase-tools@15.15.0', + 'emulators:exec', + '--only', + 'firestore', + '--project', + 'demo-rockets', + '--config', + 'firebase.json', + './node_modules/.bin/vitest run --config vitest.firestore.config.mts', + ], + { stdio: 'inherit' }, +); +process.exit(result.status ?? 1); diff --git a/scripts/verify-package-artifacts.mjs b/scripts/verify-package-artifacts.mjs index 78cdc07b..4810b9c6 100644 --- a/scripts/verify-package-artifacts.mjs +++ b/scripts/verify-package-artifacts.mjs @@ -1,3 +1,4 @@ +import { execFileSync } from 'node:child_process'; import { existsSync, readFileSync, readdirSync } from 'node:fs'; import { dirname, join, resolve } from 'node:path'; import { fileURLToPath } from 'node:url'; @@ -11,23 +12,47 @@ function fail(packageName, message) { failures.push(`${packageName}: ${message}`); } -function checkTarget(packageName, packageRoot, label, target) { - if (target.includes('/src/') || target.startsWith('./src/')) { +// The packed tarball is the only truth about what npm consumers receive. +// `--ignore-scripts` skips each package's prepack (clean + full rebuild); +// the release chain builds before this script runs. +function packedFilePaths(packageRoot) { + const stdout = execFileSync( + 'npm', + ['pack', '--dry-run', '--json', '--ignore-scripts'], + { cwd: packageRoot, encoding: 'utf8', maxBuffer: 16 * 1024 * 1024 }, + ); + const [report] = JSON.parse(stdout); + return new Set(report.files.map((file) => file.path)); +} + +function checkTarget(packageName, packedFiles, label, target) { + if (typeof target !== 'string') return; + const normalized = target.replace(/^\.\//, ''); + // npm pack always includes the `main`/`browser` file, even from src/ — + // tarball membership alone cannot catch a source entry point. + if (normalized.startsWith('src/') || normalized.includes('/src/')) { fail(packageName, `${label} points at unpublished source: ${target}`); return; } - - const artifact = resolve(packageRoot, target); - if (!existsSync(artifact)) { - fail(packageName, `${label} target does not exist: ${target}`); + if (!packedFiles.has(normalized)) { + fail(packageName, `${label} target is not in the packed tarball: ${target}`); return; } checkedArtifacts += 1; } -function walkExportTargets(packageName, packageRoot, label, value) { +function tarballIncludes(packedFiles, entry) { + if (packedFiles.has(entry)) return true; + const prefix = entry.endsWith('/') ? entry : `${entry}/`; + for (const path of packedFiles) { + if (path.startsWith(prefix)) return true; + } + return false; +} + +function walkExportTargets(packageName, packedFiles, label, value) { if (typeof value === 'string') { - checkTarget(packageName, packageRoot, label, value); + checkTarget(packageName, packedFiles, label, value); return; } if (value === null || typeof value !== 'object') return; @@ -35,7 +60,7 @@ function walkExportTargets(packageName, packageRoot, label, value) { for (const [condition, target] of Object.entries(value)) { walkExportTargets( packageName, - packageRoot, + packedFiles, `${label}.${condition}`, target, ); @@ -62,32 +87,46 @@ for (const directory of readdirSync(packagesRoot, { withFileTypes: true })) { fail(manifest.name, 'publishConfig.access must be public'); } + let packedFiles; + try { + packedFiles = packedFilePaths(packageRoot); + } catch (error) { + fail(manifest.name, `npm pack --dry-run failed: ${error.message}`); + continue; + } + for (const entry of manifest.files ?? []) { if (typeof entry !== 'string' || /[*?!{[]/.test(entry)) continue; - checkTarget(manifest.name, packageRoot, 'files', entry); + if (!tarballIncludes(packedFiles, entry)) { + fail(manifest.name, `files entry produced no packed artifacts: ${entry}`); + continue; + } + checkedArtifacts += 1; } if (typeof manifest.main === 'string') { - checkTarget(manifest.name, packageRoot, 'main', manifest.main); + checkTarget(manifest.name, packedFiles, 'main', manifest.main); } else { fail(manifest.name, 'main is not declared'); } if (typeof manifest.types === 'string') { - checkTarget(manifest.name, packageRoot, 'types', manifest.types); + checkTarget(manifest.name, packedFiles, 'types', manifest.types); } else { fail(manifest.name, 'types is not declared'); } - walkExportTargets(manifest.name, packageRoot, 'exports', manifest.exports); + walkExportTargets(manifest.name, packedFiles, 'exports', manifest.exports); const bins = typeof manifest.bin === 'string' ? { [manifest.name]: manifest.bin } : (manifest.bin ?? {}); for (const [name, target] of Object.entries(bins)) { - checkTarget(manifest.name, packageRoot, `bin.${name}`, target); + checkTarget(manifest.name, packedFiles, `bin.${name}`, target); if (typeof target !== 'string') continue; - const contents = readFileSync(resolve(packageRoot, target), 'utf8'); + const binPath = resolve(packageRoot, target); + if (!existsSync(binPath)) continue; + const contents = readFileSync(binPath, 'utf8'); if (contents.includes('ts-node/register') || contents.includes('../src/')) { fail(manifest.name, `bin.${name} depends on unpublished TypeScript source`); } @@ -99,5 +138,7 @@ if (failures.length > 0) { for (const failure of failures) console.error(`- ${failure}`); process.exitCode = 1; } else { - console.log(`Verified ${checkedArtifacts} public package artifact targets.`); + console.log( + `Verified ${checkedArtifacts} public package targets against packed tarballs.`, + ); } diff --git a/yarn.lock b/yarn.lock index 94585df8..3c003e7d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -50,48 +50,6 @@ __metadata: languageName: node linkType: hard -"@apidevtools/json-schema-ref-parser@npm:^9.0.3": - version: 9.1.2 - resolution: "@apidevtools/json-schema-ref-parser@npm:9.1.2" - dependencies: - "@jsdevtools/ono": "npm:^7.1.3" - "@types/json-schema": "npm:^7.0.6" - call-me-maybe: "npm:^1.0.1" - js-yaml: "npm:^4.1.0" - checksum: 10c0/ebf952eb2e00bf0919f024e72897e047fd5012f0a9e47ac361873f6de0a733b9334513cdbc73205a6b43ac4a652b8c87f55e489c39b2d60bd0bc1cb2b411e218 - languageName: node - linkType: hard - -"@apphosting/build@npm:^0.1.7": - version: 0.1.7 - resolution: "@apphosting/build@npm:0.1.7" - dependencies: - "@apphosting/common": "npm:^0.0.9" - "@npmcli/promise-spawn": "npm:^3.0.0" - colorette: "npm:^2.0.20" - commander: "npm:^11.1.0" - npm-pick-manifest: "npm:^9.0.0" - ts-node: "npm:^10.9.1" - bin: - apphosting-local-build: dist/bin/localbuild.js - checksum: 10c0/f4b23c5c4005eb3b2c655fb9c9dc67782935eb2b65c09217f0942e3dcd62bf0f520de6c53216984277bf572c9d49d99a938eb4418d3ade35385eca62b9e571e1 - languageName: node - linkType: hard - -"@apphosting/common@npm:^0.0.8": - version: 0.0.8 - resolution: "@apphosting/common@npm:0.0.8" - checksum: 10c0/8f0b63c18f181575594858d9125a50ff2c3a0523dc98a14d2834ee164634613c98c42c62a6202cc1215a1143ec07b4e5e8c67844f6bf20d35d8af5f22358bb85 - languageName: node - linkType: hard - -"@apphosting/common@npm:^0.0.9": - version: 0.0.9 - resolution: "@apphosting/common@npm:0.0.9" - checksum: 10c0/a0a148170b92a1d9037db3027b2ae5231458cc5bf3b861bdb4c10c116a2ddc8651f8056fc1aa8f23077691654825ea3cae90d548584923eb3584a5ac4df5ecb3 - languageName: node - linkType: hard - "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.28.6, @babel/code-frame@npm:^7.29.0": version: 7.29.0 resolution: "@babel/code-frame@npm:7.29.0" @@ -352,13 +310,6 @@ __metadata: languageName: node linkType: hard -"@colors/colors@npm:1.6.0, @colors/colors@npm:^1.6.0": - version: 1.6.0 - resolution: "@colors/colors@npm:1.6.0" - checksum: 10c0/9328a0778a5b0db243af54455b79a69e3fb21122d6c15ef9e9fcc94881d8d17352d8b2b2590f9bdd46fac5c2d6c1636dcfc14358a20c70e22daf89e1a759b629 - languageName: node - linkType: hard - "@commitlint/cli@npm:^19.4.0": version: 19.8.1 resolution: "@commitlint/cli@npm:19.8.1" @@ -1103,17 +1054,6 @@ __metadata: languageName: node linkType: hard -"@dabh/diagnostics@npm:^2.0.8": - version: 2.0.8 - resolution: "@dabh/diagnostics@npm:2.0.8" - dependencies: - "@so-ric/colorspace": "npm:^1.1.6" - enabled: "npm:2.0.x" - kuler: "npm:^2.0.0" - checksum: 10c0/64701c272f7de02800039fea99796507670fe5f67d4eb7718599351ec156936efd123fcab7ee18f9d7874939caaacc08e7c7a6bb05ff8cda6d930ad041cc555c - languageName: node - linkType: hard - "@darraghor/eslint-plugin-nestjs-typed@npm:^3.22.6": version: 3.22.6 resolution: "@darraghor/eslint-plugin-nestjs-typed@npm:3.22.6" @@ -1130,22 +1070,6 @@ __metadata: languageName: node linkType: hard -"@electric-sql/pglite-tools@npm:^0.2.8": - version: 0.2.21 - resolution: "@electric-sql/pglite-tools@npm:0.2.21" - peerDependencies: - "@electric-sql/pglite": 0.3.16 - checksum: 10c0/298779988f4485d3ed52ce0739cfe4888e69307e2c82b987074966ade6f7a7a8896242a2007b37ed09872ede6701b66d942e98c571181922c129b18977f817ab - languageName: node - linkType: hard - -"@electric-sql/pglite@npm:^0.3.3": - version: 0.3.16 - resolution: "@electric-sql/pglite@npm:0.3.16" - checksum: 10c0/fba05c2f8d225dc19b6582005b06ba1ae806549fea6b88404b0cbc6ee776ae9976f323130f03c5e74baeedf58d3566fd97a521cd7ed26a9f5c524c86c3123e1f - languageName: node - linkType: hard - "@emnapi/core@npm:^1.10.0": version: 1.10.0 resolution: "@emnapi/core@npm:1.10.0" @@ -2119,18 +2043,6 @@ __metadata: languageName: node linkType: hard -"@google-cloud/cloud-sql-connector@npm:^1.3.3": - version: 1.11.3 - resolution: "@google-cloud/cloud-sql-connector@npm:1.11.3" - dependencies: - "@googleapis/sqladmin": "npm:^37.0.0" - gaxios: "npm:^7.1.4" - google-auth-library: "npm:^10.6.2" - p-throttle: "npm:^8.1.0" - checksum: 10c0/f97266705d5519a1d6052b1f11761c17b759e102f40e9888c483990e0012c7a1d2c519bfb82eccacd7353994c56d947a72e343101003d71ee08c15cd8ba8a6c4 - languageName: node - linkType: hard - "@google-cloud/firestore@npm:^7.11.0, @google-cloud/firestore@npm:^7.7.0": version: 7.11.6 resolution: "@google-cloud/firestore@npm:7.11.6" @@ -2154,22 +2066,6 @@ __metadata: languageName: node linkType: hard -"@google-cloud/paginator@npm:^6.0.0": - version: 6.1.0 - resolution: "@google-cloud/paginator@npm:6.1.0" - dependencies: - extend: "npm:^3.0.2" - checksum: 10c0/0b16cd5a8f13290bebde960aed43f1eaadc6817b52d4ee57cbcafdfd567863d1c8f63e5f93c30cf3871bc71aa24e041f1903b1de014deeb35b341f364955ac8c - languageName: node - linkType: hard - -"@google-cloud/precise-date@npm:^5.0.0": - version: 5.2.0 - resolution: "@google-cloud/precise-date@npm:5.2.0" - checksum: 10c0/c61912caa220b4487d7b0863bbce296f8ee42c84b10ec8aa4d1faef648d2b32ea790bc8408d59841b530194b64f3f48d0ae143007852beea57a3fd9eb74517ad - languageName: node - linkType: hard - "@google-cloud/projectify@npm:^4.0.0": version: 4.0.0 resolution: "@google-cloud/projectify@npm:4.0.0" @@ -2177,13 +2073,6 @@ __metadata: languageName: node linkType: hard -"@google-cloud/projectify@npm:^5.0.0": - version: 5.2.0 - resolution: "@google-cloud/projectify@npm:5.2.0" - checksum: 10c0/77fa431a8b68ba88e5ce17e5d50a5db99b1d6b1b26c9f83196038c39ba8d35aad0dcf6788d78ef1bba6cb802c37ecbec83c2a2151ab5687c491a485c54f85674 - languageName: node - linkType: hard - "@google-cloud/promisify@npm:<4.1.0": version: 4.0.0 resolution: "@google-cloud/promisify@npm:4.0.0" @@ -2191,38 +2080,6 @@ __metadata: languageName: node linkType: hard -"@google-cloud/promisify@npm:^5.0.0": - version: 5.1.0 - resolution: "@google-cloud/promisify@npm:5.1.0" - checksum: 10c0/ed60e724efcd47e35c2a47dd226ea9791b0afcedd963a70f0ac072bbd9e82b72fd06e528242fd505d2de9743178aca76e11e2bea42bd435b020fa8d0f44ee5c2 - languageName: node - linkType: hard - -"@google-cloud/pubsub@npm:^5.2.0": - version: 5.3.1 - resolution: "@google-cloud/pubsub@npm:5.3.1" - dependencies: - "@google-cloud/paginator": "npm:^6.0.0" - "@google-cloud/precise-date": "npm:^5.0.0" - "@google-cloud/projectify": "npm:^5.0.0" - "@google-cloud/promisify": "npm:^5.0.0" - "@opentelemetry/api": "npm:~1.9.0" - "@opentelemetry/core": "npm:^1.30.1" - "@opentelemetry/semantic-conventions": "npm:~1.39.0" - arrify: "npm:^2.0.0" - extend: "npm:^3.0.2" - google-auth-library: "npm:^10.5.0" - google-gax: "npm:^5.0.5" - google-logging-utils: "npm:^1.1.3" - heap-js: "npm:^2.6.0" - is-stream-ended: "npm:^0.1.4" - lodash.snakecase: "npm:^4.1.1" - long: "npm:^5.3.1" - p-defer: "npm:^3.0.0" - checksum: 10c0/79df3a75c950e93d3ce344d27300dd63fe92d8eff43bbe8e54b6b3c10ec0830ca8e13517035754e5d42ab72d98d70cdb2498ebbbbd7303851f7ee58f2ba951e0 - languageName: node - linkType: hard - "@google-cloud/storage@npm:^7.19.0, @google-cloud/storage@npm:^7.7.0": version: 7.19.0 resolution: "@google-cloud/storage@npm:7.19.0" @@ -2246,15 +2103,6 @@ __metadata: languageName: node linkType: hard -"@googleapis/sqladmin@npm:^37.0.0": - version: 37.0.0 - resolution: "@googleapis/sqladmin@npm:37.0.0" - dependencies: - googleapis-common: "npm:^8.0.0" - checksum: 10c0/60b2521d24c9e2fc45db65cf8f33b08d8c024dddde188549d96d23ce3955e85c74348074f1ea191de89b3c7ac789e59c0cf8b4c0cc77a72892479b675d6cb458 - languageName: node - linkType: hard - "@grpc/grpc-js@npm:^1.10.9": version: 1.14.3 resolution: "@grpc/grpc-js@npm:1.14.3" @@ -2265,16 +2113,6 @@ __metadata: languageName: node linkType: hard -"@grpc/grpc-js@npm:^1.12.6": - version: 1.14.4 - resolution: "@grpc/grpc-js@npm:1.14.4" - dependencies: - "@grpc/proto-loader": "npm:^0.8.0" - "@js-sdsl/ordered-map": "npm:^4.4.2" - checksum: 10c0/0ff6395e8112ad30e8f99dbb684b997ebc3264e770b8e354f23effeedf181a380e0ecef8bca466cbbf3e9141968656144851de1da50f840a1efd9314c9812449 - languageName: node - linkType: hard - "@grpc/grpc-js@npm:~1.9.0": version: 1.9.15 resolution: "@grpc/grpc-js@npm:1.9.15" @@ -2313,15 +2151,6 @@ __metadata: languageName: node linkType: hard -"@hono/node-server@npm:^1.19.9 || ^2.0.5": - version: 2.1.0 - resolution: "@hono/node-server@npm:2.1.0" - peerDependencies: - hono: ^4 - checksum: 10c0/907aa2cabb804cf6f9c6bc329a898803b0794992d1c2d1bea7e4ae803f5d205fd2733d684c9c87b28338964dc437341e3bee1544b4d504a6b19f9e65ba28b198 - languageName: node - linkType: hard - "@humanwhocodes/config-array@npm:^0.13.0": version: 0.13.0 resolution: "@humanwhocodes/config-array@npm:0.13.0" @@ -2666,7 +2495,7 @@ __metadata: languageName: node linkType: hard -"@inquirer/prompts@npm:7.10.1, @inquirer/prompts@npm:^7.10.1": +"@inquirer/prompts@npm:7.10.1": version: 7.10.1 resolution: "@inquirer/prompts@npm:7.10.1" dependencies: @@ -2926,13 +2755,6 @@ __metadata: languageName: node linkType: hard -"@jsdevtools/ono@npm:^7.1.3": - version: 7.1.3 - resolution: "@jsdevtools/ono@npm:7.1.3" - checksum: 10c0/a9f7e3e8e3bc315a34959934a5e2f874c423cf4eae64377d3fc9de0400ed9f36cb5fd5ebce3300d2e8f4085f557c4a8b591427a583729a87841fda46e6c216b9 - languageName: node - linkType: hard - "@lukeed/csprng@npm:^1.0.0": version: 1.1.0 resolution: "@lukeed/csprng@npm:1.1.0" @@ -2985,39 +2807,6 @@ __metadata: languageName: node linkType: hard -"@modelcontextprotocol/sdk@npm:^1.24.0": - version: 1.30.0 - resolution: "@modelcontextprotocol/sdk@npm:1.30.0" - dependencies: - "@hono/node-server": "npm:^1.19.9 || ^2.0.5" - ajv: "npm:^8.17.1" - ajv-formats: "npm:^3.0.1" - content-type: "npm:^1.0.5" - cors: "npm:^2.8.5" - cross-spawn: "npm:^7.0.5" - eventsource: "npm:^3.0.2" - eventsource-parser: "npm:^3.0.0" - express: "npm:^5.2.1" - express-rate-limit: "npm:^8.2.1" - hono: "npm:^4.11.4" - jose: "npm:^6.1.3" - json-schema-typed: "npm:^8.0.2" - pkce-challenge: "npm:^5.0.0" - raw-body: "npm:^3.0.0" - zod: "npm:^3.25 || ^4.0" - zod-to-json-schema: "npm:^3.25.1" - peerDependencies: - "@cfworker/json-schema": ^4.1.1 - zod: ^3.25 || ^4.0 - peerDependenciesMeta: - "@cfworker/json-schema": - optional: true - zod: - optional: false - checksum: 10c0/6d12d5c88048b42b0d64906222f804eecbfc0aae02fc42a200d2438f037276cc7863510a8ce649e82c96d5972f62a58bfbdedf79624b0558a607738f5e58b97e - languageName: node - linkType: hard - "@napi-rs/wasm-runtime@npm:^1.1.4": version: 1.1.4 resolution: "@napi-rs/wasm-runtime@npm:1.1.4" @@ -3386,15 +3175,6 @@ __metadata: languageName: node linkType: hard -"@npmcli/promise-spawn@npm:^3.0.0": - version: 3.0.0 - resolution: "@npmcli/promise-spawn@npm:3.0.0" - dependencies: - infer-owner: "npm:^1.0.4" - checksum: 10c0/934225972d7b3e456e76b2eae40b3ece2478a361d99aa56c79f65ef7c66aa83cd55330ee44daf43174b76649b25d722b9f85120a4591cac53d884423f315465c - languageName: node - linkType: hard - "@nuxt/opencollective@npm:0.4.1": version: 0.4.1 resolution: "@nuxt/opencollective@npm:0.4.1" @@ -3406,38 +3186,13 @@ __metadata: languageName: node linkType: hard -"@opentelemetry/api@npm:^1.3.0, @opentelemetry/api@npm:~1.9.0": +"@opentelemetry/api@npm:^1.3.0": version: 1.9.1 resolution: "@opentelemetry/api@npm:1.9.1" checksum: 10c0/c608485fc8b5a91e1f7e05e843b45b509307456b31cd2ad365933d90813e40ebfedf179f1451c762037e82d7c76aa8500e95d2da3609f640a1206cde5322cd14 languageName: node linkType: hard -"@opentelemetry/core@npm:^1.30.1": - version: 1.30.1 - resolution: "@opentelemetry/core@npm:1.30.1" - dependencies: - "@opentelemetry/semantic-conventions": "npm:1.28.0" - peerDependencies: - "@opentelemetry/api": ">=1.0.0 <1.10.0" - checksum: 10c0/4c25ba50a6137c2ba9ca563fb269378f3c9ca6fd1b3f15dbb6eff78eebf5656f281997cbb7be8e51c01649fd6ad091083fcd8a42dd9b5dfac907dc06d7cfa092 - languageName: node - linkType: hard - -"@opentelemetry/semantic-conventions@npm:1.28.0": - version: 1.28.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.28.0" - checksum: 10c0/deb8a0f744198071e70fea27143cf7c9f7ecb7e4d7b619488c917834ea09b31543c1c2bcea4ec5f3cf68797f0ef3549609c14e859013d9376400ac1499c2b9cb - languageName: node - linkType: hard - -"@opentelemetry/semantic-conventions@npm:~1.39.0": - version: 1.39.0 - resolution: "@opentelemetry/semantic-conventions@npm:1.39.0" - checksum: 10c0/1a8cc16e83ccd80aeb910e78146e8cde8482ac45feb3693348eec5983d8ad254f977f2b61db76f043ab0fa6009a27df610a9cff286a217d6cd4c114216861d0f - languageName: node - linkType: hard - "@oxc-project/types@npm:=0.143.0": version: 0.143.0 resolution: "@oxc-project/types@npm:0.143.0" @@ -3479,33 +3234,6 @@ __metadata: languageName: node linkType: hard -"@pnpm/config.env-replace@npm:^1.1.0": - version: 1.1.0 - resolution: "@pnpm/config.env-replace@npm:1.1.0" - checksum: 10c0/4cfc4a5c49ab3d0c6a1f196cfd4146374768b0243d441c7de8fa7bd28eaab6290f514b98490472cc65dbd080d34369447b3e9302585e1d5c099befd7c8b5e55f - languageName: node - linkType: hard - -"@pnpm/network.ca-file@npm:^1.0.1": - version: 1.0.2 - resolution: "@pnpm/network.ca-file@npm:1.0.2" - dependencies: - graceful-fs: "npm:4.2.10" - checksum: 10c0/95f6e0e38d047aca3283550719155ce7304ac00d98911e4ab026daedaf640a63bd83e3d13e17c623fa41ac72f3801382ba21260bcce431c14fbbc06430ecb776 - languageName: node - linkType: hard - -"@pnpm/npm-conf@npm:^3.0.2": - version: 3.0.3 - resolution: "@pnpm/npm-conf@npm:3.0.3" - dependencies: - "@pnpm/config.env-replace": "npm:^1.1.0" - "@pnpm/network.ca-file": "npm:^1.0.1" - config-chain: "npm:^1.1.11" - checksum: 10c0/74a276b4acf609edd60300afef3e5c632ecf9f3e9b9da486314edd0478964815f4a03e9c9b1e0cb1f38e2acfef07e5c2d3211527b8f97a0c44cbb040f2755e5c - languageName: node - linkType: hard - "@protobufjs/aspromise@npm:^1.1.1, @protobufjs/aspromise@npm:^1.1.2": version: 1.1.2 resolution: "@protobufjs/aspromise@npm:1.1.2" @@ -3534,13 +3262,6 @@ __metadata: languageName: node linkType: hard -"@protobufjs/eventemitter@npm:^1.1.1": - version: 1.1.1 - resolution: "@protobufjs/eventemitter@npm:1.1.1" - checksum: 10c0/8e06193d4629c5e7c09d4f8c2ddba8fc4dfa739f0149f33a1d901568d35bb7b8b5277a4e8452baf3bdd0b302fd599cf255d193267aa93a0a4747e23cd073c4ac - languageName: node - linkType: hard - "@protobufjs/fetch@npm:^1.1.1": version: 1.1.1 resolution: "@protobufjs/fetch@npm:1.1.1" @@ -3916,16 +3637,6 @@ __metadata: languageName: node linkType: hard -"@so-ric/colorspace@npm:^1.1.6": - version: 1.1.6 - resolution: "@so-ric/colorspace@npm:1.1.6" - dependencies: - color: "npm:^5.0.2" - text-hex: "npm:1.0.x" - checksum: 10c0/f3ad26afefbb8d6101ea7c385cd5f402d4291c2ffc9cabe37030d5fdb8bda980ee534a0d7c250f8233fc3a59b99272410177cd98b219f6b3770f91a0fdb6eb3e - languageName: node - linkType: hard - "@sqltools/formatter@npm:^1.2.5": version: 1.2.5 resolution: "@sqltools/formatter@npm:1.2.5" @@ -4287,13 +3998,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/quickjs-emscripten@npm:^0.23.0": - version: 0.23.0 - resolution: "@tootallnate/quickjs-emscripten@npm:0.23.0" - checksum: 10c0/2a939b781826fb5fd3edd0f2ec3b321d259d760464cf20611c9877205aaca3ccc0b7304dea68416baa0d568e82cd86b17d29548d1e5139fa3155a4a86a2b4b49 - languageName: node - linkType: hard - "@tsconfig/node10@npm:^1.0.7": version: 1.0.12 resolution: "@tsconfig/node10@npm:1.0.12" @@ -4506,7 +4210,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db @@ -4786,13 +4490,6 @@ __metadata: languageName: node linkType: hard -"@types/triple-beam@npm:^1.3.2": - version: 1.3.5 - resolution: "@types/triple-beam@npm:1.3.5" - checksum: 10c0/d5d7f25da612f6d79266f4f1bb9c1ef8f1684e9f60abab251e1261170631062b656ba26ff22631f2760caeafd372abc41e64867cde27fba54fafb73a35b9056a - languageName: node - linkType: hard - "@types/validator@npm:^13.15.3": version: 13.15.10 resolution: "@types/validator@npm:13.15.10" @@ -5254,13 +4951,6 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^5.0.0": - version: 5.0.0 - resolution: "abbrev@npm:5.0.0" - checksum: 10c0/8e88f5c798ea4562d28c5a3e9ad69e3879890bc5d695d8f2dffb8609be4c890aacc8f80ef4553fdd2c6a62d70c2ce8bc57b38074e383beb7487bdafa9ed42ea5 - languageName: node - linkType: hard - "abort-controller@npm:^3.0.0": version: 3.0.0 resolution: "abort-controller@npm:3.0.0" @@ -5280,16 +4970,6 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.8": - version: 1.3.8 - resolution: "accepts@npm:1.3.8" - dependencies: - mime-types: "npm:~2.1.34" - negotiator: "npm:0.6.3" - checksum: 10c0/3a35c5f5586cfb9a21163ca47a5f77ac34fa8ceb5d17d2fa2c0d81f41cbd7f8c6fa52c77e2c039acc0f4d09e71abdc51144246900f6bef5e3c4b333f77d89362 - languageName: node - linkType: hard - "accesscontrol@npm:^2.2.1": version: 2.2.1 resolution: "accesscontrol@npm:2.2.1" @@ -5361,7 +5041,7 @@ __metadata: languageName: node linkType: hard -"ajv-formats@npm:3.0.1, ajv-formats@npm:^3.0.1": +"ajv-formats@npm:3.0.1": version: 3.0.1 resolution: "ajv-formats@npm:3.0.1" dependencies: @@ -5375,20 +5055,6 @@ __metadata: languageName: node linkType: hard -"ajv-formats@npm:^2.1.0": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: "npm:^8.0.0" - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 - languageName: node - linkType: hard - "ajv@npm:8.18.0, ajv@npm:^8.0.0, ajv@npm:^8.11.0": version: 8.18.0 resolution: "ajv@npm:8.18.0" @@ -5413,18 +5079,6 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^8.17.1, ajv@npm:^8.3.0": - version: 8.20.0 - resolution: "ajv@npm:8.20.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^3.0.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - checksum: 10c0/5df9a1c8f83863cde1bd3a9ddb426f599718f88e3dc9153616c79fb28e0be455335830d7f21d745576519f057b371352daa31047b6a33d7036fe08777d60cf2a - languageName: node - linkType: hard - "ajv@npm:~8.12.0": version: 8.12.0 resolution: "ajv@npm:8.12.0" @@ -5437,24 +5091,6 @@ __metadata: languageName: node linkType: hard -"ansi-align@npm:^3.0.0": - version: 3.0.1 - resolution: "ansi-align@npm:3.0.1" - dependencies: - string-width: "npm:^4.1.0" - checksum: 10c0/ad8b755a253a1bc8234eb341e0cec68a857ab18bf97ba2bda529e86f6e30460416523e0ec58c32e5c21f0ca470d779503244892873a5895dbd0c39c788e82467 - languageName: node - linkType: hard - -"ansi-escapes@npm:^7.0.0": - version: 7.3.0 - resolution: "ansi-escapes@npm:7.3.0" - dependencies: - environment: "npm:^1.0.0" - checksum: 10c0/068961d99f0ef28b661a4a9f84a5d645df93ccf3b9b93816cc7d46bbe1913321d4cdf156bb842a4e1e4583b7375c631fa963efb43001c4eb7ff9ab8f78fc0679 - languageName: node - linkType: hard - "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -5462,7 +5098,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^6.0.1, ansi-regex@npm:^6.1.0, ansi-regex@npm:^6.2.2": +"ansi-regex@npm:^6.0.1, ansi-regex@npm:^6.2.2": version: 6.2.2 resolution: "ansi-regex@npm:6.2.2" checksum: 10c0/05d4acb1d2f59ab2cf4b794339c7b168890d44dda4bf0ce01152a8da0213aca207802f930442ce8cd22d7a92f44907664aac6508904e75e038fa944d2601b30f @@ -5506,23 +5142,6 @@ __metadata: languageName: node linkType: hard -"any-promise@npm:^1.0.0": - version: 1.3.0 - resolution: "any-promise@npm:1.3.0" - checksum: 10c0/60f0298ed34c74fef50daab88e8dab786036ed5a7fad02e012ab57e376e0a0b4b29e83b95ea9b5e7d89df762f5f25119b83e00706ecaccb22cfbacee98d74889 - languageName: node - linkType: hard - -"anymatch@npm:~3.1.2": - version: 3.1.3 - resolution: "anymatch@npm:3.1.3" - dependencies: - normalize-path: "npm:^3.0.0" - picomatch: "npm:^2.0.4" - checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac - languageName: node - linkType: hard - "api@workspace:examples/sample-code-review/apps/api": version: 0.0.0-use.local resolution: "api@workspace:examples/sample-code-review/apps/api" @@ -5585,36 +5204,6 @@ __metadata: languageName: node linkType: hard -"archiver-utils@npm:^5.0.0, archiver-utils@npm:^5.0.2": - version: 5.0.2 - resolution: "archiver-utils@npm:5.0.2" - dependencies: - glob: "npm:^10.0.0" - graceful-fs: "npm:^4.2.0" - is-stream: "npm:^2.0.1" - lazystream: "npm:^1.0.0" - lodash: "npm:^4.17.15" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^4.0.0" - checksum: 10c0/3782c5fa9922186aa1a8e41ed0c2867569faa5f15c8e5e6418ea4c1b730b476e21bd68270b3ea457daf459ae23aaea070b2b9f90cf90a59def8dc79b9e4ef538 - languageName: node - linkType: hard - -"archiver@npm:^7.0.0": - version: 7.0.1 - resolution: "archiver@npm:7.0.1" - dependencies: - archiver-utils: "npm:^5.0.2" - async: "npm:^3.2.4" - buffer-crc32: "npm:^1.0.0" - readable-stream: "npm:^4.0.0" - readdir-glob: "npm:^1.1.2" - tar-stream: "npm:^3.0.0" - zip-stream: "npm:^6.0.1" - checksum: 10c0/02afd87ca16f6184f752db8e26884e6eff911c476812a0e7f7b26c4beb09f06119807f388a8e26ed2558aa8ba9db28646ebd147a4f99e46813b8b43158e1438e - languageName: node - linkType: hard - "are-docs-informative@npm:^0.0.2": version: 0.0.2 resolution: "are-docs-informative@npm:0.0.2" @@ -5666,13 +5255,6 @@ __metadata: languageName: node linkType: hard -"array-flatten@npm:1.1.1": - version: 1.1.1 - resolution: "array-flatten@npm:1.1.1" - checksum: 10c0/806966c8abb2f858b08f5324d9d18d7737480610f3bd5d3498aaae6eb5efdc501a884ba019c9b4a8f02ff67002058749d05548fd42fa8643f02c9c7f22198b91 - languageName: node - linkType: hard - "array-ify@npm:^1.0.0": version: 1.0.0 resolution: "array-ify@npm:1.0.0" @@ -5771,13 +5353,6 @@ __metadata: languageName: node linkType: hard -"as-array@npm:^2.0.0": - version: 2.0.0 - resolution: "as-array@npm:2.0.0" - checksum: 10c0/8f7583187d401a6958452acc324104241ad11c385d9f1a995c769f0d3eab6e32277b5a37c3192d490b0729d9cfeb2f35e94efa6ba90dc7178f4c21d0cfede5c1 - languageName: node - linkType: hard - "asap@npm:^2.0.0": version: 2.0.6 resolution: "asap@npm:2.0.6" @@ -5792,15 +5367,6 @@ __metadata: languageName: node linkType: hard -"ast-types@npm:^0.13.4": - version: 0.13.4 - resolution: "ast-types@npm:0.13.4" - dependencies: - tslib: "npm:^2.0.1" - checksum: 10c0/3a1a409764faa1471601a0ad01b3aa699292991aa9c8a30c7717002cabdf5d98008e7b53ae61f6e058f757fc6ba965e147967a93c13e62692c907d79cfb245f8 - languageName: node - linkType: hard - "ast-v8-to-istanbul@npm:^1.0.0": version: 1.0.5 resolution: "ast-v8-to-istanbul@npm:1.0.5" @@ -5826,13 +5392,6 @@ __metadata: languageName: node linkType: hard -"async-lock@npm:1.4.1": - version: 1.4.1 - resolution: "async-lock@npm:1.4.1" - checksum: 10c0/f696991c7d894af1dc91abc81cc4f14b3785190a35afb1646d8ab91138238d55cabd83bfdd56c42663a008d72b3dc39493ff83797e550effc577d1ccbde254af - languageName: node - linkType: hard - "async-retry@npm:^1.3.3": version: 1.3.3 resolution: "async-retry@npm:1.3.3" @@ -5842,13 +5401,6 @@ __metadata: languageName: node linkType: hard -"async@npm:^3.2.3, async@npm:^3.2.4, async@npm:^3.2.6": - version: 3.2.6 - resolution: "async@npm:3.2.6" - checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -5865,18 +5417,6 @@ __metadata: languageName: node linkType: hard -"b4a@npm:^1.6.4, b4a@npm:^1.8.1": - version: 1.8.1 - resolution: "b4a@npm:1.8.1" - peerDependencies: - react-native-b4a: "*" - peerDependenciesMeta: - react-native-b4a: - optional: true - checksum: 10c0/344d8c94b244ec7a9cb516ea43a98216312454cb72478e4b7628a679ee343be237564c53bbe73995ab10ea9bc923b420236081b180b3cf78fd0c945bfc886798 - languageName: node - linkType: hard - "balanced-match@npm:^4.0.2": version: 4.0.2 resolution: "balanced-match@npm:4.0.2" @@ -5886,74 +5426,6 @@ __metadata: languageName: node linkType: hard -"bare-events@npm:^2.5.4, bare-events@npm:^2.7.0": - version: 2.9.1 - resolution: "bare-events@npm:2.9.1" - peerDependencies: - bare-abort-controller: "*" - peerDependenciesMeta: - bare-abort-controller: - optional: true - checksum: 10c0/576fba522bdd2167f35e86791e6c881fdaaf542aa5fca0acfaf8fac7a2c0789340f1cafa0b63e216808efb5cc710887c0cf683f1783293bf98a215d8555ecc36 - languageName: node - linkType: hard - -"bare-fs@npm:^4.5.5": - version: 4.8.0 - resolution: "bare-fs@npm:4.8.0" - dependencies: - bare-events: "npm:^2.5.4" - bare-path: "npm:^3.0.0" - bare-stream: "npm:^2.6.4" - bare-url: "npm:^2.2.2" - fast-fifo: "npm:^1.3.2" - peerDependencies: - bare-buffer: "*" - peerDependenciesMeta: - bare-buffer: - optional: true - checksum: 10c0/27e3361b8b2129770e21043ccedd28881d052b38b33d2e909f63484875dc52556aaa514e072ff2172d8372c81447719a9018f28d2f74ce5e1f93cc7aa5df7971 - languageName: node - linkType: hard - -"bare-path@npm:^3.0.0": - version: 3.1.1 - resolution: "bare-path@npm:3.1.1" - checksum: 10c0/833f0fe2df164e518878b9c71646228d7841c2e35bd3fc428e432b512317ce7fdbd2a127649366f34db3312778d12a83f2fff5485004bbbdcdd15975fce73f4c - languageName: node - linkType: hard - -"bare-stream@npm:^2.6.4": - version: 2.13.3 - resolution: "bare-stream@npm:2.13.3" - dependencies: - b4a: "npm:^1.8.1" - streamx: "npm:^2.25.0" - teex: "npm:^1.0.1" - peerDependencies: - bare-abort-controller: "*" - bare-buffer: "*" - bare-events: "*" - peerDependenciesMeta: - bare-abort-controller: - optional: true - bare-buffer: - optional: true - bare-events: - optional: true - checksum: 10c0/1867ca2e89042a7a9c53e8415a0be6e958bdc7231bc0858a793ec35614419eb6e57ad7a27db2de3dc75a799f7432494e27029b3805eee53693629ff64cae16c9 - languageName: node - linkType: hard - -"bare-url@npm:^2.2.2": - version: 2.5.1 - resolution: "bare-url@npm:2.5.1" - dependencies: - bare-path: "npm:^3.0.0" - checksum: 10c0/ed28e8c8b022f6180fbd6ee8b90c46022a00991bc82216fa90d48c328161450dda1cab7f328402ca2d23e68eba71884ebdb48e897e8bcbf2d1d02ed414e8a2be - languageName: node - linkType: hard - "base64-js@npm:^1.3.0, base64-js@npm:^1.3.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" @@ -5970,34 +5442,9 @@ __metadata: languageName: node linkType: hard -"basic-auth-connect@npm:^1.1.0": - version: 1.1.0 - resolution: "basic-auth-connect@npm:1.1.0" - dependencies: - tsscmp: "npm:^1.0.6" - checksum: 10c0/bd229e1339d9025c6cd08371860160072c97eb0323b79330daae51ef4d7fe9768b46c730779516d835ceb3f6295bc1fd73594100cc295dc2d0405724cdc3a7e6 - languageName: node - linkType: hard - -"basic-auth@npm:~2.0.1": - version: 2.0.1 - resolution: "basic-auth@npm:2.0.1" - dependencies: - safe-buffer: "npm:5.1.2" - checksum: 10c0/05f56db3a0fc31c89c86b605231e32ee143fb6ae38dc60616bc0970ae6a0f034172def99e69d3aed0e2c9e7cac84e2d63bc51a0b5ff6ab5fc8808cc8b29923c1 - languageName: node - linkType: hard - -"basic-ftp@npm:^5.0.2": - version: 5.3.1 - resolution: "basic-ftp@npm:5.3.1" - checksum: 10c0/03511b488cd292abfa82a8c0ea3b9573b40d12d2f1518d6f41a9461b012b3376d3e6d50679b38d9b2b4f48fd6e8e0418ac196312ee7e2da13cb801169940d1c3 - languageName: node - linkType: hard - -"bcrypt@npm:^5.1.1": - version: 5.1.1 - resolution: "bcrypt@npm:5.1.1" +"bcrypt@npm:^5.1.1": + version: 5.1.1 + resolution: "bcrypt@npm:5.1.1" dependencies: "@mapbox/node-pre-gyp": "npm:^1.0.11" node-addon-api: "npm:^5.0.0" @@ -6012,13 +5459,6 @@ __metadata: languageName: node linkType: hard -"binary-extensions@npm:^2.0.0": - version: 2.3.0 - resolution: "binary-extensions@npm:2.3.0" - checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5 - languageName: node - linkType: hard - "bindings@npm:^1.5.0": version: 1.5.0 resolution: "bindings@npm:1.5.0" @@ -6028,7 +5468,7 @@ __metadata: languageName: node linkType: hard -"bl@npm:^4.0.3, bl@npm:^4.1.0": +"bl@npm:^4.0.3": version: 4.1.0 resolution: "bl@npm:4.1.0" dependencies: @@ -6039,26 +5479,6 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:^1.18.3, body-parser@npm:^1.19.0, body-parser@npm:~1.20.5": - version: 1.20.6 - resolution: "body-parser@npm:1.20.6" - dependencies: - bytes: "npm:~3.1.2" - content-type: "npm:~1.0.5" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:~1.2.0" - http-errors: "npm:~2.0.1" - iconv-lite: "npm:~0.4.24" - on-finished: "npm:~2.4.1" - qs: "npm:~6.15.1" - raw-body: "npm:~2.5.3" - type-is: "npm:~1.6.18" - unpipe: "npm:~1.0.0" - checksum: 10c0/ad477209f1e714c41fa892a7d2fe22e10b23262103cc25cc6492dd3e6f7869cd2d8b00928b543a1a14d3c3663432452a192efd00422fad6f3687b0e38f7e3b07 - languageName: node - linkType: hard - "body-parser@npm:^2.2.1": version: 2.3.0 resolution: "body-parser@npm:2.3.0" @@ -6076,22 +5496,6 @@ __metadata: languageName: node linkType: hard -"boxen@npm:^5.0.0": - version: 5.1.2 - resolution: "boxen@npm:5.1.2" - dependencies: - ansi-align: "npm:^3.0.0" - camelcase: "npm:^6.2.0" - chalk: "npm:^4.1.0" - cli-boxes: "npm:^2.2.1" - string-width: "npm:^4.2.2" - type-fest: "npm:^0.20.2" - widest-line: "npm:^3.1.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/71f31c2eb3dcacd5fce524ae509e0cc90421752e0bfbd0281fd3352871d106c462a0f810c85f2fdb02f3a9fab2d7a84e9718b4999384d651b76104ebe5d2c024 - languageName: node - linkType: hard - "brace-expansion@npm:5.0.8": version: 5.0.8 resolution: "brace-expansion@npm:5.0.8" @@ -6110,7 +5514,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3, braces@npm:~3.0.2": +"braces@npm:^3.0.3": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -6134,13 +5538,6 @@ __metadata: languageName: node linkType: hard -"buffer-crc32@npm:^1.0.0": - version: 1.0.0 - resolution: "buffer-crc32@npm:1.0.0" - checksum: 10c0/8b86e161cee4bb48d5fa622cbae4c18f25e4857e5203b89e23de59e627ab26beb82d9d7999f2b8de02580165f61f83f997beaf02980cdf06affd175b651921ab - languageName: node - linkType: hard - "buffer-equal-constant-time@npm:^1.0.1": version: 1.0.1 resolution: "buffer-equal-constant-time@npm:1.0.1" @@ -6184,7 +5581,7 @@ __metadata: languageName: node linkType: hard -"bytes@npm:3.1.2, bytes@npm:^3.1.2, bytes@npm:~3.1.2": +"bytes@npm:^3.1.2, bytes@npm:~3.1.2": version: 3.1.2 resolution: "bytes@npm:3.1.2" checksum: 10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e @@ -6268,13 +5665,6 @@ __metadata: languageName: node linkType: hard -"call-me-maybe@npm:^1.0.1": - version: 1.0.2 - resolution: "call-me-maybe@npm:1.0.2" - checksum: 10c0/8eff5dbb61141ebb236ed71b4e9549e488bcb5451c48c11e5667d5c75b0532303788a1101e6978cafa2d0c8c1a727805599c2741e3e0982855c9f1d78cd06c9f - languageName: node - linkType: hard - "callsites@npm:^3.0.0": version: 3.1.0 resolution: "callsites@npm:3.1.0" @@ -6282,13 +5672,6 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^6.2.0": - version: 6.3.0 - resolution: "camelcase@npm:6.3.0" - checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 - languageName: node - linkType: hard - "caniuse-lite@npm:^1.0.30001759": version: 1.0.30001770 resolution: "caniuse-lite@npm:1.0.30001770" @@ -6313,7 +5696,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^5.3.0, chalk@npm:^5.4.1, chalk@npm:^5.6.2": +"chalk@npm:^5.3.0, chalk@npm:^5.6.2": version: 5.6.2 resolution: "chalk@npm:5.6.2" checksum: 10c0/99a4b0f0e7991796b1e7e3f52dceb9137cae2a9dfc8fc0784a550dc4c558e15ab32ed70b14b21b52beb2679b4892b41a0aa44249bcb996f01e125d58477c6976 @@ -6343,25 +5726,6 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.6.0": - version: 3.6.0 - resolution: "chokidar@npm:3.6.0" - dependencies: - anymatch: "npm:~3.1.2" - braces: "npm:~3.0.2" - fsevents: "npm:~2.3.2" - glob-parent: "npm:~5.1.2" - is-binary-path: "npm:~2.1.0" - is-glob: "npm:~4.0.1" - normalize-path: "npm:~3.0.0" - readdirp: "npm:~3.6.0" - dependenciesMeta: - fsevents: - optional: true - checksum: 10c0/8361dcd013f2ddbe260eacb1f3cb2f2c6f2b0ad118708a343a5ed8158941a39cb8fb1d272e0f389712e74ee90ce8ba864eece9e0e62b9705cb468a2f6d917462 - languageName: node - linkType: hard - "chownr@npm:^1.1.1": version: 1.1.4 resolution: "chownr@npm:1.1.4" @@ -6383,13 +5747,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^2.0.0": - version: 2.0.0 - resolution: "ci-info@npm:2.0.0" - checksum: 10c0/8c5fa3830a2bcee2b53c2e5018226f0141db9ec9f7b1e27a5c57db5512332cde8a0beb769bcbaf0d8775a78afbf2bb841928feca4ea6219638a5b088f9884b46 - languageName: node - linkType: hard - "ci-info@npm:^3.7.0": version: 3.9.0 resolution: "ci-info@npm:3.9.0" @@ -6397,15 +5754,6 @@ __metadata: languageName: node linkType: hard -"cjson@npm:^0.3.1": - version: 0.3.3 - resolution: "cjson@npm:0.3.3" - dependencies: - json-parse-helpfulerror: "npm:^1.0.3" - checksum: 10c0/a753f1ace13feecbf685f05d461d202c900dbe027993987f8bd28f4fce1b65d414fad6f9d2e2c88107c4743dc5ac0a8c608c32d06ceee2bf9f59869942f2b0c3 - languageName: node - linkType: hard - "class-transformer@npm:^0.5.1": version: 0.5.1 resolution: "class-transformer@npm:0.5.1" @@ -6431,22 +5779,6 @@ __metadata: languageName: node linkType: hard -"cli-boxes@npm:^2.2.1": - version: 2.2.1 - resolution: "cli-boxes@npm:2.2.1" - checksum: 10c0/6111352edbb2f62dbc7bfd58f2d534de507afed7f189f13fa894ce5a48badd94b2aa502fda28f1d7dd5f1eb456e7d4033d09a76660013ef50c7f66e7a034f050 - languageName: node - linkType: hard - -"cli-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "cli-cursor@npm:3.1.0" - dependencies: - restore-cursor: "npm:^3.1.0" - checksum: 10c0/92a2f98ff9037d09be3dfe1f0d749664797fb674bf388375a2207a1203b69d41847abf16434203e0089212479e47a358b13a0222ab9fccfe8e2644a7ccebd111 - languageName: node - linkType: hard - "cli-cursor@npm:^5.0.0": version: 5.0.0 resolution: "cli-cursor@npm:5.0.0" @@ -6456,29 +5788,6 @@ __metadata: languageName: node linkType: hard -"cli-highlight@npm:^2.1.11": - version: 2.1.11 - resolution: "cli-highlight@npm:2.1.11" - dependencies: - chalk: "npm:^4.0.0" - highlight.js: "npm:^10.7.1" - mz: "npm:^2.4.0" - parse5: "npm:^5.1.1" - parse5-htmlparser2-tree-adapter: "npm:^6.0.0" - yargs: "npm:^16.0.0" - bin: - highlight: bin/highlight - checksum: 10c0/b5b4af3b968aa9df77eee449a400fbb659cf47c4b03a395370bd98d5554a00afaa5819b41a9a8a1ca0d37b0b896a94e57c65289b37359a25b700b1f56eb04852 - languageName: node - linkType: hard - -"cli-spinners@npm:^2.5.0": - version: 2.9.2 - resolution: "cli-spinners@npm:2.9.2" - checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 - languageName: node - linkType: hard - "cli-spinners@npm:^3.2.0": version: 3.4.0 resolution: "cli-spinners@npm:3.4.0" @@ -6486,7 +5795,7 @@ __metadata: languageName: node linkType: hard -"cli-table3@npm:0.6.5, cli-table3@npm:^0.6.5": +"cli-table3@npm:0.6.5": version: 0.6.5 resolution: "cli-table3@npm:0.6.5" dependencies: @@ -6506,17 +5815,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^7.0.2": - version: 7.0.4 - resolution: "cliui@npm:7.0.4" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.0" - wrap-ansi: "npm:^7.0.0" - checksum: 10c0/6035f5daf7383470cef82b3d3db00bec70afb3423538c50394386ffbbab135e26c3689c41791f911fa71b62d13d3863c712fdd70f0fbdffd938a1e6fd09aac00 - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -6528,13 +5826,6 @@ __metadata: languageName: node linkType: hard -"clone@npm:^1.0.2": - version: 1.0.4 - resolution: "clone@npm:1.0.4" - checksum: 10c0/2176952b3649293473999a95d7bebfc9dc96410f6cbd3d2595cf12fd401f63a4bf41a7adbfd3ab2ff09ed60cb9870c58c6acdd18b87767366fabfc163700f13b - languageName: node - linkType: hard - "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -6544,22 +5835,6 @@ __metadata: languageName: node linkType: hard -"color-convert@npm:^3.1.3": - version: 3.1.3 - resolution: "color-convert@npm:3.1.3" - dependencies: - color-name: "npm:^2.0.0" - checksum: 10c0/427648b442c6ea6dab5ba03f4962201ee59f128c80b25d5a0f7d9aab0ef52519a9db8a9bb3cf40b73f86eb19b5ca6aeb0ab930665f3d14973ce776d7d0448a15 - languageName: node - linkType: hard - -"color-name@npm:^2.0.0": - version: 2.1.1 - resolution: "color-name@npm:2.1.1" - checksum: 10c0/6a1096d761b84ad18bdf1464d449800dbb1e613c914aafd9551514884f5e0cc47b5478fea32048188ec7a28424c6ded55fd4a81f39ca351e2ca4dd7729e05128 - languageName: node - linkType: hard - "color-name@npm:~1.1.4": version: 1.1.4 resolution: "color-name@npm:1.1.4" @@ -6567,15 +5842,6 @@ __metadata: languageName: node linkType: hard -"color-string@npm:^2.1.3": - version: 2.1.4 - resolution: "color-string@npm:2.1.4" - dependencies: - color-name: "npm:^2.0.0" - checksum: 10c0/18a9fefec153d885e0dbfb076f3a65cdcd19f52d96c719f2f261e90e5b7dafd13c51baac399d7099eac290f004d340045ab9467312dcc8afefe6f877ec5c4428 - languageName: node - linkType: hard - "color-support@npm:^1.1.2, color-support@npm:^1.1.3": version: 1.1.3 resolution: "color-support@npm:1.1.3" @@ -6585,23 +5851,6 @@ __metadata: languageName: node linkType: hard -"color@npm:^5.0.2": - version: 5.0.3 - resolution: "color@npm:5.0.3" - dependencies: - color-convert: "npm:^3.1.3" - color-string: "npm:^2.1.3" - checksum: 10c0/f08a03c5113ae4aa36dba9d2438596b194b897e18b961310643cb63872add1da507cd238df264eb434bbdbe3a377ec41f90d877531acca611523cfcd365db1b6 - languageName: node - linkType: hard - -"colorette@npm:^2.0.19, colorette@npm:^2.0.20": - version: 2.0.20 - resolution: "colorette@npm:2.0.20" - checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 - languageName: node - linkType: hard - "combined-stream@npm:^1.0.8": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" @@ -6618,34 +5867,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^10.0.0": - version: 10.0.1 - resolution: "commander@npm:10.0.1" - checksum: 10c0/53f33d8927758a911094adadda4b2cbac111a5b377d8706700587650fd8f45b0bbe336de4b5c3fe47fd61f420a3d9bd452b6e0e6e5600a7e74d7bf0174f6efe3 - languageName: node - linkType: hard - -"commander@npm:^11.1.0": - version: 11.1.0 - resolution: "commander@npm:11.1.0" - checksum: 10c0/13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179 - languageName: node - linkType: hard - -"commander@npm:^2.19.0": - version: 2.20.3 - resolution: "commander@npm:2.20.3" - checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288 - languageName: node - linkType: hard - -"commander@npm:^5.1.0": - version: 5.1.0 - resolution: "commander@npm:5.1.0" - checksum: 10c0/da9d71dbe4ce039faf1fe9eac3771dca8c11d66963341f62602f7b66e36d2a3f8883407af4f9a37b1db1a55c59c0c1325f186425764c2e963dc1d67aec2a4b6d - languageName: node - linkType: hard - "commander@npm:~12.1.0": version: 12.1.0 resolution: "commander@npm:12.1.0" @@ -6687,43 +5908,6 @@ __metadata: languageName: node linkType: hard -"compress-commons@npm:^6.0.2": - version: 6.0.2 - resolution: "compress-commons@npm:6.0.2" - dependencies: - crc-32: "npm:^1.2.0" - crc32-stream: "npm:^6.0.0" - is-stream: "npm:^2.0.1" - normalize-path: "npm:^3.0.0" - readable-stream: "npm:^4.0.0" - checksum: 10c0/2347031b7c92c8ed5011b07b93ec53b298fa2cd1800897532ac4d4d1aeae06567883f481b6e35f13b65fc31b190c751df6635434d525562f0203fde76f1f0814 - languageName: node - linkType: hard - -"compressible@npm:~2.0.18": - version: 2.0.18 - resolution: "compressible@npm:2.0.18" - dependencies: - mime-db: "npm:>= 1.43.0 < 2" - checksum: 10c0/8a03712bc9f5b9fe530cc5a79e164e665550d5171a64575d7dcf3e0395d7b4afa2d79ab176c61b5b596e28228b350dd07c1a2a6ead12fd81d1b6cd632af2fef7 - languageName: node - linkType: hard - -"compression@npm:^1.7.0": - version: 1.8.1 - resolution: "compression@npm:1.8.1" - dependencies: - bytes: "npm:3.1.2" - compressible: "npm:~2.0.18" - debug: "npm:2.6.9" - negotiator: "npm:~0.6.4" - on-headers: "npm:~1.1.0" - safe-buffer: "npm:5.2.1" - vary: "npm:~1.1.2" - checksum: 10c0/85114b0b91c16594dc8c671cd9b05ef5e465066a60e5a4ed8b4551661303559a896ed17bb72c4234c04064e078f6ca86a34b8690349499a43f6fc4b844475da4 - languageName: node - linkType: hard - "concat-stream@npm:^2.0.0": version: 2.0.0 resolution: "concat-stream@npm:2.0.0" @@ -6753,42 +5937,6 @@ __metadata: languageName: node linkType: hard -"config-chain@npm:^1.1.11": - version: 1.1.13 - resolution: "config-chain@npm:1.1.13" - dependencies: - ini: "npm:^1.3.4" - proto-list: "npm:~1.2.1" - checksum: 10c0/39d1df18739d7088736cc75695e98d7087aea43646351b028dfabd5508d79cf6ef4c5bcd90471f52cd87ae470d1c5490c0a8c1a292fbe6ee9ff688061ea0963e - languageName: node - linkType: hard - -"configstore@npm:^5.0.1": - version: 5.0.1 - resolution: "configstore@npm:5.0.1" - dependencies: - dot-prop: "npm:^5.2.0" - graceful-fs: "npm:^4.1.2" - make-dir: "npm:^3.0.0" - unique-string: "npm:^2.0.0" - write-file-atomic: "npm:^3.0.0" - xdg-basedir: "npm:^4.0.0" - checksum: 10c0/5af23830e78bdc56cbe92a2f81e87f1d3a39e96e51a0ab2a8bc79bbbc5d4440a48d92833b3fd9c6d34b4a9c4c5853c8487b8e6e68593e7ecbc7434822f7aced3 - languageName: node - linkType: hard - -"connect@npm:^3.7.0": - version: 3.7.0 - resolution: "connect@npm:3.7.0" - dependencies: - debug: "npm:2.6.9" - finalhandler: "npm:1.1.2" - parseurl: "npm:~1.3.3" - utils-merge: "npm:1.0.1" - checksum: 10c0/f120c6116bb16a0a7d2703c0b4a0cd7ed787dc5ec91978097bf62aa967289020a9f41a9cd3c3276a7b92aaa36f382d2cd35fed7138fd466a55c8e9fdbed11ca8 - languageName: node - linkType: hard - "consola@npm:^3.2.3": version: 3.4.2 resolution: "consola@npm:3.4.2" @@ -6810,16 +5958,7 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:~0.5.4": - version: 0.5.4 - resolution: "content-disposition@npm:0.5.4" - dependencies: - safe-buffer: "npm:5.2.1" - checksum: 10c0/bac0316ebfeacb8f381b38285dc691c9939bf0a78b0b7c2d5758acadad242d04783cee5337ba7d12a565a19075af1b3c11c728e1e4946de73c6ff7ce45f3f1bb - languageName: node - linkType: hard - -"content-type@npm:^1.0.4, content-type@npm:^1.0.5, content-type@npm:~1.0.4, content-type@npm:~1.0.5": +"content-type@npm:^1.0.5": version: 1.0.5 resolution: "content-type@npm:1.0.5" checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af @@ -6879,14 +6018,7 @@ __metadata: languageName: node linkType: hard -"cookie-signature@npm:~1.0.6": - version: 1.0.7 - resolution: "cookie-signature@npm:1.0.7" - checksum: 10c0/e7731ad2995ae2efeed6435ec1e22cdd21afef29d300c27281438b1eab2bae04ef0d1a203928c0afec2cee72aa36540b8747406ebe308ad23c8e8cc3c26c9c51 - languageName: node - linkType: hard - -"cookie@npm:^0.7.1, cookie@npm:~0.7.1": +"cookie@npm:^0.7.1": version: 0.7.2 resolution: "cookie@npm:0.7.2" checksum: 10c0/9596e8ccdbf1a3a88ae02cf5ee80c1c50959423e1022e4e60b91dd87c622af1da309253d8abdb258fb5e3eacb4f08e579dc58b4897b8087574eee0fd35dfa5d2 @@ -6900,14 +6032,7 @@ __metadata: languageName: node linkType: hard -"core-util-is@npm:~1.0.0": - version: 1.0.3 - resolution: "core-util-is@npm:1.0.3" - checksum: 10c0/90a0e40abbddfd7618f8ccd63a74d88deea94e77d0e8dbbea059fa7ebebb8fbb4e2909667fe26f3a467073de1a542ebe6ae4c73a73745ac5833786759cd906c9 - languageName: node - linkType: hard - -"cors@npm:2.8.6, cors@npm:^2.8.5": +"cors@npm:2.8.6": version: 2.8.6 resolution: "cors@npm:2.8.6" dependencies: @@ -6947,25 +6072,6 @@ __metadata: languageName: node linkType: hard -"crc-32@npm:^1.2.0": - version: 1.2.2 - resolution: "crc-32@npm:1.2.2" - bin: - crc32: bin/crc32.njs - checksum: 10c0/11dcf4a2e77ee793835d49f2c028838eae58b44f50d1ff08394a610bfd817523f105d6ae4d9b5bef0aad45510f633eb23c903e9902e4409bed1ce70cb82b9bf0 - languageName: node - linkType: hard - -"crc32-stream@npm:^6.0.0": - version: 6.0.0 - resolution: "crc32-stream@npm:6.0.0" - dependencies: - crc-32: "npm:^1.2.0" - readable-stream: "npm:^4.0.0" - checksum: 10c0/bf9c84571ede2d119c2b4f3a9ef5eeb9ff94b588493c0d3862259af86d3679dcce1c8569dd2b0a6eff2f35f5e2081cc1263b846d2538d4054da78cf34f262a3d - languageName: node - linkType: hard - "create-require@npm:^1.1.0": version: 1.1.1 resolution: "create-require@npm:1.1.1" @@ -6973,19 +6079,7 @@ __metadata: languageName: node linkType: hard -"cross-env@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-env@npm:7.0.3" - dependencies: - cross-spawn: "npm:^7.0.1" - bin: - cross-env: src/bin/cross-env.js - cross-env-shell: src/bin/cross-env-shell.js - checksum: 10c0/f3765c25746c69fcca369655c442c6c886e54ccf3ab8c16847d5ad0e91e2f337d36eedc6599c1227904bf2a228d721e690324446876115bc8e7b32a866735ecf - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -6996,13 +6090,6 @@ __metadata: languageName: node linkType: hard -"crypto-random-string@npm:^2.0.0": - version: 2.0.0 - resolution: "crypto-random-string@npm:2.0.0" - checksum: 10c0/288589b2484fe787f9e146f56c4be90b940018f17af1b152e4dde12309042ff5a2bf69e949aab8b8ac253948381529cc6f3e5a2427b73643a71ff177fa122b37 - languageName: node - linkType: hard - "csstype@npm:^3.2.2": version: 3.2.3 resolution: "csstype@npm:3.2.3" @@ -7010,13 +6097,6 @@ __metadata: languageName: node linkType: hard -"csv-parse@npm:^5.0.4": - version: 5.6.0 - resolution: "csv-parse@npm:5.6.0" - checksum: 10c0/52f5e6c45359902e0c8e57fc2eeed41366dc6b6d283b495b538dd50c8e8510413d6f924096ea056319cbbb8ed26e111c3a3485d7985c021bcf5abaa9e92425c7 - languageName: node - linkType: hard - "dargs@npm:^8.0.0": version: 8.1.0 resolution: "dargs@npm:8.1.0" @@ -7031,13 +6111,6 @@ __metadata: languageName: node linkType: hard -"data-uri-to-buffer@npm:^6.0.2": - version: 6.0.2 - resolution: "data-uri-to-buffer@npm:6.0.2" - checksum: 10c0/f76922bf895b3d7d443059ff278c9cc5efc89d70b8b80cd9de0aa79b3adc6d7a17948eefb8692e30398c43635f70ece1673d6085cc9eba2878dbc6c6da5292ac - languageName: node - linkType: hard - "data-view-buffer@npm:^1.0.2": version: 1.0.2 resolution: "data-view-buffer@npm:1.0.2" @@ -7078,16 +6151,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:2.6.9": - version: 2.6.9 - resolution: "debug@npm:2.6.9" - dependencies: - ms: "npm:2.0.0" - checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:^4.4.0, debug@npm:^4.4.3": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:^4.3.5, debug@npm:^4.3.7, debug@npm:^4.4.0, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -7099,18 +6163,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:4.3.1": - version: 4.3.1 - resolution: "debug@npm:4.3.1" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/610bcc2eb07c533d6a9964478422f7d741095d67301888ee0b77b8f2ad0a15d115c93fb2adb13d10a9eda3d81f2d4d335405540b09596fb23aca070e77497d95 - languageName: node - linkType: hard - "debug@npm:^3.2.7": version: 3.2.7 resolution: "debug@npm:3.2.7" @@ -7141,15 +6193,6 @@ __metadata: languageName: node linkType: hard -"deep-equal-in-any-order@npm:^2.0.6": - version: 2.2.0 - resolution: "deep-equal-in-any-order@npm:2.2.0" - dependencies: - sort-any: "npm:^4.0.0" - checksum: 10c0/eb81198a100fd96c5f7a33935aeada6beedbfb1dffdecfcb52319f53cf55ef0cfd8d8e9845ef089d9328cc9602fd88235808dc74cdb73273e46c6770ab3a6a78 - languageName: node - linkType: hard - "deep-extend@npm:^0.6.0": version: 0.6.0 resolution: "deep-extend@npm:0.6.0" @@ -7157,13 +6200,6 @@ __metadata: languageName: node linkType: hard -"deep-freeze@npm:0.0.1": - version: 0.0.1 - resolution: "deep-freeze@npm:0.0.1" - checksum: 10c0/b32c878395df6ca0e07d065750e14bc1651ec76e99490bca25e5844f7321676d7045d4eb4123892a0d4f08c38e4b7fa46d6e834782c095723447c0ee2ad0340b - languageName: node - linkType: hard - "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -7185,15 +6221,6 @@ __metadata: languageName: node linkType: hard -"defaults@npm:^1.0.3": - version: 1.0.4 - resolution: "defaults@npm:1.0.4" - dependencies: - clone: "npm:^1.0.2" - checksum: 10c0/9cfbe498f5c8ed733775db62dfd585780387d93c17477949e1670bfcfb9346e0281ce8c4bf9f4ac1fc0f9b851113bd6dc9e41182ea1644ccd97de639fa13c35a - languageName: node - linkType: hard - "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -7216,17 +6243,6 @@ __metadata: languageName: node linkType: hard -"degenerator@npm:^5.0.0": - version: 5.0.1 - resolution: "degenerator@npm:5.0.1" - dependencies: - ast-types: "npm:^0.13.4" - escodegen: "npm:^2.1.0" - esprima: "npm:^4.0.1" - checksum: 10c0/e48d8a651edeb512a648711a09afec269aac6de97d442a4bb9cf121a66877e0eec11b9727100a10252335c0666ae1c84a8bc1e3a3f47788742c975064d2c7b1c - languageName: node - linkType: hard - "delayed-stream@npm:~1.0.0": version: 1.0.0 resolution: "delayed-stream@npm:1.0.0" @@ -7241,20 +6257,13 @@ __metadata: languageName: node linkType: hard -"depd@npm:2.0.0, depd@npm:^2.0.0, depd@npm:~2.0.0": +"depd@npm:^2.0.0, depd@npm:~2.0.0": version: 2.0.0 resolution: "depd@npm:2.0.0" checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c languageName: node linkType: hard -"destroy@npm:1.2.0, destroy@npm:^1.0.4, destroy@npm:~1.2.0": - version: 1.2.0 - resolution: "destroy@npm:1.2.0" - checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643 - languageName: node - linkType: hard - "detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.3": version: 2.1.2 resolution: "detect-libc@npm:2.1.2" @@ -7288,13 +6297,6 @@ __metadata: languageName: node linkType: hard -"discontinuous-range@npm:1.0.0": - version: 1.0.0 - resolution: "discontinuous-range@npm:1.0.0" - checksum: 10c0/487b105f83c1cc528e25e65d3c4b73958ec79769b7bd0e264414702a23a7e2b282c72982b4bef4af29fcab53f47816c3f0a5c40d85a99a490f4bc35b83dc00f8 - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -7313,7 +6315,7 @@ __metadata: languageName: node linkType: hard -"dot-prop@npm:^5.1.0, dot-prop@npm:^5.2.0": +"dot-prop@npm:^5.1.0": version: 5.3.0 resolution: "dot-prop@npm:5.3.0" dependencies: @@ -7419,27 +6421,13 @@ __metadata: languageName: node linkType: hard -"enabled@npm:2.0.x": - version: 2.0.0 - resolution: "enabled@npm:2.0.0" - checksum: 10c0/3b2c2af9bc7f8b9e291610f2dde4a75cf6ee52a68f4dd585482fbdf9a55d65388940e024e56d40bb03e05ef6671f5f53021fa8b72a20e954d7066ec28166713f - languageName: node - linkType: hard - -"encodeurl@npm:^2.0.0, encodeurl@npm:~2.0.0": +"encodeurl@npm:^2.0.0": version: 2.0.0 resolution: "encodeurl@npm:2.0.0" checksum: 10c0/5d317306acb13e6590e28e27924c754163946a2480de11865c991a3a7eed4315cd3fba378b543ca145829569eefe9b899f3d84bb09870f675ae60bc924b01ceb languageName: node linkType: hard -"encodeurl@npm:~1.0.2": - version: 1.0.2 - resolution: "encodeurl@npm:1.0.2" - checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec - languageName: node - linkType: hard - "encoding@npm:^0.1.12, encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -7492,13 +6480,6 @@ __metadata: languageName: node linkType: hard -"environment@npm:^1.0.0": - version: 1.1.0 - resolution: "environment@npm:1.1.0" - checksum: 10c0/fb26434b0b581ab397039e51ff3c92b34924a98b2039dcb47e41b7bca577b9dbf134a8eadb364415c74464b682e2d3afe1a4c0eb9873dc44ea814c5d3103331d - languageName: node - linkType: hard - "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -7745,14 +6726,7 @@ __metadata: languageName: node linkType: hard -"escape-goat@npm:^2.0.0": - version: 2.1.1 - resolution: "escape-goat@npm:2.1.1" - checksum: 10c0/fc0ad656f89c05e86a9641a21bdc5ea37b258714c057430b68a834854fa3e5770cda7d41756108863fc68b1e36a0946463017b7553ac39eaaf64815be07816fc - languageName: node - linkType: hard - -"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": +"escape-html@npm:^1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3 @@ -7766,24 +6740,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.1.0": - version: 2.1.0 - resolution: "escodegen@npm:2.1.0" - dependencies: - esprima: "npm:^4.0.1" - estraverse: "npm:^5.2.0" - esutils: "npm:^2.0.2" - source-map: "npm:~0.6.1" - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 10c0/e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 - languageName: node - linkType: hard - "eslint-config-prettier@npm:^8.10.0, eslint-config-prettier@npm:^8.3.0": version: 8.10.2 resolution: "eslint-config-prettier@npm:8.10.2" @@ -8118,7 +7074,7 @@ __metadata: languageName: node linkType: hard -"etag@npm:^1.8.1, etag@npm:~1.8.1": +"etag@npm:^1.8.1": version: 1.8.1 resolution: "etag@npm:1.8.1" checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84 @@ -8139,78 +7095,6 @@ __metadata: languageName: node linkType: hard -"events-listener@npm:^1.1.0": - version: 1.1.0 - resolution: "events-listener@npm:1.1.0" - checksum: 10c0/85a2be3d27cef22edb6e8bccfd2d87c9f9f6854a834129958c7a0410284b6c9c69efff40554ba8ae3f4c1dc9b036c5a07c5d5df8b31041b3b93722c91dc3b140 - languageName: node - linkType: hard - -"events-universal@npm:^1.0.0": - version: 1.0.1 - resolution: "events-universal@npm:1.0.1" - dependencies: - bare-events: "npm:^2.7.0" - checksum: 10c0/a1d9a5e9f95843650f8ec240dd1221454c110189a9813f32cdf7185759b43f1f964367ac7dca4ebc69150b59043f2d77c7e122b0d03abf7c25477ea5494785a5 - languageName: node - linkType: hard - -"events@npm:^3.3.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 - languageName: node - linkType: hard - -"eventsource-parser@npm:^3.0.0, eventsource-parser@npm:^3.0.1": - version: 3.1.0 - resolution: "eventsource-parser@npm:3.1.0" - checksum: 10c0/5ab4c6c9a2a042be0b387b6d03810eb580bac4ce90e299ede56458125a97ffe3af8145b2740089fc898a96cfa5aae792ee79f2a06257fba2776b0e7bce037071 - languageName: node - linkType: hard - -"eventsource@npm:^3.0.2": - version: 3.0.7 - resolution: "eventsource@npm:3.0.7" - dependencies: - eventsource-parser: "npm:^3.0.1" - checksum: 10c0/c48a73c38f300e33e9f11375d4ee969f25cbb0519608a12378a38068055ae8b55b6e0e8a49c3f91c784068434efe1d9f01eb49b6315b04b0da9157879ce2f67d - languageName: node - linkType: hard - -"exegesis-express@npm:^4.0.0": - version: 4.0.0 - resolution: "exegesis-express@npm:4.0.0" - dependencies: - exegesis: "npm:^4.1.0" - checksum: 10c0/09e32a03f0bbafc09cc19d213fdc61584cda52f7f465b1cd4faba55a8c87eb956c00bb0a72f53770799669e95c4d6af525983c639ab920333d3b0397592e8241 - languageName: node - linkType: hard - -"exegesis@npm:^4.1.0, exegesis@npm:^4.2.0": - version: 4.3.0 - resolution: "exegesis@npm:4.3.0" - dependencies: - "@apidevtools/json-schema-ref-parser": "npm:^9.0.3" - ajv: "npm:^8.3.0" - ajv-formats: "npm:^2.1.0" - body-parser: "npm:^1.18.3" - content-type: "npm:^1.0.4" - deep-freeze: "npm:0.0.1" - events-listener: "npm:^1.1.0" - glob: "npm:^10.3.10" - json-ptr: "npm:^3.0.1" - json-schema-traverse: "npm:^1.0.0" - lodash: "npm:^4.17.11" - openapi3-ts: "npm:^3.1.1" - promise-breaker: "npm:^6.0.0" - qs: "npm:^6.6.0" - raw-body: "npm:^2.3.3" - semver: "npm:^7.0.0" - checksum: 10c0/944ec9df00378ef19eb37a52aff60244e3bb98878e5979d7efb98b8454b144d9bb7ec08ea8d23e54430d97e2d0bf9e59341f85a471e1288a607cf13ceabfdbe1 - languageName: node - linkType: hard - "expand-template@npm:^2.0.3": version: 2.0.3 resolution: "expand-template@npm:2.0.3" @@ -8232,18 +7116,6 @@ __metadata: languageName: node linkType: hard -"express-rate-limit@npm:^8.2.1": - version: 8.6.2 - resolution: "express-rate-limit@npm:8.6.2" - dependencies: - debug: "npm:^4.4.3" - ip-address: "npm:^10.2.0" - peerDependencies: - express: ">= 4.11" - checksum: 10c0/34dba96f7daa01fe9f73a965c0ddaa73bf83d2cb1691ed5e060451ddacebc10fda211a3cf0c34592cf0360bf00d6d9354f3e11ccda7c899705ec1e43383c3144 - languageName: node - linkType: hard - "express-serve-static-core@npm:^0.1.1": version: 0.1.1 resolution: "express-serve-static-core@npm:0.1.1" @@ -8251,7 +7123,7 @@ __metadata: languageName: node linkType: hard -"express@npm:5.2.1, express@npm:^5.2.1": +"express@npm:5.2.1": version: 5.2.1 resolution: "express@npm:5.2.1" dependencies: @@ -8287,45 +7159,6 @@ __metadata: languageName: node linkType: hard -"express@npm:^4.16.4": - version: 4.22.2 - resolution: "express@npm:4.22.2" - dependencies: - accepts: "npm:~1.3.8" - array-flatten: "npm:1.1.1" - body-parser: "npm:~1.20.5" - content-disposition: "npm:~0.5.4" - content-type: "npm:~1.0.4" - cookie: "npm:~0.7.1" - cookie-signature: "npm:~1.0.6" - debug: "npm:2.6.9" - depd: "npm:2.0.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - finalhandler: "npm:~1.3.1" - fresh: "npm:~0.5.2" - http-errors: "npm:~2.0.0" - merge-descriptors: "npm:1.0.3" - methods: "npm:~1.1.2" - on-finished: "npm:~2.4.1" - parseurl: "npm:~1.3.3" - path-to-regexp: "npm:~0.1.12" - proxy-addr: "npm:~2.0.7" - qs: "npm:~6.15.1" - range-parser: "npm:~1.2.1" - safe-buffer: "npm:5.2.1" - send: "npm:~0.19.0" - serve-static: "npm:~1.16.2" - setprototypeof: "npm:1.2.0" - statuses: "npm:~2.0.1" - type-is: "npm:~1.6.18" - utils-merge: "npm:1.0.1" - vary: "npm:~1.1.2" - checksum: 10c0/d06dd4379fd217440b30f8abbe45f0e74931114c1395034f03e7d635196ecdab530d4835a1962a6aa34838d61967dc6f1f77846999bba3032373e9e714222c44 - languageName: node - linkType: hard - "extend@npm:^3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -8354,13 +7187,6 @@ __metadata: languageName: node linkType: hard -"fast-fifo@npm:^1.2.0, fast-fifo@npm:^1.3.2": - version: 1.3.2 - resolution: "fast-fifo@npm:1.3.2" - checksum: 10c0/d53f6f786875e8b0529f784b59b4b05d4b5c31c651710496440006a398389a579c8dbcd2081311478b5bf77f4b0b21de69109c5a4eabea9d8e8783d1eb864e4c - languageName: node - linkType: hard - "fast-glob@npm:^3.2.9": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" @@ -8482,13 +7308,6 @@ __metadata: languageName: node linkType: hard -"fecha@npm:^4.2.0": - version: 4.2.3 - resolution: "fecha@npm:4.2.3" - checksum: 10c0/0e895965959cf6a22bb7b00f0bf546f2783836310f510ddf63f463e1518d4c96dec61ab33fdfd8e79a71b4856a7c865478ce2ee8498d560fe125947703c9b1cf - languageName: node - linkType: hard - "fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": version: 3.2.0 resolution: "fetch-blob@npm:3.2.0" @@ -8527,13 +7346,6 @@ __metadata: languageName: node linkType: hard -"filesize@npm:^6.1.0": - version: 6.4.0 - resolution: "filesize@npm:6.4.0" - checksum: 10c0/1c317e59636d2079e64fcd38a69d415d5713a328496e0e5f1889b83e8adea8b47ceb9eb14726013b7cca02e76f5bd041eeab94edad8bed35d4ab1ecad55144d9 - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -8543,21 +7355,6 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:1.1.2": - version: 1.1.2 - resolution: "finalhandler@npm:1.1.2" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~1.0.2" - escape-html: "npm:~1.0.3" - on-finished: "npm:~2.3.0" - parseurl: "npm:~1.3.3" - statuses: "npm:~1.5.0" - unpipe: "npm:~1.0.0" - checksum: 10c0/6a96e1f5caab085628c11d9fdceb82ba608d5e426c6913d4d918409baa271037a47f28fbba73279e8ad614f0b8fa71ea791d265e408d760793829edd8c2f4584 - languageName: node - linkType: hard - "finalhandler@npm:^2.1.0": version: 2.1.1 resolution: "finalhandler@npm:2.1.1" @@ -8572,21 +7369,6 @@ __metadata: languageName: node linkType: hard -"finalhandler@npm:~1.3.1": - version: 1.3.2 - resolution: "finalhandler@npm:1.3.2" - dependencies: - debug: "npm:2.6.9" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - on-finished: "npm:~2.4.1" - parseurl: "npm:~1.3.3" - statuses: "npm:~2.0.2" - unpipe: "npm:~1.0.0" - checksum: 10c0/435a4fd65e4e4e4c71bb5474980090b73c353a123dd415583f67836bdd6516e528cf07298e219a82b94631dee7830eae5eece38d3c178073cf7df4e8c182f413 - languageName: node - linkType: hard - "find-up@npm:^5.0.0": version: 5.0.0 resolution: "find-up@npm:5.0.0" @@ -8664,92 +7446,6 @@ __metadata: languageName: node linkType: hard -"firebase-tools@npm:15.15.0": - version: 15.15.0 - resolution: "firebase-tools@npm:15.15.0" - dependencies: - "@apphosting/build": "npm:^0.1.7" - "@apphosting/common": "npm:^0.0.8" - "@electric-sql/pglite": "npm:^0.3.3" - "@electric-sql/pglite-tools": "npm:^0.2.8" - "@google-cloud/cloud-sql-connector": "npm:^1.3.3" - "@google-cloud/pubsub": "npm:^5.2.0" - "@inquirer/prompts": "npm:^7.10.1" - "@modelcontextprotocol/sdk": "npm:^1.24.0" - abort-controller: "npm:^3.0.0" - ajv: "npm:^8.17.1" - ajv-formats: "npm:3.0.1" - archiver: "npm:^7.0.0" - async-lock: "npm:1.4.1" - body-parser: "npm:^1.19.0" - chokidar: "npm:^3.6.0" - cjson: "npm:^0.3.1" - cli-table3: "npm:0.6.5" - colorette: "npm:^2.0.19" - commander: "npm:^5.1.0" - configstore: "npm:^5.0.1" - cors: "npm:^2.8.5" - cross-env: "npm:^7.0.3" - cross-spawn: "npm:^7.0.5" - csv-parse: "npm:^5.0.4" - deep-equal-in-any-order: "npm:^2.0.6" - exegesis: "npm:^4.2.0" - exegesis-express: "npm:^4.0.0" - express: "npm:^4.16.4" - filesize: "npm:^6.1.0" - form-data: "npm:^4.0.1" - fs-extra: "npm:^10.1.0" - fuzzy: "npm:^0.1.3" - gaxios: "npm:^6.7.0" - glob: "npm:^10.5.0" - google-auth-library: "npm:^9.11.0" - ignore: "npm:^7.0.4" - js-yaml: "npm:^3.14.2" - jsonwebtoken: "npm:^9.0.2" - leven: "npm:^3.1.0" - libsodium-wrappers: "npm:^0.7.10" - lodash: "npm:^4.18.0" - lsofi: "npm:^2.0.0" - marked: "npm:^13.0.2" - marked-terminal: "npm:^7.0.0" - mime: "npm:^2.5.2" - minimatch: "npm:^3.0.4" - morgan: "npm:^1.10.0" - node-fetch: "npm:^2.6.7" - open: "npm:^6.3.0" - ora: "npm:^5.4.1" - p-limit: "npm:^3.0.1" - pg: "npm:^8.11.3" - pg-gateway: "npm:^0.3.0-beta.4" - pglite-2: "npm:@electric-sql/pglite@0.2.17" - portfinder: "npm:^1.0.32" - progress: "npm:^2.0.3" - proxy-agent: "npm:^6.3.0" - retry: "npm:^0.13.1" - semver: "npm:^7.5.2" - sql-formatter: "npm:^15.3.0" - stream-chain: "npm:^2.2.4" - stream-json: "npm:^1.7.3" - superstatic: "npm:^10.0.0" - tar: "npm:^7.5.11" - tcp-port-used: "npm:^1.0.2" - tmp: "npm:^0.2.3" - triple-beam: "npm:^1.3.0" - universal-analytics: "npm:^0.5.3" - update-notifier-cjs: "npm:^5.1.6" - uuid: "npm:^8.3.2" - winston: "npm:^3.0.0" - winston-transport: "npm:^4.4.0" - ws: "npm:^7.5.10" - yaml: "npm:^2.8.3" - zod: "npm:^3.24.3" - zod-to-json-schema: "npm:^3.24.5" - bin: - firebase: lib/bin/firebase.js - checksum: 10c0/b14ee580ce05da9e878df408e98647503a1acf0f5414c68b3635ab0d70d9c307322558cf4750bb386abcdc05085c6eb51b8e649ead2631bfd77aba19d7dadbdd - languageName: node - linkType: hard - "firebase@npm:^11.0.0": version: 11.10.0 resolution: "firebase@npm:11.10.0" @@ -8804,13 +7500,6 @@ __metadata: languageName: node linkType: hard -"fn.name@npm:1.x.x": - version: 1.1.0 - resolution: "fn.name@npm:1.1.0" - checksum: 10c0/8ad62aa2d4f0b2a76d09dba36cfec61c540c13a0fd72e5d94164e430f987a7ce6a743112bbeb14877c810ef500d1f73d7f56e76d029d2e3413f20d79e3460a9a - languageName: node - linkType: hard - "for-each@npm:^0.3.3, for-each@npm:^0.3.5": version: 0.3.5 resolution: "for-each@npm:0.3.5" @@ -8889,13 +7578,6 @@ __metadata: languageName: node linkType: hard -"fresh@npm:~0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a - languageName: node - linkType: hard - "fs-constants@npm:^1.0.0": version: 1.0.0 resolution: "fs-constants@npm:1.0.0" @@ -8903,7 +7585,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^10.0.0, fs-extra@npm:^10.1.0": +"fs-extra@npm:^10.0.0": version: 10.1.0 resolution: "fs-extra@npm:10.1.0" dependencies: @@ -9012,13 +7694,6 @@ __metadata: languageName: node linkType: hard -"fuzzy@npm:^0.1.3": - version: 0.1.3 - resolution: "fuzzy@npm:0.1.3" - checksum: 10c0/584fcd57a03431707a6d0c1c4a41f17368cdb23d37dcb176d6cbbeeaecaac51be15dec229b3547acfb7db052cb066fcd86db907d40112ac4a3d3a368f88e7105 - languageName: node - linkType: hard - "gauge@npm:^3.0.0": version: 3.0.2 resolution: "gauge@npm:3.0.2" @@ -9052,19 +7727,7 @@ __metadata: languageName: node linkType: hard -"gaxios@npm:7.1.3": - version: 7.1.3 - resolution: "gaxios@npm:7.1.3" - dependencies: - extend: "npm:^3.0.2" - https-proxy-agent: "npm:^7.0.1" - node-fetch: "npm:^3.3.2" - rimraf: "npm:^5.0.1" - checksum: 10c0/a4a1cdf9a392c0c22e9734a40dca5a77a2903f505b939a50f1e68e312458b1289b7993d2f72d011426e89657cae77a3aa9fc62fb140e8ba90a1faa31fdbde4d2 - languageName: node - linkType: hard - -"gaxios@npm:^6.0.0, gaxios@npm:^6.0.2, gaxios@npm:^6.1.1, gaxios@npm:^6.7.0": +"gaxios@npm:^6.0.0, gaxios@npm:^6.0.2, gaxios@npm:^6.1.1": version: 6.7.1 resolution: "gaxios@npm:6.7.1" dependencies: @@ -9110,17 +7773,6 @@ __metadata: languageName: node linkType: hard -"gcp-metadata@npm:^8.0.0": - version: 8.1.4 - resolution: "gcp-metadata@npm:8.1.4" - dependencies: - gaxios: "npm:7.1.3" - google-logging-utils: "npm:1.1.3" - json-bigint: "npm:^1.0.0" - checksum: 10c0/dffba44f5192d73c515f04fd9ce7da89e5d05403d75c93d308bb3909044721038eac581cd08652679eaf570b232c65fae8591ba06ec8370945e1ca94609ab8aa - languageName: node - linkType: hard - "generator-function@npm:^2.0.0": version: 2.0.1 resolution: "generator-function@npm:2.0.1" @@ -9198,17 +7850,6 @@ __metadata: languageName: node linkType: hard -"get-uri@npm:^6.0.1": - version: 6.0.5 - resolution: "get-uri@npm:6.0.5" - dependencies: - basic-ftp: "npm:^5.0.2" - data-uri-to-buffer: "npm:^6.0.2" - debug: "npm:^4.3.4" - checksum: 10c0/c7ff5d5d55de53d23ecce7c5108cc3ed0db1174db43c9aa15506d640283d36ee0956fd8ba1fc50b06a718466cc85794ae9d8860193f91318afe846e3e7010f3a - languageName: node - linkType: hard - "git-raw-commits@npm:^4.0.0": version: 4.0.0 resolution: "git-raw-commits@npm:4.0.0" @@ -9229,7 +7870,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": +"glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -9247,24 +7888,6 @@ __metadata: languageName: node linkType: hard -"glob-slash@npm:^1.0.0": - version: 1.0.0 - resolution: "glob-slash@npm:1.0.0" - checksum: 10c0/ef39ce78883e8afc0cced9ec816a9323345eca0484ad143602bd44bca6379df6ea2544680c455cc4da1b24509c451a09bc860871c86142271c7ba3d06c1f8fc1 - languageName: node - linkType: hard - -"glob-slasher@npm:^1.0.1": - version: 1.0.1 - resolution: "glob-slasher@npm:1.0.1" - dependencies: - glob-slash: "npm:^1.0.0" - lodash.isobject: "npm:^2.4.1" - toxic: "npm:^1.0.0" - checksum: 10c0/9d83a388382a971da0945ac23d0d45b8da329d9397f548cfb37929b0d088788c54878685bb0d843ddab99941a122623efe0b329756340dddb6ee04dd4f0c77e9 - languageName: node - linkType: hard - "glob@npm:13.0.6": version: 13.0.6 resolution: "glob@npm:13.0.6" @@ -9276,7 +7899,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.0.0, glob@npm:^10.3.10, glob@npm:^10.3.7, glob@npm:^10.5.0": +"glob@npm:^10.5.0": version: 10.5.0 resolution: "glob@npm:10.5.0" dependencies: @@ -9342,15 +7965,6 @@ __metadata: languageName: node linkType: hard -"global-dirs@npm:^3.0.0": - version: 3.0.1 - resolution: "global-dirs@npm:3.0.1" - dependencies: - ini: "npm:2.0.0" - checksum: 10c0/ef65e2241a47ff978f7006a641302bc7f4c03dfb98783d42bf7224c136e3a06df046e70ee3a010cf30214114755e46c9eb5eb1513838812fbbe0d92b14c25080 - languageName: node - linkType: hard - "globals@npm:^13.19.0": version: 13.24.0 resolution: "globals@npm:13.24.0" @@ -9384,35 +7998,6 @@ __metadata: languageName: node linkType: hard -"google-auth-library@npm:10.5.0": - version: 10.5.0 - resolution: "google-auth-library@npm:10.5.0" - dependencies: - base64-js: "npm:^1.3.0" - ecdsa-sig-formatter: "npm:^1.0.11" - gaxios: "npm:^7.0.0" - gcp-metadata: "npm:^8.0.0" - google-logging-utils: "npm:^1.0.0" - gtoken: "npm:^8.0.0" - jws: "npm:^4.0.0" - checksum: 10c0/49d3931d20b1f4a4d075216bf5518e2b3396dcf441a8f1952611cf3b6080afb1261c3d32009609047ee4a1cc545269a74b4957e6bba9cce840581df309c4b145 - languageName: node - linkType: hard - -"google-auth-library@npm:^10.5.0, google-auth-library@npm:^10.6.2": - version: 10.9.1 - resolution: "google-auth-library@npm:10.9.1" - dependencies: - base64-js: "npm:^1.3.0" - ecdsa-sig-formatter: "npm:^1.0.11" - gaxios: "npm:^7.1.4" - gcp-metadata: "npm:8.1.2" - google-logging-utils: "npm:1.1.3" - jws: "npm:^4.0.0" - checksum: 10c0/46babe840d295ad94044bdba763bd41b10dc50d60f00e3e7b441465db171dc54c8f33ba44212db40e84aba3a72c23d642fa5a807e778e60049ad7d860d100680 - languageName: node - linkType: hard - "google-auth-library@npm:^10.6.1": version: 10.6.2 resolution: "google-auth-library@npm:10.6.2" @@ -9427,7 +8012,7 @@ __metadata: languageName: node linkType: hard -"google-auth-library@npm:^9.11.0, google-auth-library@npm:^9.3.0, google-auth-library@npm:^9.6.3": +"google-auth-library@npm:^9.3.0, google-auth-library@npm:^9.6.3": version: 9.15.1 resolution: "google-auth-library@npm:9.15.1" dependencies: @@ -9461,25 +8046,6 @@ __metadata: languageName: node linkType: hard -"google-gax@npm:^5.0.5": - version: 5.0.8 - resolution: "google-gax@npm:5.0.8" - dependencies: - "@grpc/grpc-js": "npm:^1.12.6" - "@grpc/proto-loader": "npm:^0.8.0" - duplexify: "npm:^4.1.3" - google-auth-library: "npm:10.5.0" - google-logging-utils: "npm:1.1.3" - node-fetch: "npm:^3.3.2" - object-hash: "npm:^3.0.0" - proto3-json-serializer: "npm:3.0.4" - protobufjs: "npm:^7.5.4" - retry-request: "npm:^8.0.2" - rimraf: "npm:^5.0.1" - checksum: 10c0/dbeed0a959c7628393888e2b6da19767e265b803b19f92b5c35b3e776c123e359673da8b832387958012c70956c01f5bb8b19468405531cb7e2dd9aa28088fb7 - languageName: node - linkType: hard - "google-logging-utils@npm:1.1.3, google-logging-utils@npm:^1.0.0": version: 1.1.3 resolution: "google-logging-utils@npm:1.1.3" @@ -9494,27 +8060,6 @@ __metadata: languageName: node linkType: hard -"google-logging-utils@npm:^1.1.3": - version: 1.2.0 - resolution: "google-logging-utils@npm:1.2.0" - checksum: 10c0/a5bceaa13ef6ed7e84a4dd96d8acb5ca895c7777a35629921096c53b1740518d3a8aa35d808697488ecf0416f2e72d462148ecbbbec34a805b5eacc136171a53 - languageName: node - linkType: hard - -"googleapis-common@npm:^8.0.0": - version: 8.0.3 - resolution: "googleapis-common@npm:8.0.3" - dependencies: - extend: "npm:^3.0.2" - gaxios: "npm:7.1.3" - google-auth-library: "npm:10.5.0" - google-logging-utils: "npm:1.1.3" - qs: "npm:^6.7.0" - url-template: "npm:^2.0.8" - checksum: 10c0/8cda8ab8c300fc63fcabfd3b9ca35529dcbd9bdb9106db6bc460e33541d5bcd8f62b7051ae15129f98cddcddc964c35e59c671523a1eb5da8edf4c88a4cf3326 - languageName: node - linkType: hard - "gopd@npm:^1.0.1, gopd@npm:^1.2.0": version: 1.2.0 resolution: "gopd@npm:1.2.0" @@ -9522,14 +8067,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:4.2.10": - version: 4.2.10 - resolution: "graceful-fs@npm:4.2.10" - checksum: 10c0/4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -9553,16 +8091,6 @@ __metadata: languageName: node linkType: hard -"gtoken@npm:^8.0.0": - version: 8.0.0 - resolution: "gtoken@npm:8.0.0" - dependencies: - gaxios: "npm:^7.0.0" - jws: "npm:^4.0.0" - checksum: 10c0/058538e5bbe081d30ada5f1fd34d3a8194357c2e6ecbf7c8a98daeefbf13f7e06c15649c7dace6a1d4cc3bc6dc5483bd484d6d7adc5852021896d7c05c439f37 - languageName: node - linkType: hard - "has-bigints@npm:^1.0.2": version: 1.1.0 resolution: "has-bigints@npm:1.1.0" @@ -9618,13 +8146,6 @@ __metadata: languageName: node linkType: hard -"has-yarn@npm:^2.1.0": - version: 2.1.0 - resolution: "has-yarn@npm:2.1.0" - checksum: 10c0/b5cab61b4129c2fc0474045b59705371b7f5ddf2aab8ba8725011e52269f017e06f75059a2c8a1d8011e9779c2885ad987263cfc6d1280f611c396b45fd5d74a - languageName: node - linkType: hard - "hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" @@ -9643,13 +8164,6 @@ __metadata: languageName: node linkType: hard -"heap-js@npm:^2.6.0": - version: 2.7.1 - resolution: "heap-js@npm:2.7.1" - checksum: 10c0/a1e4ec7624487f198158599a04b73f5e72f3e805b2ee7dc18ae5340be035a8e5c9e6ee01d8ed4eb81a8bcb6c03b0342f57af386b2552825777a1d7c64adedbd4 - languageName: node - linkType: hard - "helmet@npm:^8.0.0, helmet@npm:^8.1.0": version: 8.1.0 resolution: "helmet@npm:8.1.0" @@ -9657,29 +8171,6 @@ __metadata: languageName: node linkType: hard -"highlight.js@npm:^10.7.1": - version: 10.7.3 - resolution: "highlight.js@npm:10.7.3" - checksum: 10c0/073837eaf816922427a9005c56c42ad8786473dc042332dfe7901aa065e92bc3d94ebf704975257526482066abb2c8677cc0326559bb8621e046c21c5991c434 - languageName: node - linkType: hard - -"hono@npm:^4.11.4": - version: 4.13.1 - resolution: "hono@npm:4.13.1" - checksum: 10c0/83524961f806293464e6c3b31a7fd2ab8cd8e9cb66e65dea1fbbefb70744844c13b7409ed9b49b43e8543e5c0f1b851f2586fa759eea9da0b69503b58cd0d985 - languageName: node - linkType: hard - -"hosted-git-info@npm:^7.0.0": - version: 7.0.2 - resolution: "hosted-git-info@npm:7.0.2" - dependencies: - lru-cache: "npm:^10.0.1" - checksum: 10c0/b19dbd92d3c0b4b0f1513cf79b0fc189f54d6af2129eeb201de2e9baaa711f1936929c848b866d9c8667a0f956f34bf4f07418c12be1ee9ca74fd9246335ca1f - languageName: node - linkType: hard - "html-entities@npm:^2.5.2": version: 2.6.0 resolution: "html-entities@npm:2.6.0" @@ -9701,7 +8192,7 @@ __metadata: languageName: node linkType: hard -"http-errors@npm:^2.0.0, http-errors@npm:^2.0.1, http-errors@npm:~2.0.0, http-errors@npm:~2.0.1": +"http-errors@npm:^2.0.0, http-errors@npm:^2.0.1, http-errors@npm:~2.0.1": version: 2.0.1 resolution: "http-errors@npm:2.0.1" dependencies: @@ -9743,7 +8234,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.1": +"http-proxy-agent@npm:^7.0.0": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -9763,7 +8254,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6": +"https-proxy-agent@npm:^7.0.1": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -9818,15 +8309,6 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:~0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3" - checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 - languageName: node - linkType: hard - "idb@npm:7.1.1": version: 7.1.1 resolution: "idb@npm:7.1.1" @@ -9848,13 +8330,6 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^7.0.4": - version: 7.0.6 - resolution: "ignore@npm:7.0.6" - checksum: 10c0/fc01ef1d14efbe003439b60538726351e81483d1b6f55bdbb3a4465c6346d9481afad5b350dfbd604ddd7049618ef9093ff26dc147984aabc303c56ba53ea3b5 - languageName: node - linkType: hard - "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" @@ -9865,13 +8340,6 @@ __metadata: languageName: node linkType: hard -"import-lazy@npm:^2.1.0": - version: 2.1.0 - resolution: "import-lazy@npm:2.1.0" - checksum: 10c0/c5e5f507d26ee23c5b2ed64577155810361ac37863b322cae0c17f16b6a8cdd15adf370288384ddd95ef9de05602fb8d87bf76ff835190eb037333c84db8062c - languageName: node - linkType: hard - "import-meta-resolve@npm:^4.0.0": version: 4.2.0 resolution: "import-meta-resolve@npm:4.2.0" @@ -9910,20 +8378,13 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.4": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 languageName: node linkType: hard -"ini@npm:2.0.0": - version: 2.0.0 - resolution: "ini@npm:2.0.0" - checksum: 10c0/2e0c8f386369139029da87819438b20a1ff3fe58372d93fb1a86e9d9344125ace3a806b8ec4eb160a46e64cbc422fe68251869441676af49b7fc441af2389c25 - languageName: node - linkType: hard - "ini@npm:4.1.1": version: 4.1.1 resolution: "ini@npm:4.1.1" @@ -9931,7 +8392,7 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.4, ini@npm:~1.3.0": +"ini@npm:~1.3.0": version: 1.3.8 resolution: "ini@npm:1.3.8" checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a @@ -9945,17 +8406,6 @@ __metadata: languageName: node linkType: hard -"install-artifact-from-github@npm:^1.7.0": - version: 1.7.0 - resolution: "install-artifact-from-github@npm:1.7.0" - bin: - hash-github-cache: bin/hash-github-cache.js - install-from-cache: bin/install-from-cache.js - save-to-github-cache: bin/save-to-github-cache.js - checksum: 10c0/f820cedab97ad57c4185c51f9e5c652e8e9531af33ce617a631bb9c0d42d73c648ff26c8a97114a96c9f108b0e7505257052262357bd449e90c446b64f7ded6e - languageName: node - linkType: hard - "internal-slot@npm:^1.1.0": version: 1.1.0 resolution: "internal-slot@npm:1.1.0" @@ -9974,20 +8424,6 @@ __metadata: languageName: node linkType: hard -"ip-address@npm:^10.2.0": - version: 10.4.0 - resolution: "ip-address@npm:10.4.0" - checksum: 10c0/d7b0bd2624fd861afbae6e49036a9b56f9506eaff7ff38592b7b4492dd5c272b53f5356dc8cc019e318acf29a96c90a3d1af1df761960267d23efa96858270fa - languageName: node - linkType: hard - -"ip-regex@npm:^2.1.0": - version: 2.1.0 - resolution: "ip-regex@npm:2.1.0" - checksum: 10c0/3ce2d8307fa0373ca357eba7504e66e73b8121805fd9eba6a343aeb077c64c30659fa876b11ac7a75635b7529d2ce87723f208a5b9d51571513b5c68c0cc1541 - languageName: node - linkType: hard - "ipaddr.js@npm:1.9.1": version: 1.9.1 resolution: "ipaddr.js@npm:1.9.1" @@ -10035,15 +8471,6 @@ __metadata: languageName: node linkType: hard -"is-binary-path@npm:~2.1.0": - version: 2.1.0 - resolution: "is-binary-path@npm:2.1.0" - dependencies: - binary-extensions: "npm:^2.0.0" - checksum: 10c0/a16eaee59ae2b315ba36fad5c5dcaf8e49c3e27318f8ab8fa3cdb8772bf559c8d1ba750a589c2ccb096113bb64497084361a25960899cb6172a6925ab6123d38 - languageName: node - linkType: hard - "is-boolean-object@npm:^1.2.1": version: 1.2.2 resolution: "is-boolean-object@npm:1.2.2" @@ -10061,17 +8488,6 @@ __metadata: languageName: node linkType: hard -"is-ci@npm:^2.0.0": - version: 2.0.0 - resolution: "is-ci@npm:2.0.0" - dependencies: - ci-info: "npm:^2.0.0" - bin: - is-ci: bin.js - checksum: 10c0/17de4e2cd8f993c56c86472dd53dd9e2c7f126d0ee55afe610557046cdd64de0e8feadbad476edc9eeff63b060523b8673d9094ed2ab294b59efb5a66dd05a9a - languageName: node - linkType: hard - "is-core-module@npm:^2.13.0, is-core-module@npm:^2.16.1": version: 2.16.1 resolution: "is-core-module@npm:2.16.1" @@ -10147,7 +8563,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -10156,23 +8572,6 @@ __metadata: languageName: node linkType: hard -"is-installed-globally@npm:^0.4.0": - version: 0.4.0 - resolution: "is-installed-globally@npm:0.4.0" - dependencies: - global-dirs: "npm:^3.0.0" - is-path-inside: "npm:^3.0.2" - checksum: 10c0/f3e6220ee5824b845c9ed0d4b42c24272701f1f9926936e30c0e676254ca5b34d1b92c6205cae11b283776f9529212c0cdabb20ec280a6451677d6493ca9c22d - languageName: node - linkType: hard - -"is-interactive@npm:^1.0.0": - version: 1.0.0 - resolution: "is-interactive@npm:1.0.0" - checksum: 10c0/dd47904dbf286cd20aa58c5192161be1a67138485b9836d5a70433b21a45442e9611b8498b8ab1f839fc962c7620667a50535fdfb4a6bc7989b8858645c06b4d - languageName: node - linkType: hard - "is-interactive@npm:^2.0.0": version: 2.0.0 resolution: "is-interactive@npm:2.0.0" @@ -10201,13 +8600,6 @@ __metadata: languageName: node linkType: hard -"is-npm@npm:^5.0.0": - version: 5.0.0 - resolution: "is-npm@npm:5.0.0" - checksum: 10c0/8ded3ae1119bbbda22395fe1c64d2d79d3b3baeb2635c90f9a9dca4b8ce19a67b55fda178269b63421b257b361892fd545807fb5ac212f06776f544d9fcc3ab0 - languageName: node - linkType: hard - "is-number-object@npm:^1.1.1": version: 1.1.1 resolution: "is-number-object@npm:1.1.1" @@ -10232,7 +8624,7 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": +"is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 @@ -10274,14 +8666,7 @@ __metadata: languageName: node linkType: hard -"is-stream-ended@npm:^0.1.4": - version: 0.1.4 - resolution: "is-stream-ended@npm:0.1.4" - checksum: 10c0/fa4136d91d44f54aabeedd7b8072e03e0e4a6dac4cd47000152781ccad6451787e39ae5db15e7400a261e4d8ef976713237d49c773856548dbf171cc82893afc - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0, is-stream@npm:^2.0.1": +"is-stream@npm:^2.0.0": version: 2.0.1 resolution: "is-stream@npm:2.0.1" checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 @@ -10327,31 +8712,10 @@ __metadata: languageName: node linkType: hard -"is-typedarray@npm:^1.0.0": - version: 1.0.0 - resolution: "is-typedarray@npm:1.0.0" - checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec - languageName: node - linkType: hard - -"is-unicode-supported@npm:^0.1.0": - version: 0.1.0 - resolution: "is-unicode-supported@npm:0.1.0" - checksum: 10c0/00cbe3455c3756be68d2542c416cab888aebd5012781d6819749fefb15162ff23e38501fe681b3d751c73e8ff561ac09a5293eba6f58fdf0178462ce6dcb3453 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^2.0.0, is-unicode-supported@npm:^2.1.0": - version: 2.1.0 - resolution: "is-unicode-supported@npm:2.1.0" - checksum: 10c0/a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5 - languageName: node - linkType: hard - -"is-url@npm:^1.2.2": - version: 1.2.4 - resolution: "is-url@npm:1.2.4" - checksum: 10c0/0157a79874f8f95fdd63540e3f38c8583c2ef572661cd0693cda80ae3e42dfe8e9a4a972ec1b827f861d9a9acf75b37f7d58a37f94a8a053259642912c252bc3 +"is-unicode-supported@npm:^2.0.0, is-unicode-supported@npm:^2.1.0": + version: 2.1.0 + resolution: "is-unicode-supported@npm:2.1.0" + checksum: 10c0/a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5 languageName: node linkType: hard @@ -10381,13 +8745,6 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^1.1.0": - version: 1.1.0 - resolution: "is-wsl@npm:1.1.0" - checksum: 10c0/7ad0012f21092d6f586c7faad84755a8ef0da9b9ec295e4dc82313cce4e1a93a3da3c217265016461f9b141503fe55fa6eb1fd5457d3f05e8d1bdbb48e50c13a - languageName: node - linkType: hard - "is-wsl@npm:^2.1.1": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" @@ -10397,31 +8754,6 @@ __metadata: languageName: node linkType: hard -"is-yarn-global@npm:^0.3.0": - version: 0.3.0 - resolution: "is-yarn-global@npm:0.3.0" - checksum: 10c0/9f1ab6f28e6e7961c4b97e564791d1decf2886a0dbe9b92b2176d76156adbb42b4c06c0f33d7107b270c207cbcfe0b2293b7cc4a0ec6774ac6d37af9503d51e1 - languageName: node - linkType: hard - -"is2@npm:2.0.1": - version: 2.0.1 - resolution: "is2@npm:2.0.1" - dependencies: - deep-is: "npm:^0.1.3" - ip-regex: "npm:^2.1.0" - is-url: "npm:^1.2.2" - checksum: 10c0/f8f11258890c1b0c38d1dff02742b06218518ca94ef389022b32b43442149b23d5b17d3d264c22e0cd18447196b48d26b74190deb59ae219fb6506d53fc7f2d3 - languageName: node - linkType: hard - -"isarray@npm:0.0.1": - version: 0.0.1 - resolution: "isarray@npm:0.0.1" - checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 - languageName: node - linkType: hard - "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -10429,13 +8761,6 @@ __metadata: languageName: node linkType: hard -"isarray@npm:~1.0.0": - version: 1.0.0 - resolution: "isarray@npm:1.0.0" - checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d - languageName: node - linkType: hard - "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -10450,16 +8775,6 @@ __metadata: languageName: node linkType: hard -"isomorphic-fetch@npm:^3.0.0": - version: 3.0.0 - resolution: "isomorphic-fetch@npm:3.0.0" - dependencies: - node-fetch: "npm:^2.6.1" - whatwg-fetch: "npm:^3.4.1" - checksum: 10c0/511b1135c6d18125a07de661091f5e7403b7640060355d2d704ce081e019bc1862da849482d079ce5e2559b8976d3de7709566063aec1b908369c0b98a2b075b - languageName: node - linkType: hard - "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" @@ -10526,24 +8841,13 @@ __metadata: languageName: node linkType: hard -"jju@npm:^1.1.0, jju@npm:~1.4.0": +"jju@npm:~1.4.0": version: 1.4.0 resolution: "jju@npm:1.4.0" checksum: 10c0/f3f444557e4364cfc06b1abf8331bf3778b26c0c8552ca54429bc0092652172fdea26cbffe33e1017b303d5aa506f7ede8571857400efe459cb7439180e2acad languageName: node linkType: hard -"join-path@npm:^1.1.1": - version: 1.1.1 - resolution: "join-path@npm:1.1.1" - dependencies: - as-array: "npm:^2.0.0" - url-join: "npm:0.0.1" - valid-url: "npm:^1" - checksum: 10c0/16b3e1a97e4fe18406ff069df5b11c262ebb06c3ffa2accb25f71721fc8aefbfbf3e6bf94b9b1c58639b80d9046d5eb4c2e6bdc26c9d8d9d605003061e29ab6f - languageName: node - linkType: hard - "jose@npm:^4.15.4": version: 4.15.9 resolution: "jose@npm:4.15.9" @@ -10551,13 +8855,6 @@ __metadata: languageName: node linkType: hard -"jose@npm:^6.1.3": - version: 6.2.8 - resolution: "jose@npm:6.2.8" - checksum: 10c0/fe4c6a7197a1adab2251b000c1eaaa8b40b6cb7cfbef43dbc9e959dacd43bf2532827b2d5e0f4069731da79d26e4d9e4368ccb26559a42a884b3fe036927e6e1 - languageName: node - linkType: hard - "js-tokens@npm:^10.0.0": version: 10.0.0 resolution: "js-tokens@npm:10.0.0" @@ -10622,22 +8919,6 @@ __metadata: languageName: node linkType: hard -"json-parse-helpfulerror@npm:^1.0.3": - version: 1.0.3 - resolution: "json-parse-helpfulerror@npm:1.0.3" - dependencies: - jju: "npm:^1.1.0" - checksum: 10c0/5104d0c41792179370c59e3a82760e952bb8ecd83075f76a1eaab90719292aea0072fed6d3efb1b4a2e9b7e88930c378aa4e6e29ca67d0c9e9826331499eb822 - languageName: node - linkType: hard - -"json-ptr@npm:^3.0.1": - version: 3.1.1 - resolution: "json-ptr@npm:3.1.1" - checksum: 10c0/f5fd7eb60a8ad52e3531eea8285d22a67bf67a16249da032cd42fabcac386135adbe8c64a5588f5b755e77b9e646ca5cc97782fe09c5cef0b6d24ebdd1e1c277 - languageName: node - linkType: hard - "json-schema-traverse@npm:^0.4.1": version: 0.4.1 resolution: "json-schema-traverse@npm:0.4.1" @@ -10652,13 +8933,6 @@ __metadata: languageName: node linkType: hard -"json-schema-typed@npm:^8.0.2": - version: 8.0.2 - resolution: "json-schema-typed@npm:8.0.2" - checksum: 10c0/89f5e2fb1495483b705c027203c07277ee6bf2665165ad25a9cb55de5af7f72570326d13d32565180781e4083ad5c9688102f222baed7b353c2f39c1e02b0428 - languageName: node - linkType: hard - "json-stable-stringify-without-jsonify@npm:^1.0.1": version: 1.0.1 resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" @@ -10829,29 +9103,6 @@ __metadata: languageName: node linkType: hard -"kuler@npm:^2.0.0": - version: 2.0.0 - resolution: "kuler@npm:2.0.0" - checksum: 10c0/0a4e99d92ca373f8f74d1dc37931909c4d0d82aebc94cf2ba265771160fc12c8df34eaaac80805efbda367e2795cb1f1dd4c3d404b6b1cf38aec94035b503d2d - languageName: node - linkType: hard - -"lazystream@npm:^1.0.0": - version: 1.0.1 - resolution: "lazystream@npm:1.0.1" - dependencies: - readable-stream: "npm:^2.0.5" - checksum: 10c0/ea4e509a5226ecfcc303ba6782cc269be8867d372b9bcbd625c88955df1987ea1a20da4643bf9270336415a398d33531ebf0d5f0d393b9283dc7c98bfcbd7b69 - languageName: node - linkType: hard - -"leven@npm:^3.1.0": - version: 3.1.0 - resolution: "leven@npm:3.1.0" - checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df - languageName: node - linkType: hard - "levn@npm:^0.4.1": version: 0.4.1 resolution: "levn@npm:0.4.1" @@ -10869,22 +9120,6 @@ __metadata: languageName: node linkType: hard -"libsodium-wrappers@npm:^0.7.10": - version: 0.7.16 - resolution: "libsodium-wrappers@npm:0.7.16" - dependencies: - libsodium: "npm:^0.7.16" - checksum: 10c0/7e6b5f3db8b8a3181e713b5017e000384142137a1712cd4c966f11f03e53ee5169c3277b80c3f2b68676f7e9a6ad141e58ce8b6a71728538b42d1201a566faf6 - languageName: node - linkType: hard - -"libsodium@npm:^0.7.16": - version: 0.7.16 - resolution: "libsodium@npm:0.7.16" - checksum: 10c0/4f1edd4d5d703c20505bbed74bf0dea22db7b9787cfbe4ab9572f0f4ca16f7a5d1d90e18a822ee4d91058a7c9701f82a24a5f22d0a29be5203b9ab9d8c037bda - languageName: node - linkType: hard - "lightningcss-android-arm64@npm:1.32.0": version: 1.32.0 resolution: "lightningcss-android-arm64@npm:1.32.0" @@ -11180,13 +9415,6 @@ __metadata: languageName: node linkType: hard -"lodash._objecttypes@npm:~2.4.1": - version: 2.4.1 - resolution: "lodash._objecttypes@npm:2.4.1" - checksum: 10c0/edb72879107c6072d67aa733eebf534c67a1963118f961e18d46834ed33e1d58f11b491b1709f1217cc1b8d4ca5336618ed3994f4f7d89dbd4cef5cc11d7bf73 - languageName: node - linkType: hard - "lodash.camelcase@npm:^4.3.0": version: 4.3.0 resolution: "lodash.camelcase@npm:4.3.0" @@ -11229,15 +9457,6 @@ __metadata: languageName: node linkType: hard -"lodash.isobject@npm:^2.4.1": - version: 2.4.1 - resolution: "lodash.isobject@npm:2.4.1" - dependencies: - lodash._objecttypes: "npm:~2.4.1" - checksum: 10c0/836a7567947bb01c054bdf4f1c8cc533d5dd053362368f16e5e5cdd1c5cfcf0ff219929e911b671cd9ae536f48318e41abb13a3557e5ec33fd400e262cf58792 - languageName: node - linkType: hard - "lodash.isplainobject@npm:^4.0.6": version: 4.0.6 resolution: "lodash.isplainobject@npm:4.0.6" @@ -11315,16 +9534,6 @@ __metadata: languageName: node linkType: hard -"log-symbols@npm:^4.1.0": - version: 4.1.0 - resolution: "log-symbols@npm:4.1.0" - dependencies: - chalk: "npm:^4.1.0" - is-unicode-supported: "npm:^0.1.0" - checksum: 10c0/67f445a9ffa76db1989d0fa98586e5bc2fd5247260dafb8ad93d9f0ccd5896d53fb830b0e54dade5ad838b9de2006c826831a3c528913093af20dff8bd24aca6 - languageName: node - linkType: hard - "log-symbols@npm:^7.0.1": version: 7.0.1 resolution: "log-symbols@npm:7.0.1" @@ -11335,21 +9544,7 @@ __metadata: languageName: node linkType: hard -"logform@npm:^2.7.0": - version: 2.7.0 - resolution: "logform@npm:2.7.0" - dependencies: - "@colors/colors": "npm:1.6.0" - "@types/triple-beam": "npm:^1.3.2" - fecha: "npm:^4.2.0" - ms: "npm:^2.1.1" - safe-stable-stringify: "npm:^2.3.1" - triple-beam: "npm:^1.3.0" - checksum: 10c0/4789b4b37413c731d1835734cb799240d31b865afde6b7b3e06051d6a4127bfda9e88c99cfbf296d084a315ccbed2647796e6a56b66e725bcb268c586f57558f - languageName: node - linkType: hard - -"long@npm:^5.0.0, long@npm:^5.3.1, long@npm:^5.3.2": +"long@npm:^5.0.0": version: 5.3.2 resolution: "long@npm:5.3.2" checksum: 10c0/7130fe1cbce2dca06734b35b70d380ca3f70271c7f8852c922a7c62c86c4e35f0c39290565eca7133c625908d40e126ac57c02b1b1a4636b9457d77e1e60b981 @@ -11376,7 +9571,7 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": +"lru-cache@npm:^10.2.0": version: 10.4.3 resolution: "lru-cache@npm:10.4.3" checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb @@ -11399,13 +9594,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^7.14.1": - version: 7.18.3 - resolution: "lru-cache@npm:7.18.3" - checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed - languageName: node - linkType: hard - "lru-memoizer@npm:^2.2.0": version: 2.3.0 resolution: "lru-memoizer@npm:2.3.0" @@ -11416,13 +9604,6 @@ __metadata: languageName: node linkType: hard -"lsofi@npm:^2.0.0": - version: 2.0.0 - resolution: "lsofi@npm:2.0.0" - checksum: 10c0/4f6d08a39a2cbcb595d7f801bbe37ab16959278f4d317bc58715d0edb038ed33036106d4e3e74fde413c162c8f782a3de2e10dfa98f859b8e1e6b56e84d85b6e - languageName: node - linkType: hard - "lunr@npm:^2.3.9": version: 2.3.9 resolution: "lunr@npm:2.3.9" @@ -11450,7 +9631,7 @@ __metadata: languageName: node linkType: hard -"make-dir@npm:^3.0.0, make-dir@npm:^3.1.0": +"make-dir@npm:^3.1.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" dependencies: @@ -11572,32 +9753,6 @@ __metadata: languageName: node linkType: hard -"marked-terminal@npm:^7.0.0": - version: 7.3.0 - resolution: "marked-terminal@npm:7.3.0" - dependencies: - ansi-escapes: "npm:^7.0.0" - ansi-regex: "npm:^6.1.0" - chalk: "npm:^5.4.1" - cli-highlight: "npm:^2.1.11" - cli-table3: "npm:^0.6.5" - node-emoji: "npm:^2.2.0" - supports-hyperlinks: "npm:^3.1.0" - peerDependencies: - marked: ">=1 <16" - checksum: 10c0/59d23c2ed9488c40856d828f431ae1d5d57426e791bbce8f05ec5a7d3a1f848cdb3b8d8880d76ae45570415f8b48ae459f50bbbd88ece5a31306f1e3de57f021 - languageName: node - linkType: hard - -"marked@npm:^13.0.2": - version: 13.0.3 - resolution: "marked@npm:13.0.3" - bin: - marked: bin/marked.js - checksum: 10c0/b1121f420f815206ae5ae109b9b0eb6c21f84d8d459cbe38ffa00543652e091f36a55c2c96ff1414821d8752682af8c0de3f44f0a2a5bd9c8612a4ef520e9b3d - languageName: node - linkType: hard - "marked@npm:^4.3.0": version: 4.3.0 resolution: "marked@npm:4.3.0" @@ -11642,13 +9797,6 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.3": - version: 1.0.3 - resolution: "merge-descriptors@npm:1.0.3" - checksum: 10c0/866b7094afd9293b5ea5dcd82d71f80e51514bed33b4c4e9f516795dc366612a4cbb4dc94356e943a8a6914889a914530badff27f397191b9b75cda20b6bae93 - languageName: node - linkType: hard - "merge-descriptors@npm:^2.0.0": version: 2.0.0 resolution: "merge-descriptors@npm:2.0.0" @@ -11663,7 +9811,7 @@ __metadata: languageName: node linkType: hard -"methods@npm:^1.1.2, methods@npm:~1.1.2": +"methods@npm:^1.1.2": version: 1.1.2 resolution: "methods@npm:1.1.2" checksum: 10c0/bdf7cc72ff0a33e3eede03708c08983c4d7a173f91348b4b1e4f47d4cdbf734433ad971e7d1e8c77247d9e5cd8adb81ea4c67b0a2db526b758b2233d7814b8b2 @@ -11687,14 +9835,14 @@ __metadata: languageName: node linkType: hard -"mime-db@npm:>= 1.43.0 < 2, mime-db@npm:^1.54.0": +"mime-db@npm:^1.54.0": version: 1.54.0 resolution: "mime-db@npm:1.54.0" checksum: 10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284 languageName: node linkType: hard -"mime-types@npm:^2.1.35, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": +"mime-types@npm:^2.1.35, mime-types@npm:~2.1.24": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -11712,16 +9860,7 @@ __metadata: languageName: node linkType: hard -"mime@npm:1.6.0": - version: 1.6.0 - resolution: "mime@npm:1.6.0" - bin: - mime: cli.js - checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0 - languageName: node - linkType: hard - -"mime@npm:2.6.0, mime@npm:^2.5.2": +"mime@npm:2.6.0": version: 2.6.0 resolution: "mime@npm:2.6.0" bin: @@ -11739,13 +9878,6 @@ __metadata: languageName: node linkType: hard -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - "mimic-function@npm:^5.0.0": version: 5.0.1 resolution: "mimic-function@npm:5.0.1" @@ -11787,24 +9919,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.1.0": - version: 5.1.9 - resolution: "minimatch@npm:5.1.9" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/4202718683815a7288b13e470160a4f9560cf392adef4f453927505817e01ef6b3476ecde13cfcaed17e7326dd3b69ad44eb2daeb19a217c5500f9277893f1d6 - languageName: node - linkType: hard - -"minimatch@npm:^6.1.6": - version: 6.2.3 - resolution: "minimatch@npm:6.2.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/c3490c52588183770f77a3924a1e9c6c6e34938f750670cd524e073f3f5698423b2004b2883262e46648448bc3a52249121d85d795f86bb4122e3a595169d61e - languageName: node - linkType: hard - "minimatch@npm:^9.0.3, minimatch@npm:^9.0.4, minimatch@npm:~9.0.4": version: 9.0.5 resolution: "minimatch@npm:9.0.5" @@ -11963,41 +10077,7 @@ __metadata: languageName: node linkType: hard -"moo@npm:^0.5.0": - version: 0.5.3 - resolution: "moo@npm:0.5.3" - checksum: 10c0/5c5e00d7c57a69ce1cc2f21a90655ff10556481cc10fa70528c01e91f00deff8a65fa8da6dc7b27d136d66085055aab238fd1b19a75070263e0028e8f07c8213 - languageName: node - linkType: hard - -"morgan@npm:^1.10.0, morgan@npm:^1.8.2": - version: 1.11.0 - resolution: "morgan@npm:1.11.0" - dependencies: - basic-auth: "npm:~2.0.1" - debug: "npm:2.6.9" - depd: "npm:~2.0.0" - on-finished: "npm:~2.4.1" - on-headers: "npm:~1.1.0" - checksum: 10c0/1d8c67bdeb34dc4112f5b6cbff0d5b4ef14bfdcb9f67a7ae67fc7a77282c18dd493a11dc8dff1ff2e285c1846947cfdc3698fdceb1fa7bea2a09fe6cb754455d - languageName: node - linkType: hard - -"ms@npm:2.0.0": - version: 2.0.0 - resolution: "ms@npm:2.0.0" - checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:2.1.3, ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.3": +"ms@npm:^2.0.0, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 @@ -12030,26 +10110,6 @@ __metadata: languageName: node linkType: hard -"mz@npm:^2.4.0": - version: 2.7.0 - resolution: "mz@npm:2.7.0" - dependencies: - any-promise: "npm:^1.0.0" - object-assign: "npm:^4.0.1" - thenify-all: "npm:^1.0.0" - checksum: 10c0/103114e93f87362f0b56ab5b2e7245051ad0276b646e3902c98397d18bb8f4a77f2ea4a2c9d3ad516034ea3a56553b60d3f5f78220001ca4c404bd711bd0af39 - languageName: node - linkType: hard - -"nan@npm:^2.28.0": - version: 2.28.0 - resolution: "nan@npm:2.28.0" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/84e45fbb6a249df751bba657728792a8d93e3b10bad9774200c858d1ff38723c988c3e4cef50b3742fa8a05da2e49fa16806f6d768405382d8b1094d10d42fa5 - languageName: node - linkType: hard - "nanoid@npm:^3.3.12": version: 3.3.12 resolution: "nanoid@npm:3.3.12" @@ -12089,31 +10149,7 @@ __metadata: languageName: node linkType: hard -"nearley@npm:^2.20.1": - version: 2.20.1 - resolution: "nearley@npm:2.20.1" - dependencies: - commander: "npm:^2.19.0" - moo: "npm:^0.5.0" - railroad-diagrams: "npm:^1.0.0" - randexp: "npm:0.4.6" - bin: - nearley-railroad: bin/nearley-railroad.js - nearley-test: bin/nearley-test.js - nearley-unparse: bin/nearley-unparse.js - nearleyc: bin/nearleyc.js - checksum: 10c0/d25e1fd40b19c53a0ada6a688670f4a39063fd9553ab62885e81a82927d51572ce47193b946afa3d85efa608ba2c68f433c421f69b854bfb7f599eacb5fae37e - languageName: node - linkType: hard - -"negotiator@npm:0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - -"negotiator@npm:^0.6.2, negotiator@npm:~0.6.4": +"negotiator@npm:^0.6.2": version: 0.6.4 resolution: "negotiator@npm:0.6.4" checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea @@ -12144,13 +10180,6 @@ __metadata: languageName: node linkType: hard -"netmask@npm:^2.0.2": - version: 2.1.1 - resolution: "netmask@npm:2.1.1" - checksum: 10c0/c78e31869b0578fb0a9874a0c0fdf0e1f8b3492392d1043355fb11d9ea42ef94e0216c6aee7d8e15db39d1a8caf331f9b144ae3ee43fd951b73a66837711fb09 - languageName: node - linkType: hard - "node-abi@npm:^3.3.0": version: 3.87.0 resolution: "node-abi@npm:3.87.0" @@ -12185,7 +10214,7 @@ __metadata: languageName: node linkType: hard -"node-emoji@npm:2.2.0, node-emoji@npm:^2.2.0": +"node-emoji@npm:2.2.0": version: 2.2.0 resolution: "node-emoji@npm:2.2.0" dependencies: @@ -12197,7 +10226,7 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^2.6.1, node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": +"node-fetch@npm:^2.6.7, node-fetch@npm:^2.6.9, node-fetch@npm:^2.7.0": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" dependencies: @@ -12249,26 +10278,6 @@ __metadata: languageName: node linkType: hard -"node-gyp@npm:^13.0.1": - version: 13.0.1 - resolution: "node-gyp@npm:13.0.1" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - graceful-fs: "npm:^4.2.6" - nopt: "npm:^10.0.0" - proc-log: "npm:^7.0.0" - semver: "npm:^7.3.5" - tar: "npm:^7.5.4" - tinyglobby: "npm:^0.2.12" - undici: "npm:^8.4.1" - which: "npm:^7.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/424077bc9e9bbe953a8e86db473ba818cbc6a121714008c977fd589e21e5f0c811fbf22faac730dc7182450b5e52df301811d01ae3373898658d999b7710f4e6 - languageName: node - linkType: hard - "node-gyp@npm:latest": version: 12.2.0 resolution: "node-gyp@npm:12.2.0" @@ -12296,17 +10305,6 @@ __metadata: languageName: node linkType: hard -"nopt@npm:^10.0.0": - version: 10.0.1 - resolution: "nopt@npm:10.0.1" - dependencies: - abbrev: "npm:^5.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/980d89257f9587f3e1f77877ddbf905d6aa3b738ec33e49a4fa1a059a0dd82eb28063982b150654a7ae9de386f2ead60e56172db7d37cf56de545f7392a2a26a - languageName: node - linkType: hard - "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -12329,13 +10327,6 @@ __metadata: languageName: node linkType: hard -"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": - version: 3.0.0 - resolution: "normalize-path@npm:3.0.0" - checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 - languageName: node - linkType: hard - "notation@npm:^1.3.6": version: 1.3.6 resolution: "notation@npm:1.3.6" @@ -12343,46 +10334,6 @@ __metadata: languageName: node linkType: hard -"npm-install-checks@npm:^6.0.0": - version: 6.3.0 - resolution: "npm-install-checks@npm:6.3.0" - dependencies: - semver: "npm:^7.1.1" - checksum: 10c0/b046ef1de9b40f5d3a9831ce198e1770140a1c3f253dae22eb7b06045191ef79f18f1dcc15a945c919b3c161426861a28050abd321bf439190185794783b6452 - languageName: node - linkType: hard - -"npm-normalize-package-bin@npm:^3.0.0": - version: 3.0.1 - resolution: "npm-normalize-package-bin@npm:3.0.1" - checksum: 10c0/f1831a7f12622840e1375c785c3dab7b1d82dd521211c17ee5e9610cd1a34d8b232d3fdeebf50c170eddcb321d2c644bf73dbe35545da7d588c6b3fa488db0a5 - languageName: node - linkType: hard - -"npm-package-arg@npm:^11.0.0": - version: 11.0.3 - resolution: "npm-package-arg@npm:11.0.3" - dependencies: - hosted-git-info: "npm:^7.0.0" - proc-log: "npm:^4.0.0" - semver: "npm:^7.3.5" - validate-npm-package-name: "npm:^5.0.0" - checksum: 10c0/e18333485e05c3a8774f4b5701ef74f4799533e650b70a68ca8dd697666c9a8d46932cb765fc593edce299521033bd4025a40323d5240cea8a393c784c0c285a - languageName: node - linkType: hard - -"npm-pick-manifest@npm:^9.0.0": - version: 9.1.0 - resolution: "npm-pick-manifest@npm:9.1.0" - dependencies: - npm-install-checks: "npm:^6.0.0" - npm-normalize-package-bin: "npm:^3.0.0" - npm-package-arg: "npm:^11.0.0" - semver: "npm:^7.3.5" - checksum: 10c0/8765f4199755b381323da2bff2202b4b15b59f59dba0d1be3f2f793b591321cd19e1b5a686ef48d9753a6bd4868550da632541a45dfb61809d55664222d73e44 - languageName: node - linkType: hard - "npmlog@npm:^5.0.1": version: 5.0.1 resolution: "npmlog@npm:5.0.1" @@ -12407,7 +10358,7 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4, object-assign@npm:^4.0.1, object-assign@npm:^4.1.1": +"object-assign@npm:^4, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 @@ -12491,7 +10442,7 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:^2.2.0, on-finished@npm:^2.4.1, on-finished@npm:~2.4.1": +"on-finished@npm:^2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" dependencies: @@ -12500,22 +10451,6 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:~2.3.0": - version: 2.3.0 - resolution: "on-finished@npm:2.3.0" - dependencies: - ee-first: "npm:1.1.1" - checksum: 10c0/c904f9e518b11941eb60279a3cbfaf1289bd0001f600a950255b1dede9fe3df8cd74f38483550b3bb9485165166acb5db500c3b4c4337aec2815c88c96fcc2ea - languageName: node - linkType: hard - -"on-headers@npm:^1.0.0, on-headers@npm:~1.1.0": - version: 1.1.0 - resolution: "on-headers@npm:1.1.0" - checksum: 10c0/2c3b6b0d68ec9adbd561dc2d61c9b14da8ac03d8a2f0fd9e97bdf0600c887d5d97f664ff3be6876cf40cda6e3c587d73a4745e10b426ac50c7664fc5a0dfc0a1 - languageName: node - linkType: hard - "once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -12525,24 +10460,6 @@ __metadata: languageName: node linkType: hard -"one-time@npm:^1.0.0": - version: 1.0.0 - resolution: "one-time@npm:1.0.0" - dependencies: - fn.name: "npm:1.x.x" - checksum: 10c0/6e4887b331edbb954f4e915831cbec0a7b9956c36f4feb5f6de98c448ac02ff881fd8d9b55a6b1b55030af184c6b648f340a76eb211812f4ad8c9b4b8692fdaa - languageName: node - linkType: hard - -"onetime@npm:^5.1.0": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - "onetime@npm:^7.0.0": version: 7.0.0 resolution: "onetime@npm:7.0.0" @@ -12552,15 +10469,6 @@ __metadata: languageName: node linkType: hard -"open@npm:^6.3.0": - version: 6.4.0 - resolution: "open@npm:6.4.0" - dependencies: - is-wsl: "npm:^1.1.0" - checksum: 10c0/447115632b4f3939fa0d973c33e17f28538fd268fd8257fc49763f7de6e76d29d65585b15998bbd2137337cfb70a92084a0e1b183a466e53a4829f704f295823 - languageName: node - linkType: hard - "open@npm:^7.4.2": version: 7.4.2 resolution: "open@npm:7.4.2" @@ -12571,15 +10479,6 @@ __metadata: languageName: node linkType: hard -"openapi3-ts@npm:^3.1.1": - version: 3.2.0 - resolution: "openapi3-ts@npm:3.2.0" - dependencies: - yaml: "npm:^2.2.1" - checksum: 10c0/3b9a663bf71f9292880c970a80f6f1a8db0ee475451c03b4fd336da957a24372349594d7868ce0a60b3a0875844a1f0e906e8fec8ef4220c06aa70670bfa3148 - languageName: node - linkType: hard - "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -12610,23 +10509,6 @@ __metadata: languageName: node linkType: hard -"ora@npm:^5.4.1": - version: 5.4.1 - resolution: "ora@npm:5.4.1" - dependencies: - bl: "npm:^4.1.0" - chalk: "npm:^4.1.0" - cli-cursor: "npm:^3.1.0" - cli-spinners: "npm:^2.5.0" - is-interactive: "npm:^1.0.0" - is-unicode-supported: "npm:^0.1.0" - log-symbols: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - wcwidth: "npm:^1.0.1" - checksum: 10c0/10ff14aace236d0e2f044193362b22edce4784add08b779eccc8f8ef97195cae1248db8ec1ec5f5ff076f91acbe573f5f42a98c19b78dba8c54eefff983cae85 - languageName: node - linkType: hard - "own-keys@npm:^1.0.1": version: 1.0.1 resolution: "own-keys@npm:1.0.1" @@ -12638,13 +10520,6 @@ __metadata: languageName: node linkType: hard -"p-defer@npm:^3.0.0": - version: 3.0.0 - resolution: "p-defer@npm:3.0.0" - checksum: 10c0/848eb9821785b9a203def23618217ddbfa5cd909574ad0d66aae61a1981c4dcfa084804d6f97abe027bd004643471ddcdc823aa8df60198f791a9bd985e01bee - languageName: node - linkType: hard - "p-limit@npm:^3.0.1, p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" @@ -12697,39 +10572,6 @@ __metadata: languageName: node linkType: hard -"p-throttle@npm:^8.1.0": - version: 8.1.0 - resolution: "p-throttle@npm:8.1.0" - checksum: 10c0/884e0424ee64eae1456840fdfc5eac09368ede4d725734c51b0a3ddb12419b78c7bdbf9c6741410563b9bafa9cedb239da540c0e9c58981c590b15d59c18f0ee - languageName: node - linkType: hard - -"pac-proxy-agent@npm:^7.1.0": - version: 7.2.0 - resolution: "pac-proxy-agent@npm:7.2.0" - dependencies: - "@tootallnate/quickjs-emscripten": "npm:^0.23.0" - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - get-uri: "npm:^6.0.1" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.6" - pac-resolver: "npm:^7.0.1" - socks-proxy-agent: "npm:^8.0.5" - checksum: 10c0/0265c17c9401c2ea735697931a6553a0c6d8b20c4d7d4e3b3a0506080ba69a8d5ad656e2a6be875411212e2b6ed7a4d9526dd3997e08581fdfb1cbcad454c296 - languageName: node - linkType: hard - -"pac-resolver@npm:^7.0.1": - version: 7.0.1 - resolution: "pac-resolver@npm:7.0.1" - dependencies: - degenerator: "npm:^5.0.0" - netmask: "npm:^2.0.2" - checksum: 10c0/5f3edd1dd10fded31e7d1f95776442c3ee51aa098c28b74ede4927d9677ebe7cebb2636750c24e945f5b84445e41ae39093d3a1014a994e5ceb9f0b1b88ebff5 - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" @@ -12768,30 +10610,7 @@ __metadata: languageName: node linkType: hard -"parse5-htmlparser2-tree-adapter@npm:^6.0.0": - version: 6.0.1 - resolution: "parse5-htmlparser2-tree-adapter@npm:6.0.1" - dependencies: - parse5: "npm:^6.0.1" - checksum: 10c0/dfa5960e2aaf125707e19a4b1bc333de49232eba5a6ffffb95d313a7d6087c3b7a274b58bee8d3bd41bdf150638815d1d601a42bbf2a0345208c3c35b1279556 - languageName: node - linkType: hard - -"parse5@npm:^5.1.1": - version: 5.1.1 - resolution: "parse5@npm:5.1.1" - checksum: 10c0/b0f87a77a7fea5f242e3d76917c983bbea47703b9371801d51536b78942db6441cbda174bf84eb30e47315ddc6f8a0b57d68e562c790154430270acd76c1fa03 - languageName: node - linkType: hard - -"parse5@npm:^6.0.1": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 10c0/595821edc094ecbcfb9ddcb46a3e1fe3a718540f8320eff08b8cf6742a5114cce2d46d45f95c26191c11b184dcaf4e2960abcd9c5ed9eb9393ac9a37efcfdecb - languageName: node - linkType: hard - -"parseurl@npm:^1.3.3, parseurl@npm:~1.3.3": +"parseurl@npm:^1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5 @@ -12938,22 +10757,6 @@ __metadata: languageName: node linkType: hard -"path-to-regexp@npm:^1.9.0": - version: 1.9.0 - resolution: "path-to-regexp@npm:1.9.0" - dependencies: - isarray: "npm:0.0.1" - checksum: 10c0/de9ddb01b84d9c2c8e2bed18630d8d039e2d6f60a6538595750fa08c7a6482512257464c8da50616f266ab2cdd2428387e85f3b089e4c3f25d0c537e898a0751 - languageName: node - linkType: hard - -"path-to-regexp@npm:~0.1.12": - version: 0.1.13 - resolution: "path-to-regexp@npm:0.1.13" - checksum: 10c0/1cae3921739c154a8926e136185a10c916f79a249b9072a5001b266d96e193860ca03867e8e8cc808b786862d750f427ed93686bc259355442c3407a62deab1a - languageName: node - linkType: hard - "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -12975,101 +10778,6 @@ __metadata: languageName: node linkType: hard -"pg-cloudflare@npm:^1.4.0": - version: 1.4.0 - resolution: "pg-cloudflare@npm:1.4.0" - checksum: 10c0/553764d00055052648393cda53c1feb065991d6f9fbfdeb56cf8396c5b33377ab2897aaf5dc9cd3933d09023a1f01e8b1ca755431dcf5fd71c92ea277e2888f1 - languageName: node - linkType: hard - -"pg-connection-string@npm:^2.14.0": - version: 2.14.0 - resolution: "pg-connection-string@npm:2.14.0" - checksum: 10c0/c26d85970f782de72b90aa45b4acfa34df90242fc08bc676e8827297164044dbfb40a2cf20b0646bd02662a6b14c5ed27f322db627e41e582f2b705bc41e8b47 - languageName: node - linkType: hard - -"pg-gateway@npm:^0.3.0-beta.4": - version: 0.3.0-beta.4 - resolution: "pg-gateway@npm:0.3.0-beta.4" - checksum: 10c0/28c5dd9b6f56de97c84d9e69418106ca60ee23dada4fd1cc61d6db43add118008f1c7aed50167b60b71c0e546d35c794cbd7e465bfc3d3e6f709dd04f3018103 - languageName: node - linkType: hard - -"pg-int8@npm:1.0.1": - version: 1.0.1 - resolution: "pg-int8@npm:1.0.1" - checksum: 10c0/be6a02d851fc2a4ae3e9de81710d861de3ba35ac927268973eb3cb618873a05b9424656df464dd43bd7dc3fc5295c3f5b3c8349494f87c7af50ec59ef14e0b98 - languageName: node - linkType: hard - -"pg-pool@npm:^3.14.0": - version: 3.14.0 - resolution: "pg-pool@npm:3.14.0" - peerDependencies: - pg: ">=8.0" - checksum: 10c0/3dd706e67e3b317e29409d9eb3bd44e960eabd86db2a9711a9391bbd43881f8ce7a5f7054a341509558ee05e9bf0a3cc7aef037039da0790ce1e16762ade3ba6 - languageName: node - linkType: hard - -"pg-protocol@npm:^1.15.0": - version: 1.15.0 - resolution: "pg-protocol@npm:1.15.0" - checksum: 10c0/f1acad1e693d23ce70f8a5fec108cb960d6b8546b3a3fb2cf9113211069ef0f8890e2cc26b5f94e11bf81ff6d851b11c0643de12327cd07e0d1127ae1cb80791 - languageName: node - linkType: hard - -"pg-types@npm:2.2.0": - version: 2.2.0 - resolution: "pg-types@npm:2.2.0" - dependencies: - pg-int8: "npm:1.0.1" - postgres-array: "npm:~2.0.0" - postgres-bytea: "npm:~1.0.0" - postgres-date: "npm:~1.0.4" - postgres-interval: "npm:^1.1.0" - checksum: 10c0/ab3f8069a323f601cd2d2279ca8c425447dab3f9b61d933b0601d7ffc00d6200df25e26a4290b2b0783b59278198f7dd2ed03e94c4875797919605116a577c65 - languageName: node - linkType: hard - -"pg@npm:^8.11.3": - version: 8.22.0 - resolution: "pg@npm:8.22.0" - dependencies: - pg-cloudflare: "npm:^1.4.0" - pg-connection-string: "npm:^2.14.0" - pg-pool: "npm:^3.14.0" - pg-protocol: "npm:^1.15.0" - pg-types: "npm:2.2.0" - pgpass: "npm:1.0.5" - peerDependencies: - pg-native: ">=3.0.1" - dependenciesMeta: - pg-cloudflare: - optional: true - peerDependenciesMeta: - pg-native: - optional: true - checksum: 10c0/f26fe81c8146b802ac58b2a67570ab4f64cbd57d0752d0a6d1b2b1d12168adb241948e6129301b771a359bede6767181c5ac1a584a36bcfcd38ffe955237ee26 - languageName: node - linkType: hard - -"pglite-2@npm:@electric-sql/pglite@0.2.17": - version: 0.2.17 - resolution: "@electric-sql/pglite@npm:0.2.17" - checksum: 10c0/4358eccb2a3de5148b8995c7dbf3cad2d80a2a193885838ec19e0381ca204c0e37f721d006ad23fcad0b694ec6089a6786b82f2ad87f18344c82e059ff37017f - languageName: node - linkType: hard - -"pgpass@npm:1.0.5": - version: 1.0.5 - resolution: "pgpass@npm:1.0.5" - dependencies: - split2: "npm:^4.1.0" - checksum: 10c0/5ea6c9b2de04c33abb08d33a2dded303c4a3c7162a9264519cbe85c0a9857d712463140ba42fad0c7cd4b21f644dd870b45bb2e02fcbe505b4de0744fd802c1d - languageName: node - linkType: hard - "picocolors@npm:^1.1.1": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -13084,13 +10792,6 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1": - version: 2.3.2 - resolution: "picomatch@npm:2.3.2" - checksum: 10c0/a554d1709e59be97d1acb9eaedbbc700a5c03dbd4579807baed95100b00420bc729335440ef15004ae2378984e2487a7c1cebd743cfdb72b6fa9ab69223c0d61 - languageName: node - linkType: hard - "picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" @@ -13105,13 +10806,6 @@ __metadata: languageName: node linkType: hard -"pkce-challenge@npm:^5.0.0": - version: 5.0.1 - resolution: "pkce-challenge@npm:5.0.1" - checksum: 10c0/207f4cb976682f27e8324eb49cf71937c98fbb8341a0b8f6142bc6f664825b30e049a54a21b5c034e823ee3c3d412f10d74bd21de78e17452a6a496c2991f57c - languageName: node - linkType: hard - "playwright-core@npm:1.60.0": version: 1.60.0 resolution: "playwright-core@npm:1.60.0" @@ -13143,16 +10837,6 @@ __metadata: languageName: node linkType: hard -"portfinder@npm:^1.0.32": - version: 1.0.38 - resolution: "portfinder@npm:1.0.38" - dependencies: - async: "npm:^3.2.6" - debug: "npm:^4.3.6" - checksum: 10c0/59b2f2aa0b620c90ce0d477241e62c277f38bfd4fb6074106c23560248dd5e5c2c629dd048ef721f32b19df4213d09b77234880e4f0ab04abf1ab70b6d8048fa - languageName: node - linkType: hard - "possible-typed-array-names@npm:^1.0.0": version: 1.1.0 resolution: "possible-typed-array-names@npm:1.1.0" @@ -13182,36 +10866,6 @@ __metadata: languageName: node linkType: hard -"postgres-array@npm:~2.0.0": - version: 2.0.0 - resolution: "postgres-array@npm:2.0.0" - checksum: 10c0/cbd56207e4141d7fbf08c86f2aebf21fa7064943d3f808ec85f442ff94b48d891e7a144cc02665fb2de5dbcb9b8e3183a2ac749959e794b4a4cfd379d7a21d08 - languageName: node - linkType: hard - -"postgres-bytea@npm:~1.0.0": - version: 1.0.1 - resolution: "postgres-bytea@npm:1.0.1" - checksum: 10c0/10b28a27c9d703d5befd97c443e62b551096d1014bc59ab574c65bf0688de7f3f068003b2aea8dcff83cf0f6f9a35f9f74457c38856cf8eb81b00cf3fb44f164 - languageName: node - linkType: hard - -"postgres-date@npm:~1.0.4": - version: 1.0.7 - resolution: "postgres-date@npm:1.0.7" - checksum: 10c0/0ff91fccc64003e10b767fcfeefb5eaffbc522c93aa65d5051c49b3c4ce6cb93ab091a7d22877a90ad60b8874202c6f1d0f935f38a7235ed3b258efd54b97ca9 - languageName: node - linkType: hard - -"postgres-interval@npm:^1.1.0": - version: 1.2.0 - resolution: "postgres-interval@npm:1.2.0" - dependencies: - xtend: "npm:^4.0.0" - checksum: 10c0/c1734c3cb79e7f22579af0b268a463b1fa1d084e742a02a7a290c4f041e349456f3bee3b4ee0bb3f226828597f7b76deb615c1b857db9a742c45520100456272 - languageName: node - linkType: hard - "prebuild-install@npm:^7.1.1": version: 7.1.3 resolution: "prebuild-install@npm:7.1.3" @@ -13259,13 +10913,6 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^4.0.0": - version: 4.2.0 - resolution: "proc-log@npm:4.2.0" - checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 - languageName: node - linkType: hard - "proc-log@npm:^6.0.0": version: 6.1.0 resolution: "proc-log@npm:6.1.0" @@ -13273,41 +10920,6 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^7.0.0": - version: 7.0.0 - resolution: "proc-log@npm:7.0.0" - checksum: 10c0/b89c2d862604f35fec795477b0c7e376feab3ba0d4f4d291c4e959567442697cf451ac557d0623c1cc38af45a78128b983410f397a10c5d3a67f76c33de4754b - languageName: node - linkType: hard - -"process-nextick-args@npm:~2.0.0": - version: 2.0.1 - resolution: "process-nextick-args@npm:2.0.1" - checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 - languageName: node - linkType: hard - -"process@npm:^0.11.10": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 - languageName: node - linkType: hard - -"progress@npm:^2.0.3": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c - languageName: node - linkType: hard - -"promise-breaker@npm:^6.0.0": - version: 6.0.0 - resolution: "promise-breaker@npm:6.0.0" - checksum: 10c0/fcd00836dd96d34d3376964bc3a9482251248cef00f0dcf1f2485e7d9af44f9c48b0431cf4dc780fd5a7137b8e0861e3c6557667811522e93978f6bffab66cfe - languageName: node - linkType: hard - "promise-inflight@npm:^1.0.1": version: 1.0.1 resolution: "promise-inflight@npm:1.0.1" @@ -13325,22 +10937,6 @@ __metadata: languageName: node linkType: hard -"proto-list@npm:~1.2.1": - version: 1.2.4 - resolution: "proto-list@npm:1.2.4" - checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12 - languageName: node - linkType: hard - -"proto3-json-serializer@npm:3.0.4": - version: 3.0.4 - resolution: "proto3-json-serializer@npm:3.0.4" - dependencies: - protobufjs: "npm:^7.4.0" - checksum: 10c0/59150d5e6b396e00c0374e71eb4ebd6f33acd4212c0ad2acdda12181b08f923b733559d74ad78455085223efe24168d4d42887a8b8f15f7663f20debe5796081 - languageName: node - linkType: hard - "proto3-json-serializer@npm:^2.0.2": version: 2.0.2 resolution: "proto3-json-serializer@npm:2.0.2" @@ -13370,26 +10966,7 @@ __metadata: languageName: node linkType: hard -"protobufjs@npm:^7.4.0, protobufjs@npm:^7.5.4": - version: 7.6.5 - resolution: "protobufjs@npm:7.6.5" - dependencies: - "@protobufjs/aspromise": "npm:^1.1.2" - "@protobufjs/base64": "npm:^1.1.2" - "@protobufjs/codegen": "npm:^2.0.5" - "@protobufjs/eventemitter": "npm:^1.1.1" - "@protobufjs/fetch": "npm:^1.1.1" - "@protobufjs/float": "npm:^1.0.2" - "@protobufjs/path": "npm:^1.1.2" - "@protobufjs/pool": "npm:^1.1.0" - "@protobufjs/utf8": "npm:^1.1.1" - "@types/node": "npm:>=13.7.0" - long: "npm:^5.3.2" - checksum: 10c0/863eaca9c6f45bfcfb8787c545f53e9c6696507e328e3981b4643c12d35df7f2826021c10e3fd30bef342c13a8e9d306547bac9c0849ee3bf50f770a12f01dc5 - languageName: node - linkType: hard - -"proxy-addr@npm:^2.0.7, proxy-addr@npm:~2.0.7": +"proxy-addr@npm:^2.0.7": version: 2.0.7 resolution: "proxy-addr@npm:2.0.7" dependencies: @@ -13399,29 +10976,6 @@ __metadata: languageName: node linkType: hard -"proxy-agent@npm:^6.3.0": - version: 6.5.0 - resolution: "proxy-agent@npm:6.5.0" - dependencies: - agent-base: "npm:^7.1.2" - debug: "npm:^4.3.4" - http-proxy-agent: "npm:^7.0.1" - https-proxy-agent: "npm:^7.0.6" - lru-cache: "npm:^7.14.1" - pac-proxy-agent: "npm:^7.1.0" - proxy-from-env: "npm:^1.1.0" - socks-proxy-agent: "npm:^8.0.5" - checksum: 10c0/7fd4e6f36bf17098a686d4aee3b8394abfc0b0537c2174ce96b0a4223198b9fafb16576c90108a3fcfc2af0168bd7747152bfa1f58e8fee91d3780e79aab7fd8 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - "pump@npm:^3.0.0": version: 3.0.3 resolution: "pump@npm:3.0.3" @@ -13446,15 +11000,6 @@ __metadata: languageName: node linkType: hard -"pupa@npm:^2.1.1": - version: 2.1.1 - resolution: "pupa@npm:2.1.1" - dependencies: - escape-goat: "npm:^2.0.0" - checksum: 10c0/d2346324780ebae4be847cad052b830e004d816851dd4750fc73faa6cd360f443e358f6b1c83641fd4c904c6055dcb545807f55259a20a52ad86d9477746c724 - languageName: node - linkType: hard - "qs@npm:6.15.2": version: 6.15.2 resolution: "qs@npm:6.15.2" @@ -13471,43 +11016,14 @@ __metadata: languageName: node linkType: hard -"railroad-diagrams@npm:^1.0.0": - version: 1.0.0 - resolution: "railroad-diagrams@npm:1.0.0" - checksum: 10c0/81bf8f86870a69fb9ed243102db9ad6416d09c4cb83964490d44717690e07dd982f671503236a1f8af28f4cb79d5d7a87613930f10ac08defa845ceb6764e364 - languageName: node - linkType: hard - -"randexp@npm:0.4.6": - version: 0.4.6 - resolution: "randexp@npm:0.4.6" - dependencies: - discontinuous-range: "npm:1.0.0" - ret: "npm:~0.1.10" - checksum: 10c0/14ee14b6d7f5ce69609b51cc914fb7a7c82ad337820a141c5f762c5ad1fe868f5191ea6e82359aee019b625ee1359486628fa833909d12c3b5dd9571908c3345 - languageName: node - linkType: hard - -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": +"range-parser@npm:^1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0 languageName: node linkType: hard -"raw-body@npm:^2.3.3, raw-body@npm:~2.5.3": - version: 2.5.3 - resolution: "raw-body@npm:2.5.3" - dependencies: - bytes: "npm:~3.1.2" - http-errors: "npm:~2.0.1" - iconv-lite: "npm:~0.4.24" - unpipe: "npm:~1.0.0" - checksum: 10c0/449844344fc90547fb994383a494b83300e4f22199f146a79f68d78a199a8f2a923ea9fd29c3be979bfd50291a3884733619ffc15ba02a32e703b612f8d3f74a - languageName: node - linkType: hard - -"raw-body@npm:^3.0.0, raw-body@npm:^3.0.2": +"raw-body@npm:^3.0.2": version: 3.0.2 resolution: "raw-body@npm:3.0.2" dependencies: @@ -13519,7 +11035,7 @@ __metadata: languageName: node linkType: hard -"rc@npm:^1.2.7, rc@npm:^1.2.8": +"rc@npm:^1.2.7": version: 1.2.8 resolution: "rc@npm:1.2.8" dependencies: @@ -13533,17 +11049,6 @@ __metadata: languageName: node linkType: hard -"re2@npm:^1.17.7": - version: 1.26.1 - resolution: "re2@npm:1.26.1" - dependencies: - install-artifact-from-github: "npm:^1.7.0" - nan: "npm:^2.28.0" - node-gyp: "npm:^13.0.1" - checksum: 10c0/6204450f56e7b65772c02491c5c04b9264d3a95a5e635519b0f4f98623aef958d57d23b8c738c433a668d6a75166f03ae1ce3ee8ae7fe0bb2913fb2dcde4100f - languageName: node - linkType: hard - "react-dom@npm:^18.3.1": version: 18.3.1 resolution: "react-dom@npm:18.3.1" @@ -13596,22 +11101,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.5": - version: 2.3.8 - resolution: "readable-stream@npm:2.3.8" - dependencies: - core-util-is: "npm:~1.0.0" - inherits: "npm:~2.0.3" - isarray: "npm:~1.0.0" - process-nextick-args: "npm:~2.0.0" - safe-buffer: "npm:~5.1.1" - string_decoder: "npm:~1.1.1" - util-deprecate: "npm:~1.0.1" - checksum: 10c0/7efdb01f3853bc35ac62ea25493567bf588773213f5f4a79f9c365e1ad13bab845ac0dae7bc946270dc40c3929483228415e92a3fc600cc7e4548992f41ee3fa - languageName: node - linkType: hard - -"readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0, readable-stream@npm:^3.6.2": +"readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -13622,28 +11112,6 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^4.0.0": - version: 4.7.0 - resolution: "readable-stream@npm:4.7.0" - dependencies: - abort-controller: "npm:^3.0.0" - buffer: "npm:^6.0.3" - events: "npm:^3.3.0" - process: "npm:^0.11.10" - string_decoder: "npm:^1.3.0" - checksum: 10c0/fd86d068da21cfdb10f7a4479f2e47d9c0a9b0c862fc0c840a7e5360201580a55ac399c764b12a4f6fa291f8cee74d9c4b7562e0d53b3c4b2769f2c98155d957 - languageName: node - linkType: hard - -"readdir-glob@npm:^1.1.2": - version: 1.1.3 - resolution: "readdir-glob@npm:1.1.3" - dependencies: - minimatch: "npm:^5.1.0" - checksum: 10c0/a37e0716726650845d761f1041387acd93aa91b28dd5381950733f994b6c349ddc1e21e266ec7cc1f9b92e205a7a972232f9b89d5424d07361c2c3753d5dbace - languageName: node - linkType: hard - "readdirp@npm:^5.0.0": version: 5.0.0 resolution: "readdirp@npm:5.0.0" @@ -13651,15 +11119,6 @@ __metadata: languageName: node linkType: hard -"readdirp@npm:~3.6.0": - version: 3.6.0 - resolution: "readdirp@npm:3.6.0" - dependencies: - picomatch: "npm:^2.2.1" - checksum: 10c0/6fa848cf63d1b82ab4e985f4cf72bd55b7dcfd8e0a376905804e48c3634b7e749170940ba77b32804d5fe93b3cc521aa95a8d7e7d725f830da6d93f3669ce66b - languageName: node - linkType: hard - "reflect-metadata@npm:0.1.13": version: 0.1.13 resolution: "reflect-metadata@npm:0.1.13" @@ -13718,24 +11177,6 @@ __metadata: languageName: node linkType: hard -"registry-auth-token@npm:^5.0.1": - version: 5.1.1 - resolution: "registry-auth-token@npm:5.1.1" - dependencies: - "@pnpm/npm-conf": "npm:^3.0.2" - checksum: 10c0/86b0f7fd87d327cb4177fee69bcf96563147ea72e206bc9c7a6a50a51c785a31b83a6c45956a489ed292d23b908b2755a075d0b2f7fec1ba91b1fb800b24cee3 - languageName: node - linkType: hard - -"registry-url@npm:^5.1.0": - version: 5.1.0 - resolution: "registry-url@npm:5.1.0" - dependencies: - rc: "npm:^1.2.8" - checksum: 10c0/c2c455342b5836cbed5162092eba075c7a02c087d9ce0fde8aeb4dc87a8f4a34a542e58bf4d8ec2d4cb73f04408cb3148ceb1f76647f76b978cfec22047dc6d6 - languageName: node - linkType: hard - "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -13790,16 +11231,6 @@ __metadata: languageName: node linkType: hard -"restore-cursor@npm:^3.1.0": - version: 3.1.0 - resolution: "restore-cursor@npm:3.1.0" - dependencies: - onetime: "npm:^5.1.0" - signal-exit: "npm:^3.0.2" - checksum: 10c0/8051a371d6aa67ff21625fa94e2357bd81ffdc96267f3fb0fc4aaf4534028343836548ef34c240ffa8c25b280ca35eb36be00b3cb2133fa4f51896d7e73c6b4f - languageName: node - linkType: hard - "restore-cursor@npm:^5.0.0": version: 5.1.0 resolution: "restore-cursor@npm:5.1.0" @@ -13810,13 +11241,6 @@ __metadata: languageName: node linkType: hard -"ret@npm:~0.1.10": - version: 0.1.15 - resolution: "ret@npm:0.1.15" - checksum: 10c0/01f77cad0f7ea4f955852c03d66982609893edc1240c0c964b4c9251d0f9fb6705150634060d169939b096d3b77f4c84d6b6098a5b5d340160898c8581f1f63f - languageName: node - linkType: hard - "retry-request@npm:^7.0.0": version: 7.0.2 resolution: "retry-request@npm:7.0.2" @@ -13828,17 +11252,7 @@ __metadata: languageName: node linkType: hard -"retry-request@npm:^8.0.2": - version: 8.0.4 - resolution: "retry-request@npm:8.0.4" - dependencies: - extend: "npm:^3.0.2" - teeny-request: "npm:^10.0.0" - checksum: 10c0/b215cb986c30e12fccd163f819cd8c185344387ef6c5e55ef1d20e23b72f619dde6506c1cfd89d94b0bbba56658ea621ad6be769acedb43ef11710eeccf7758f - languageName: node - linkType: hard - -"retry@npm:0.13.1, retry@npm:^0.13.1": +"retry@npm:0.13.1": version: 0.13.1 resolution: "retry@npm:0.13.1" checksum: 10c0/9ae822ee19db2163497e074ea919780b1efa00431d197c7afdb950e42bf109196774b92a49fc9821f0b8b328a98eea6017410bfc5e8a0fc19c85c6d11adb3772 @@ -13870,17 +11284,6 @@ __metadata: languageName: node linkType: hard -"rimraf@npm:^5.0.1": - version: 5.0.10 - resolution: "rimraf@npm:5.0.10" - dependencies: - glob: "npm:^10.3.7" - bin: - rimraf: dist/esm/bin.mjs - checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc - languageName: node - linkType: hard - "rolldown@npm:~1.2.0": version: 1.2.3 resolution: "rolldown@npm:1.2.3" @@ -14057,7 +11460,6 @@ __metadata: eslint-plugin-node: "npm:^11.1.0" eslint-plugin-prettier: "npm:^4.2.1" eslint-plugin-tsdoc: "npm:^0.3.0" - firebase-tools: "npm:15.15.0" helmet: "npm:^8.1.0" husky: "npm:^7.0.4" istanbul-lib-coverage: "npm:^3.2.2" @@ -14084,7 +11486,7 @@ __metadata: languageName: unknown linkType: soft -"router@npm:^2.0.0, router@npm:^2.2.0": +"router@npm:^2.2.0": version: 2.2.0 resolution: "router@npm:2.2.0" dependencies: @@ -14142,14 +11544,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": - version: 5.1.2 - resolution: "safe-buffer@npm:5.1.2" - checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 - languageName: node - linkType: hard - -"safe-buffer@npm:5.2.1, safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 @@ -14177,14 +11572,7 @@ __metadata: languageName: node linkType: hard -"safe-stable-stringify@npm:^2.3.1": - version: 2.5.0 - resolution: "safe-stable-stringify@npm:2.5.0" - checksum: 10c0/baea14971858cadd65df23894a40588ed791769db21bafb7fd7608397dbdce9c5aac60748abae9995e0fc37e15f2061980501e012cd48859740796bea2987f49 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 @@ -14298,16 +11686,7 @@ __metadata: languageName: node linkType: hard -"semver-diff@npm:^3.1.1": - version: 3.1.1 - resolution: "semver-diff@npm:3.1.1" - dependencies: - semver: "npm:^6.3.0" - checksum: 10c0/7d350f1450b9577d538ef866a9bc4cd97bfbf1f1d92070291495a31d0ec3aa808e826c223e5454ea9877cc06eaa886ffd71bb3a1f331b44bc210f9ff525c68d2 - languageName: node - linkType: hard - -"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.0, semver@npm:^6.3.1": +"semver@npm:^6.0.0, semver@npm:^6.1.0, semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" bin: @@ -14316,15 +11695,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.5.2": - version: 7.8.5 - resolution: "semver@npm:7.8.5" - bin: - semver: bin/semver.js - checksum: 10c0/b1f3127a5be8125a94f37188b361c212466c292c6910adce3ec106cff5dc211ccaedc4739c11bb70fda59d6fc1f040a9bca289f4e093451521a2372e5231fe0c - languageName: node - linkType: hard - "semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0, semver@npm:^7.6.3": version: 7.7.4 resolution: "semver@npm:7.7.4" @@ -14353,27 +11723,6 @@ __metadata: languageName: node linkType: hard -"send@npm:~0.19.0, send@npm:~0.19.1": - version: 0.19.2 - resolution: "send@npm:0.19.2" - dependencies: - debug: "npm:2.6.9" - depd: "npm:2.0.0" - destroy: "npm:1.2.0" - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - etag: "npm:~1.8.1" - fresh: "npm:~0.5.2" - http-errors: "npm:~2.0.1" - mime: "npm:1.6.0" - ms: "npm:2.1.3" - on-finished: "npm:~2.4.1" - range-parser: "npm:~1.2.1" - statuses: "npm:~2.0.2" - checksum: 10c0/20c2389fe0fdf3fc499938cac598bc32272287e993c4960717381a10de8550028feadfb9076f959a3a3ebdea42e1f690e116f0d16468fa56b9fd41866d3dc267 - languageName: node - linkType: hard - "serve-static@npm:^2.2.0": version: 2.2.1 resolution: "serve-static@npm:2.2.1" @@ -14386,18 +11735,6 @@ __metadata: languageName: node linkType: hard -"serve-static@npm:~1.16.2": - version: 1.16.3 - resolution: "serve-static@npm:1.16.3" - dependencies: - encodeurl: "npm:~2.0.0" - escape-html: "npm:~1.0.3" - parseurl: "npm:~1.3.3" - send: "npm:~0.19.1" - checksum: 10c0/36320397a073c71bedf58af48a4a100fe6d93f07459af4d6f08b9a7217c04ce2a4939e0effd842dc7bece93ffcd59eb52f58c4fff2a8e002dc29ae6b219cd42b - languageName: node - linkType: hard - "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -14442,7 +11779,7 @@ __metadata: languageName: node linkType: hard -"setprototypeof@npm:1.2.0, setprototypeof@npm:~1.2.0": +"setprototypeof@npm:~1.2.0": version: 1.2.0 resolution: "setprototypeof@npm:1.2.0" checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc @@ -14552,7 +11889,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 @@ -14639,7 +11976,7 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.5": +"socks-proxy-agent@npm:^8.0.3": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" dependencies: @@ -14660,13 +11997,6 @@ __metadata: languageName: node linkType: hard -"sort-any@npm:^4.0.0": - version: 4.0.7 - resolution: "sort-any@npm:4.0.7" - checksum: 10c0/fef92e659a516c05555286c35286ad84c5103f5e70210da5aaba8ca13121c4b17242e48428349e4d2e3b97c5536fdb913d49ca085e2b94d818e556e8389be310 - languageName: node - linkType: hard - "source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" @@ -14681,13 +12011,6 @@ __metadata: languageName: node linkType: hard -"source-map@npm:~0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - "spdx-exceptions@npm:^2.1.0": version: 2.5.0 resolution: "spdx-exceptions@npm:2.5.0" @@ -14712,25 +12035,13 @@ __metadata: languageName: node linkType: hard -"split2@npm:^4.0.0, split2@npm:^4.1.0": +"split2@npm:^4.0.0": version: 4.2.0 resolution: "split2@npm:4.2.0" checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 languageName: node linkType: hard -"sql-formatter@npm:^15.3.0": - version: 15.8.2 - resolution: "sql-formatter@npm:15.8.2" - dependencies: - argparse: "npm:^2.0.1" - nearley: "npm:^2.20.1" - bin: - sql-formatter: bin/sql-formatter-cli.cjs - checksum: 10c0/5ed8c5927f2ad20300a47397567749658411ff3813be9c4b989746e8e84465fc801b445685f218f5906e07b9ffd80b10a27b41fbd3c55fa4dd1ecfc2ad4dd759 - languageName: node - linkType: hard - "sql-highlight@npm:^6.1.0": version: 6.1.0 resolution: "sql-highlight@npm:6.1.0" @@ -14777,13 +12088,6 @@ __metadata: languageName: node linkType: hard -"stack-trace@npm:0.0.x": - version: 0.0.10 - resolution: "stack-trace@npm:0.0.10" - checksum: 10c0/9ff3dabfad4049b635a85456f927a075c9d0c210e3ea336412d18220b2a86cbb9b13ec46d6c37b70a302a4ea4d49e30e5d4944dd60ae784073f1cde778ac8f4b - languageName: node - linkType: hard - "stackback@npm:0.0.2": version: 0.0.2 resolution: "stackback@npm:0.0.2" @@ -14791,20 +12095,13 @@ __metadata: languageName: node linkType: hard -"statuses@npm:^2.0.1, statuses@npm:^2.0.2, statuses@npm:~2.0.1, statuses@npm:~2.0.2": +"statuses@npm:^2.0.1, statuses@npm:^2.0.2, statuses@npm:~2.0.2": version: 2.0.2 resolution: "statuses@npm:2.0.2" checksum: 10c0/a9947d98ad60d01f6b26727570f3bcceb6c8fa789da64fe6889908fe2e294d57503b14bf2b5af7605c2d36647259e856635cd4c49eab41667658ec9d0080ec3f languageName: node linkType: hard -"statuses@npm:~1.5.0": - version: 1.5.0 - resolution: "statuses@npm:1.5.0" - checksum: 10c0/e433900956357b3efd79b1c547da4d291799ac836960c016d10a98f6a810b1b5c0dcc13b5a7aa609a58239b5190e1ea176ad9221c2157d2fd1c747393e6b2940 - languageName: node - linkType: hard - "std-env@npm:^4.0.0-rc.1": version: 4.2.0 resolution: "std-env@npm:4.2.0" @@ -14829,13 +12126,6 @@ __metadata: languageName: node linkType: hard -"stream-chain@npm:^2.2.4, stream-chain@npm:^2.2.5": - version: 2.2.5 - resolution: "stream-chain@npm:2.2.5" - checksum: 10c0/c512f50190d7c92d688fa64e7af540c51b661f9c2b775fc72bca38ea9bca515c64c22c2197b1be463741daacbaaa2dde8a8ea24ebda46f08391224f15249121a - languageName: node - linkType: hard - "stream-events@npm:^1.0.5": version: 1.0.5 resolution: "stream-events@npm:1.0.5" @@ -14845,15 +12135,6 @@ __metadata: languageName: node linkType: hard -"stream-json@npm:^1.7.3": - version: 1.9.1 - resolution: "stream-json@npm:1.9.1" - dependencies: - stream-chain: "npm:^2.2.5" - checksum: 10c0/0521e5cb3fb6b0e2561d715975e891bd81fa77d0239c8d0b1756846392bc3c7cdd7f1ddb0fe7ed77e6fdef58daab9e665d3b39f7d677bd0859e65a2bff59b92c - languageName: node - linkType: hard - "stream-shift@npm:^1.0.2": version: 1.0.3 resolution: "stream-shift@npm:1.0.3" @@ -14868,18 +12149,7 @@ __metadata: languageName: node linkType: hard -"streamx@npm:^2.12.5, streamx@npm:^2.15.0, streamx@npm:^2.25.0": - version: 2.28.0 - resolution: "streamx@npm:2.28.0" - dependencies: - events-universal: "npm:^1.0.0" - fast-fifo: "npm:^1.3.2" - text-decoder: "npm:^1.1.0" - checksum: 10c0/1cd5647c4dbdaadf4623b48183bab1d71bdc251e24c8f3baddf9fb9fa75096a7d446aba2c58a4f71964eeb5753f514b59e97bfdf94a60ce2c1b33594410b0342 - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -14949,7 +12219,7 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": +"string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" dependencies: @@ -14958,15 +12228,6 @@ __metadata: languageName: node linkType: hard -"string_decoder@npm:~1.1.1": - version: 1.1.1 - resolution: "string_decoder@npm:1.1.1" - dependencies: - safe-buffer: "npm:~5.1.0" - checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e - languageName: node - linkType: hard - "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -15073,37 +12334,6 @@ __metadata: languageName: node linkType: hard -"superstatic@npm:^10.0.0": - version: 10.0.0 - resolution: "superstatic@npm:10.0.0" - dependencies: - basic-auth-connect: "npm:^1.1.0" - commander: "npm:^10.0.0" - compression: "npm:^1.7.0" - connect: "npm:^3.7.0" - destroy: "npm:^1.0.4" - glob-slasher: "npm:^1.0.1" - is-url: "npm:^1.2.2" - join-path: "npm:^1.1.1" - lodash: "npm:^4.17.19" - mime-types: "npm:^2.1.35" - minimatch: "npm:^6.1.6" - morgan: "npm:^1.8.2" - on-finished: "npm:^2.2.0" - on-headers: "npm:^1.0.0" - path-to-regexp: "npm:^1.9.0" - re2: "npm:^1.17.7" - router: "npm:^2.0.0" - update-notifier-cjs: "npm:^5.1.6" - dependenciesMeta: - re2: - optional: true - bin: - superstatic: lib/bin/server.js - checksum: 10c0/af83480c2b46e8b6098791a327c1520a8a2813dfc624ac29d91fa08d60019f257b400f1af5152d8d8d63fb5267ce58c1e2a5dca143b04f4ec5d2f686a2b51aff - languageName: node - linkType: hard - "supertest@npm:^6.3.4": version: 6.3.4 resolution: "supertest@npm:6.3.4" @@ -15134,7 +12364,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": +"supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -15143,16 +12373,6 @@ __metadata: languageName: node linkType: hard -"supports-hyperlinks@npm:^3.1.0": - version: 3.2.0 - resolution: "supports-hyperlinks@npm:3.2.0" - dependencies: - has-flag: "npm:^4.0.0" - supports-color: "npm:^7.0.0" - checksum: 10c0/bca527f38d4c45bc95d6a24225944675746c515ddb91e2456d00ae0b5c537658e9dd8155b996b191941b0c19036195a098251304b9082bbe00cd1781f3cd838e - languageName: node - linkType: hard - "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -15245,18 +12465,6 @@ __metadata: languageName: node linkType: hard -"tar-stream@npm:^3.0.0": - version: 3.2.0 - resolution: "tar-stream@npm:3.2.0" - dependencies: - b4a: "npm:^1.6.4" - bare-fs: "npm:^4.5.5" - fast-fifo: "npm:^1.2.0" - streamx: "npm:^2.15.0" - checksum: 10c0/8a06c915f93c9b0906e79867e36a9cfe197da4d41b72e89ec0de99577ae755505d14815c1346b70c2410aa09d3145c3e3af2ff5802b6af84990cdd6c60dbb997 - languageName: node - linkType: hard - "tar@npm:7.5.16": version: 7.5.16 resolution: "tar@npm:7.5.16" @@ -15270,28 +12478,6 @@ __metadata: languageName: node linkType: hard -"tcp-port-used@npm:^1.0.2": - version: 1.0.3 - resolution: "tcp-port-used@npm:1.0.3" - dependencies: - debug: "npm:4.3.1" - is2: "npm:2.0.1" - checksum: 10c0/23a330e9f59fb6e2dffe67263d518ac31566632092a5b78394add56bd3706f63a80851dea4f519eb3689051b0bfa6d23b0ff52798f1b56f75b3b0dbf1b589885 - languageName: node - linkType: hard - -"teeny-request@npm:^10.0.0": - version: 10.1.4 - resolution: "teeny-request@npm:10.1.4" - dependencies: - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - node-fetch: "npm:^3.3.2" - stream-events: "npm:^1.0.5" - checksum: 10c0/18b5228feff52a011f601a394bb65f3f2b66e3818618b78de1df80761506e359f4252328f6672763804414041a383ea5a31cc8ccd6dc258c170eb1eaa52c5822 - languageName: node - linkType: hard - "teeny-request@npm:^9.0.0": version: 9.0.0 resolution: "teeny-request@npm:9.0.0" @@ -15305,24 +12491,6 @@ __metadata: languageName: node linkType: hard -"teex@npm:^1.0.1": - version: 1.0.1 - resolution: "teex@npm:1.0.1" - dependencies: - streamx: "npm:^2.12.5" - checksum: 10c0/8df9166c037ba694b49d32a49858e314c60e513d55ac5e084dbf1ddbb827c5fa43cc389a81e87684419c21283308e9d68bb068798189c767ec4c252f890b8a77 - languageName: node - linkType: hard - -"text-decoder@npm:^1.1.0": - version: 1.2.7 - resolution: "text-decoder@npm:1.2.7" - dependencies: - b4a: "npm:^1.6.4" - checksum: 10c0/929938ed154fbadb660a7f3d1aca30b7e53649a731af7583168fcfba0c158046325d35d945926e2a512bb62d1a49a7818151c987ea38b48853f01e1615722fc5 - languageName: node - linkType: hard - "text-extensions@npm:^2.0.0": version: 2.4.0 resolution: "text-extensions@npm:2.4.0" @@ -15330,13 +12498,6 @@ __metadata: languageName: node linkType: hard -"text-hex@npm:1.0.x": - version: 1.0.0 - resolution: "text-hex@npm:1.0.0" - checksum: 10c0/57d8d320d92c79d7c03ffb8339b825bb9637c2cbccf14304309f51d8950015c44464b6fd1b6820a3d4821241c68825634f09f5a2d9d501e84f7c6fd14376860d - languageName: node - linkType: hard - "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -15344,24 +12505,6 @@ __metadata: languageName: node linkType: hard -"thenify-all@npm:^1.0.0": - version: 1.6.0 - resolution: "thenify-all@npm:1.6.0" - dependencies: - thenify: "npm:>= 3.1.0 < 4" - checksum: 10c0/9b896a22735e8122754fe70f1d65f7ee691c1d70b1f116fda04fea103d0f9b356e3676cb789506e3909ae0486a79a476e4914b0f92472c2e093d206aed4b7d6b - languageName: node - linkType: hard - -"thenify@npm:>= 3.1.0 < 4": - version: 3.3.1 - resolution: "thenify@npm:3.3.1" - dependencies: - any-promise: "npm:^1.0.0" - checksum: 10c0/f375aeb2b05c100a456a30bc3ed07ef03a39cbdefe02e0403fb714b8c7e57eeaad1a2f5c4ecfb9ce554ce3db9c2b024eba144843cd9e344566d9fcee73b04767 - languageName: node - linkType: hard - "through@npm:>=2.2.7 <3": version: 2.3.8 resolution: "through@npm:2.3.8" @@ -15417,13 +12560,6 @@ __metadata: languageName: node linkType: hard -"tmp@npm:^0.2.3": - version: 0.2.7 - resolution: "tmp@npm:0.2.7" - checksum: 10c0/59eb55584f2f07210d3231b6a1f6b5c2b9794d8a7b509c8ee867ed2acad6d2245ee2448b7937b676ffbff3155a70077edde8a69f9d7cf0f90c86a62e8910c357 - languageName: node - linkType: hard - "tmp@npm:^0.2.4": version: 0.2.5 resolution: "tmp@npm:0.2.5" @@ -15469,15 +12605,6 @@ __metadata: languageName: node linkType: hard -"toxic@npm:^1.0.0": - version: 1.0.1 - resolution: "toxic@npm:1.0.1" - dependencies: - lodash: "npm:^4.17.10" - checksum: 10c0/c741731885ffc75e8f955899fb378c1fafde71ea3556d4526a2357d82639066d5ab01d54d10d3d099ec9886649be7a500ac51e50439cf8feda95b2ecffaad839 - languageName: node - linkType: hard - "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -15494,13 +12621,6 @@ __metadata: languageName: node linkType: hard -"triple-beam@npm:^1.3.0": - version: 1.4.1 - resolution: "triple-beam@npm:1.4.1" - checksum: 10c0/4bf1db71e14fe3ff1c3adbe3c302f1fdb553b74d7591a37323a7badb32dc8e9c290738996cbb64f8b10dc5a3833645b5d8c26221aaaaa12e50d1251c9aba2fea - languageName: node - linkType: hard - "ts-api-utils@npm:^1.3.0": version: 1.4.3 resolution: "ts-api-utils@npm:1.4.3" @@ -15526,7 +12646,7 @@ __metadata: languageName: node linkType: hard -"ts-node@npm:^10.9.1, ts-node@npm:^10.9.2": +"ts-node@npm:^10.9.2": version: 10.9.2 resolution: "ts-node@npm:10.9.2" dependencies: @@ -15587,7 +12707,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:2.8.1, tslib@npm:^2.0.1, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.8.1": +"tslib@npm:2.8.1, tslib@npm:^2.1.0, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 @@ -15601,13 +12721,6 @@ __metadata: languageName: node linkType: hard -"tsscmp@npm:^1.0.6": - version: 1.0.6 - resolution: "tsscmp@npm:1.0.6" - checksum: 10c0/2f79a9455e7e3e8071995f98cdf3487ccfc91b760bec21a9abb4d90519557eafaa37246e87c92fa8bf3fef8fd30cfd0cc3c4212bb929baa9fb62494bfa4d24b2 - languageName: node - linkType: hard - "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -15644,7 +12757,7 @@ __metadata: languageName: node linkType: hard -"type-is@npm:^1.6.18, type-is@npm:~1.6.18": +"type-is@npm:^1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -15729,15 +12842,6 @@ __metadata: languageName: node linkType: hard -"typedarray-to-buffer@npm:^3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" - dependencies: - is-typedarray: "npm:^1.0.0" - checksum: 10c0/4ac5b7a93d604edabf3ac58d3a2f7e07487e9f6e98195a080e81dbffdc4127817f470f219d794a843b87052cedef102b53ac9b539855380b8c2172054b7d5027 - languageName: node - linkType: hard - "typedarray@npm:^0.0.6": version: 0.0.6 resolution: "typedarray@npm:0.0.6" @@ -15949,13 +13053,6 @@ __metadata: languageName: node linkType: hard -"undici@npm:^8.4.1": - version: 8.10.0 - resolution: "undici@npm:8.10.0" - checksum: 10c0/37ae2b1db8f65c3a003504e2040e96887b99f9db16ba07dcf49c37ed8b7f8c72f4452f2d46f52f7c9e49518fe8325e3b5e7e02ac3a2424886bd67d4b62a0ecab - languageName: node - linkType: hard - "unicode-emoji-modifier-base@npm:^1.0.0": version: 1.0.0 resolution: "unicode-emoji-modifier-base@npm:1.0.0" @@ -16006,25 +13103,6 @@ __metadata: languageName: node linkType: hard -"unique-string@npm:^2.0.0": - version: 2.0.0 - resolution: "unique-string@npm:2.0.0" - dependencies: - crypto-random-string: "npm:^2.0.0" - checksum: 10c0/11820db0a4ba069d174bedfa96c588fc2c96b083066fafa186851e563951d0de78181ac79c744c1ed28b51f9d82ac5b8196ff3e4560d0178046ef455d8c2244b - languageName: node - linkType: hard - -"universal-analytics@npm:^0.5.3": - version: 0.5.4 - resolution: "universal-analytics@npm:0.5.4" - dependencies: - debug: "npm:^4.3.1" - uuid: "npm:^14.0.0" - checksum: 10c0/3e4aed50e38a70b7ddf29ce3e16233c84e4b72d7aa2b79db3cce6dacc0459075f291a0d76ce3f5f65b7d72f2236700246dd1361e1c02b62955ca07057f442269 - languageName: node - linkType: hard - "universalify@npm:^2.0.0": version: 2.0.1 resolution: "universalify@npm:2.0.1" @@ -16078,30 +13156,6 @@ __metadata: languageName: node linkType: hard -"update-notifier-cjs@npm:^5.1.6": - version: 5.1.7 - resolution: "update-notifier-cjs@npm:5.1.7" - dependencies: - boxen: "npm:^5.0.0" - chalk: "npm:^4.1.0" - configstore: "npm:^5.0.1" - has-yarn: "npm:^2.1.0" - import-lazy: "npm:^2.1.0" - is-ci: "npm:^2.0.0" - is-installed-globally: "npm:^0.4.0" - is-npm: "npm:^5.0.0" - is-yarn-global: "npm:^0.3.0" - isomorphic-fetch: "npm:^3.0.0" - pupa: "npm:^2.1.1" - registry-auth-token: "npm:^5.0.1" - registry-url: "npm:^5.1.0" - semver: "npm:^7.3.7" - semver-diff: "npm:^3.1.1" - xdg-basedir: "npm:^4.0.0" - checksum: 10c0/6b264940deb485be8892615d5c17c6dff8b2f820a03079f083b635a589327b7876a83e5cd9b32e392cd2e7f73282d9834130debbce190a176ce268c612979e32 - languageName: node - linkType: hard - "uri-js@npm:^4.2.2": version: 4.4.1 resolution: "uri-js@npm:4.4.1" @@ -16111,28 +13165,14 @@ __metadata: languageName: node linkType: hard -"url-join@npm:0.0.1": - version: 0.0.1 - resolution: "url-join@npm:0.0.1" - checksum: 10c0/2d45954bd78dfa12d4de1bfb7fe4fedb3bfa8ac12eadc0c3171078bf54b1bbb31999b996d4d23553e9da95a0e047574486733842f679c51d04965e189c5a6840 - languageName: node - linkType: hard - -"url-template@npm:^2.0.8": - version: 2.0.8 - resolution: "url-template@npm:2.0.8" - checksum: 10c0/56a15057eacbcf05d52b0caed8279c8451b3dd9d32856a1fdd91c6dc84dcb1646f12bafc756b7ade62ca5b1564da8efd7baac5add35868bafb43eb024c62805b - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": +"util-deprecate@npm:^1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 languageName: node linkType: hard -"utils-merge@npm:1.0.1, utils-merge@npm:^1.0.1": +"utils-merge@npm:^1.0.1": version: 1.0.1 resolution: "utils-merge@npm:1.0.1" checksum: 10c0/02ba649de1b7ca8854bfe20a82f1dfbdda3fb57a22ab4a8972a63a34553cf7aa51bc9081cf7e001b035b88186d23689d69e71b510e610a09a4c66f68aa95b672 @@ -16157,24 +13197,6 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^14.0.0": - version: 14.0.1 - resolution: "uuid@npm:14.0.1" - bin: - uuid: dist-node/bin/uuid - checksum: 10c0/2d961289097cb68c37d93d1da0b5c3aafc1eb9948a455cca8d0ae53a099b2fe583b8933254a84097f700e6bac2e23033364904df0467c22551d5d9611febcaf6 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - "uuid@npm:^9.0.0, uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1" @@ -16191,20 +13213,6 @@ __metadata: languageName: node linkType: hard -"valid-url@npm:^1": - version: 1.0.9 - resolution: "valid-url@npm:1.0.9" - checksum: 10c0/3995e65f9942dbcb1621754c0f9790335cec61e9e9310c0a809e9ae0e2ae91bb7fc6a471fba788e979db0418d9806639f681ecebacc869bc8c3de88efa562ee6 - languageName: node - linkType: hard - -"validate-npm-package-name@npm:^5.0.0": - version: 5.0.1 - resolution: "validate-npm-package-name@npm:5.0.1" - checksum: 10c0/903e738f7387404bb72f7ac34e45d7010c877abd2803dc2d614612527927a40a6d024420033132e667b1bade94544b8a1f65c9431a4eb30d0ce0d80093cd1f74 - languageName: node - linkType: hard - "validator@npm:^13.15.20": version: 13.15.26 resolution: "validator@npm:13.15.26" @@ -16212,7 +13220,7 @@ __metadata: languageName: node linkType: hard -"vary@npm:^1, vary@npm:^1.1.2, vary@npm:~1.1.2": +"vary@npm:^1, vary@npm:^1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f @@ -16401,15 +13409,6 @@ __metadata: languageName: node linkType: hard -"wcwidth@npm:^1.0.1": - version: 1.0.1 - resolution: "wcwidth@npm:1.0.1" - dependencies: - defaults: "npm:^1.0.3" - checksum: 10c0/5b61ca583a95e2dd85d7078400190efd452e05751a64accb8c06ce4db65d7e0b0cde9917d705e826a2e05cc2548f61efde115ffa374c3e436d04be45c889e5b4 - languageName: node - linkType: hard - "web-streams-polyfill@npm:^3.0.3": version: 3.3.3 resolution: "web-streams-polyfill@npm:3.3.3" @@ -16475,13 +13474,6 @@ __metadata: languageName: node linkType: hard -"whatwg-fetch@npm:^3.4.1": - version: 3.6.20 - resolution: "whatwg-fetch@npm:3.6.20" - checksum: 10c0/fa972dd14091321d38f36a4d062298df58c2248393ef9e8b154493c347c62e2756e25be29c16277396046d6eaa4b11bd174f34e6403fff6aaca9fb30fa1ff46d - languageName: node - linkType: hard - "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -16575,17 +13567,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^7.0.0": - version: 7.0.0 - resolution: "which@npm:7.0.0" - dependencies: - isexe: "npm:^4.0.0" - bin: - node-which: bin/which.js - checksum: 10c0/ca0b54f198f78bbc4b7c02e34bda8d335cb352e0adb4cbca1c37b1a957af3a879a82c4c27ca6525bc942f548d8b64f816ef6528360af9f3de55ffb9b979b620d - languageName: node - linkType: hard - "why-is-node-running@npm:^2.3.0": version: 2.3.0 resolution: "why-is-node-running@npm:2.3.0" @@ -16607,45 +13588,6 @@ __metadata: languageName: node linkType: hard -"widest-line@npm:^3.1.0": - version: 3.1.0 - resolution: "widest-line@npm:3.1.0" - dependencies: - string-width: "npm:^4.0.0" - checksum: 10c0/b1e623adcfb9df35350dd7fc61295d6d4a1eaa65a406ba39c4b8360045b614af95ad10e05abf704936ed022569be438c4bfa02d6d031863c4166a238c301119f - languageName: node - linkType: hard - -"winston-transport@npm:^4.4.0, winston-transport@npm:^4.9.0": - version: 4.9.0 - resolution: "winston-transport@npm:4.9.0" - dependencies: - logform: "npm:^2.7.0" - readable-stream: "npm:^3.6.2" - triple-beam: "npm:^1.3.0" - checksum: 10c0/e2990a172e754dbf27e7823772214a22dc8312f7ec9cfba831e5ef30a5d5528792e5ea8f083c7387ccfc5b2af20e3691f64738546c8869086110a26f98671095 - languageName: node - linkType: hard - -"winston@npm:^3.0.0": - version: 3.19.0 - resolution: "winston@npm:3.19.0" - dependencies: - "@colors/colors": "npm:^1.6.0" - "@dabh/diagnostics": "npm:^2.0.8" - async: "npm:^3.2.3" - is-stream: "npm:^2.0.0" - logform: "npm:^2.7.0" - one-time: "npm:^1.0.0" - readable-stream: "npm:^3.4.0" - safe-stable-stringify: "npm:^2.3.1" - stack-trace: "npm:0.0.x" - triple-beam: "npm:^1.3.0" - winston-transport: "npm:^4.9.0" - checksum: 10c0/341a8ccfb726120209d34e2466040e2ca72cadb1a3402c4fc90425facad002b81275675b4ab9b4432a624311bc47ef7c9fb7652c86fca454d2be2f2ee1882226 - languageName: node - linkType: hard - "word-wrap@npm:^1.2.5": version: 1.2.5 resolution: "word-wrap@npm:1.2.5" @@ -16693,40 +13635,6 @@ __metadata: languageName: node linkType: hard -"write-file-atomic@npm:^3.0.0": - version: 3.0.3 - resolution: "write-file-atomic@npm:3.0.3" - dependencies: - imurmurhash: "npm:^0.1.4" - is-typedarray: "npm:^1.0.0" - signal-exit: "npm:^3.0.2" - typedarray-to-buffer: "npm:^3.1.5" - checksum: 10c0/7fb67affd811c7a1221bed0c905c26e28f0041e138fb19ccf02db57a0ef93ea69220959af3906b920f9b0411d1914474cdd90b93a96e5cd9e8368d9777caac0e - languageName: node - linkType: hard - -"ws@npm:^7.5.10": - version: 7.5.13 - resolution: "ws@npm:7.5.13" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 10c0/e223726bbda5768ed58ec9252d04eda7018ef380ea122bb94e595a4d7a02b5baeb423933936576fddb8fa51b642375f7ae814bf0f6f5d9a3ce290566578a8c5a - languageName: node - linkType: hard - -"xdg-basedir@npm:^4.0.0": - version: 4.0.0 - resolution: "xdg-basedir@npm:4.0.0" - checksum: 10c0/1b5d70d58355af90363a4e0a51c992e77fc5a1d8de5822699c7d6e96a6afea9a1e048cb93312be6870f338ca45ebe97f000425028fa149c1e87d1b5b8b212a06 - languageName: node - linkType: hard - "xml-naming@npm:^0.1.0": version: 0.1.0 resolution: "xml-naming@npm:0.1.0" @@ -16734,13 +13642,6 @@ __metadata: languageName: node linkType: hard -"xtend@npm:^4.0.0": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -16769,15 +13670,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^2.2.1, yaml@npm:^2.8.3": - version: 2.9.0 - resolution: "yaml@npm:2.9.0" - bin: - yaml: bin.mjs - checksum: 10c0/f340718df45e97a9551b9bf9dac61c80050bc464513b710debfb5067c380c8472e3b67809cffacb4ab5ffb5e66ef9310816c88b05f371cec60abfedd8c88e0a2 - languageName: node - linkType: hard - "yaml@npm:^2.2.2": version: 2.8.3 resolution: "yaml@npm:2.8.3" @@ -16787,13 +13679,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 10c0/0685a8e58bbfb57fab6aefe03c6da904a59769bd803a722bb098bd5b0f29d274a1357762c7258fb487512811b8063fb5d2824a3415a0a4540598335b3b086c72 - languageName: node - linkType: hard - "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -16816,21 +13701,6 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^16.0.0": - version: 16.2.2 - resolution: "yargs@npm:16.2.2" - dependencies: - cliui: "npm:^7.0.2" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.0" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^20.2.2" - checksum: 10c0/1ca2152581ee7c9c9fb4174767ff7294b1c272d2d0a1f6eb13c39ce177fded85eb9c96711e00cd7913c0a9b88b6e763713ee11cae81b9b62fd97bdd0b03d5549 - languageName: node - linkType: hard - "yargs@npm:^17.7.3": version: 17.7.3 resolution: "yargs@npm:17.7.3" @@ -16881,34 +13751,7 @@ __metadata: languageName: node linkType: hard -"zip-stream@npm:^6.0.1": - version: 6.0.1 - resolution: "zip-stream@npm:6.0.1" - dependencies: - archiver-utils: "npm:^5.0.0" - compress-commons: "npm:^6.0.2" - readable-stream: "npm:^4.0.0" - checksum: 10c0/50f2fb30327fb9d09879abf7ae2493705313adf403e794b030151aaae00009162419d60d0519e807673ec04d442e140c8879ca14314df0a0192de3b233e8f28b - languageName: node - linkType: hard - -"zod-to-json-schema@npm:^3.24.5, zod-to-json-schema@npm:^3.25.1": - version: 3.25.2 - resolution: "zod-to-json-schema@npm:3.25.2" - peerDependencies: - zod: ^3.25.28 || ^4 - checksum: 10c0/dd300554393903022487688af14fbda5c719ba8179702bb55b3aa86318830467f0f7beb7d654036975ac963dc4843b72e59636448bfff9a0608f277bb6a14939 - languageName: node - linkType: hard - -"zod@npm:^3.24.3": - version: 3.25.76 - resolution: "zod@npm:3.25.76" - checksum: 10c0/5718ec35e3c40b600316c5b4c5e4976f7fee68151bc8f8d90ec18a469be9571f072e1bbaace10f1e85cf8892ea12d90821b200e980ab46916a6166a4260a983c - languageName: node - linkType: hard - -"zod@npm:^3.25 || ^4.0, zod@npm:^4.4.3": +"zod@npm:^4.4.3": version: 4.4.3 resolution: "zod@npm:4.4.3" checksum: 10c0/7ea31b558e88f9faf44f31dd185e2e1cbf51fed3081787fb96cc2534749b50c0acfc6da7f0922a7353ed092dd358c7d50c28ea96c94d04af64191bd33152eca3