From 89954b6f98bffa1bad6058bf359f891cb83974f2 Mon Sep 17 00:00:00 2001 From: John Henderson Date: Fri, 3 Jul 2026 04:13:08 -0400 Subject: [PATCH 1/6] feat: migrate Credo 0.5 to 0.7 Upgrade @credo-ts/{core,askar,node} from 0.5.10 to 0.7.0 and replace the @hyperledger/aries-askar bindings with @openwallet-foundation/askar 0.6 (koffi-based - no more ffi-napi/ref-napi native compilation). Node 22 -> 24 everywhere, which the new bindings support and which jest needs to require() the now ESM-only Credo packages. Code migration (Credo 0.6/0.7 breaking changes): - CredoService: walletConfig moved from the agent InitConfig to the AskarModule store config; the separate raw AskarWallet + SigningProviderRegistry are gone. A withAskarSession() helper (AskarStoreManager) replaces the raw wallet accessor, and autoUpdateStorageOnStartup migrates pre-0.6 stores on first start. - KeyService: the removed wallet API (agent.wallet.createKey) is replaced by the new KMS API. Keys are imported with an explicit kid so the REST keyId contract (base58 of the public key) is unchanged. Private-key export (GET /key/:keyId) is intentionally not part of the KMS API and now reads through a raw Askar session. Fixes a latent bug where secp256k1 keys were stored as mislabelled Ed25519 keys; they are now proper EC JWKs (keyId = base58 of the compressed public key), which unblocks did:ethr generation. - DIDKeyFactory: dids.create now takes a KMS keyId (Key/Ed25519Jwk classes are gone) and creating a duplicate DidRecord throws, so the factory resolves and returns the existing document instead - the seeder re-registers its DIDs on every boot (verified: restart with the same wallet re-seeds cleanly). - CredentialsService: proofPurpose must now be a jsonld-signatures purpose instance instead of a string; map authentication and assertionMethod accordingly. - TypedArrayEncoder.fromBase64 is strict in 0.7 (no unpadded/url-safe input) - use fromBase64Url/Buffer where JWK fields are decoded. Import-order constraint: @openwallet-foundation/askar-nodejs must load before any @credo-ts/* package (it registers the native binding that the ESM-only Credo packages snapshot at load time). Enforced in CredoService, main.ts and the did-key-factory spec, with comments. Jest / require(esm) plumbing: - test scripts run with NODE_OPTIONS=--experimental-vm-modules (jest loads ESM through vm modules) via cross-env - jest-setup/preload.cjs loads the askar packages once per worker process (their koffi type registration is process-global and cannot run once per test file); moduleNameMapper hands the singletons to every test module registry - webcrypto-core is mapped to its CJS build so the dual-format package is never loaded as CJS and ESM concurrently The @credo-ts/core patch is re-created against 0.7: signing a DIDAuth presentation (no verifiableCredential property) still fails class validation (credo-ts issue #2038). Unit suites, the did library suite (incl. new idempotency test), the e2e project and the app e2e suite pass; the 4 Resident Card e2e tests need w3id.org network access and are covered in CI. Verified manually: boot + seeding, DID create, key export round-trip, credential issue, wallet reuse across restarts. Part of #57 Co-Authored-By: Claude Fable 5 Signed-off-by: John Henderson --- .nvmrc | 2 +- README.md | 2 +- apps/vc-api/Dockerfile | 2 +- apps/vc-api/package.json | 31 +- .../src/credo/__mocks__/credo.service.ts | 36 +- apps/vc-api/src/credo/credo.service.ts | 89 +- apps/vc-api/src/did/did.service.spec.ts | 7 +- apps/vc-api/src/did/did.service.ts | 6 +- apps/vc-api/src/key/key.service.spec.ts | 31 +- apps/vc-api/src/key/key.service.ts | 105 +- apps/vc-api/src/main.ts | 3 + apps/vc-api/src/utils/crypto.utils.ts | 4 +- .../vc-api/credentials/credentials.service.ts | 26 +- apps/vc-api/test/did/did.service.spec.data.ts | 23 +- apps/vc-api/test/jest-e2e.json | 5 + apps/vc-api/test/key/key.e2e-suite.ts | 4 +- apps/vc-api/test/key/key.service.spec.data.ts | 20 - eslint.config.mjs | 1 + jest-setup/askar-nodejs.cjs | 8 + jest-setup/askar-shared.cjs | 8 + jest-setup/preload.cjs | 33 + jest.config.js | 8 + libraries/did/package.json | 7 +- libraries/did/src/did-key-factory.spec.ts | 75 +- libraries/did/src/did-key-factory.ts | 52 +- package.json | 2 +- patches/@credo-ts__core@0.5.10.patch | 13 - patches/@credo-ts__core@0.7.0.patch | 13 + pnpm-lock.yaml | 5244 ++--------------- pnpm-workspace.yaml | 18 +- tests/e2e/package.json | 12 +- 31 files changed, 959 insertions(+), 4931 deletions(-) delete mode 100644 apps/vc-api/test/key/key.service.spec.data.ts create mode 100644 jest-setup/askar-nodejs.cjs create mode 100644 jest-setup/askar-shared.cjs create mode 100644 jest-setup/preload.cjs delete mode 100644 patches/@credo-ts__core@0.5.10.patch create mode 100644 patches/@credo-ts__core@0.7.0.patch diff --git a/.nvmrc b/.nvmrc index 2bd5a0a9..a45fd52c 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22 +24 diff --git a/README.md b/README.md index 71f4b204..cea8e4a8 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ PNPM is used for its speed and solution to NPM doppelgangers. ### Requirements -Node.js >= 22 is required (see `.nvmrc`). +Node.js >= 24.9 is required (see `.nvmrc`). pnpm is required. With Node.js installed, the easiest way to get it is `corepack enable` (the version is pinned by the `packageManager` field in `package.json`). diff --git a/apps/vc-api/Dockerfile b/apps/vc-api/Dockerfile index 02854c98..63c8e353 100644 --- a/apps/vc-api/Dockerfile +++ b/apps/vc-api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:22 AS base +FROM node:24 AS base WORKDIR /app diff --git a/apps/vc-api/package.json b/apps/vc-api/package.json index fc22265c..2e04c875 100644 --- a/apps/vc-api/package.json +++ b/apps/vc-api/package.json @@ -14,12 +14,12 @@ "start:dev": "nest start --watch", "start:debug": "nest start --debug --watch", "start:prod": "node dist/main", - "test": "jest && jest --config ./test/jest-e2e.json", - "test:unit": "jest", - "test:watch": "jest --watch", - "test:cov": "jest --coverage", - "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", - "test:e2e": "jest --config ./test/jest-e2e.json", + "test": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --require ../../jest-setup/preload.cjs\" jest && cross-env \"NODE_OPTIONS=--experimental-vm-modules --require ../../jest-setup/preload.cjs\" jest --config ./test/jest-e2e.json", + "test:unit": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --require ../../jest-setup/preload.cjs\" jest", + "test:watch": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --require ../../jest-setup/preload.cjs\" jest --watch", + "test:cov": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --require ../../jest-setup/preload.cjs\" jest --coverage", + "test:debug": "node --experimental-vm-modules --require ../../jest-setup/preload.cjs --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --require ../../jest-setup/preload.cjs\" jest --config ./test/jest-e2e.json", "write-openapi": "ts-node ./scripts/write-open-api-json.ts && prettier -w docs/openapi.json", "update-openapi": "npm run write-openapi; git add docs/openapi.json" }, @@ -37,7 +37,7 @@ "rxjs": "^7.8.1", "typeorm": "^0.3.17", "did-resolver": "catalog:", - "class-validator": "0.14.1", + "class-validator": "~0.14.3", "class-transformer": "~0.5.1", "@nestjs/swagger": "^11.4.0", "swagger-ui-express": "~5.0.1", @@ -50,9 +50,10 @@ "@credo-ts/askar": "catalog:", "@credo-ts/core": "catalog:", "@credo-ts/node": "catalog:", - "@hyperledger/aries-askar-nodejs": "catalog:", - "@hyperledger/aries-askar-shared": "^0.2.3", - "sqlite3": "~5.1.7" + "sqlite3": "~5.1.7", + "@openwallet-foundation/askar-nodejs": "catalog:", + "@openwallet-foundation/askar-shared": "catalog:", + "@digitalcredentials/jsonld-signatures": "^12.0.1" }, "devDependencies": { "@nestjs/cli": "^11.0.0", @@ -71,7 +72,8 @@ "tsconfig-paths": "catalog:", "typescript": "catalog:", "nock": "^14.0.0", - "@sphereon/pex-models": "~2.0.2" + "@sphereon/pex-models": "~2.0.2", + "cross-env": "catalog:" }, "jest": { "moduleFileExtensions": [ @@ -88,6 +90,11 @@ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", - "testEnvironment": "node" + "testEnvironment": "node", + "moduleNameMapper": { + "^@openwallet-foundation/askar-nodejs$": "/../../../jest-setup/askar-nodejs.cjs", + "^@openwallet-foundation/askar-shared$": "/../../../jest-setup/askar-shared.cjs", + "^webcrypto-core$": "/../../../node_modules/.pnpm/node_modules/webcrypto-core/build/webcrypto-core.js" + } } } diff --git a/apps/vc-api/src/credo/__mocks__/credo.service.ts b/apps/vc-api/src/credo/__mocks__/credo.service.ts index 335e5f5c..999594c7 100644 --- a/apps/vc-api/src/credo/__mocks__/credo.service.ts +++ b/apps/vc-api/src/credo/__mocks__/credo.service.ts @@ -1,10 +1,36 @@ +import { Kms } from '@credo-ts/core'; + +/** + * In-memory stand-in for the agent's KMS: importKey stores the private JWK + * under its kid, getPublicKey returns the public part or throws the same + * not-found error as the real KMS. + */ +const kmsKeys = new Map>(); + +export const resetMockKms = () => kmsKeys.clear(); + export const mockCredoService = { - wallet: { - withSession: jest.fn() - }, + withAskarSession: jest.fn(), agent: { - wallet: { - createKey: jest.fn() + kms: { + importKey: jest.fn(async ({ privateJwk }) => { + kmsKeys.set(privateJwk.kid, privateJwk); + const { d: _d, ...publicJwk } = privateJwk; // eslint-disable-line @typescript-eslint/no-unused-vars + return { keyId: privateJwk.kid, publicJwk }; + }), + getPublicKey: jest.fn(async ({ keyId }) => { + const jwk = kmsKeys.get(keyId); + if (!jwk) { + throw new Kms.KeyManagementKeyNotFoundError(keyId, ['askar']); + } + const { d: _d, ...publicJwk } = jwk; // eslint-disable-line @typescript-eslint/no-unused-vars + return { ...publicJwk, kid: keyId }; + }) + }, + dids: { + getCreatedDids: jest.fn().mockResolvedValue([]), + create: jest.fn(), + resolveDidDocument: jest.fn() }, w3cCredentials: { signCredential: jest.fn(), diff --git a/apps/vc-api/src/credo/credo.service.ts b/apps/vc-api/src/credo/credo.service.ts index 86976981..21a1a76f 100644 --- a/apps/vc-api/src/credo/credo.service.ts +++ b/apps/vc-api/src/credo/credo.service.ts @@ -1,54 +1,48 @@ -import { AskarModule, AskarWallet } from '@credo-ts/askar'; -import { Agent, InitConfig, SigningProviderRegistry, ConsoleLogger, WalletConfig } from '@credo-ts/core'; +// IMPORTANT: '@openwallet-foundation/askar-nodejs' must be imported before any +// '@credo-ts/*' package. Importing it registers the native askar binding on +// the (CommonJS) '@openwallet-foundation/askar-shared' package; the ESM-only +// Credo packages snapshot that binding when they load, so loading Credo first +// leaves them with an unregistered (undefined) binding. +import { askar } from '@openwallet-foundation/askar-nodejs'; +import { AskarModule, AskarStoreManager } from '@credo-ts/askar'; +import { Agent } from '@credo-ts/core'; import { agentDependencies } from '@credo-ts/node'; -import { ariesAskar } from '@hyperledger/aries-askar-nodejs'; +import { Session } from '@openwallet-foundation/askar-shared'; import { Injectable, OnModuleInit, OnModuleDestroy } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; @Injectable() export class CredoService implements OnModuleInit, OnModuleDestroy { - private readonly walletConfig: WalletConfig; private readonly askarAgent: Agent<{ askar: AskarModule }>; - private readonly askarWallet: AskarWallet; private initialized = false; constructor(private configService: ConfigService) { - this.walletConfig = { - id: this.configService.get('CREDO_WALLET_ID'), - key: this.configService.get('CREDO_WALLET_KEY'), - storage: { - type: this.configService.get('CREDO_WALLET_DB_TYPE'), - config: { - path: `${this.configService.get('DB_BASE_PATH')}/${this.configService.get( - 'CREDO_WALLET_ID' - )}/sqlite.db` - } - } - }; - - // Initialize agent and wallet synchronously - const config: InitConfig = { - label: this.configService.get('CREDO_LABEL'), - walletConfig: this.walletConfig - }; - - // Create the agent + // Create the agent. Since Credo 0.6 the store configuration lives on the + // Askar module rather than the agent config ("walletConfig"). this.askarAgent = new Agent({ - config, + config: { + // Migrates records of pre-0.6 stores on first startup + autoUpdateStorageOnStartup: true + }, dependencies: agentDependencies, modules: { askar: new AskarModule({ - ariesAskar + askar, + store: { + id: this.configService.get('CREDO_WALLET_ID'), + key: this.configService.get('CREDO_WALLET_KEY'), + database: { + type: 'sqlite', + config: { + path: `${this.configService.get('DB_BASE_PATH')}/${this.configService.get( + 'CREDO_WALLET_ID' + )}/sqlite.db` + } + } + } }) } }); - - // Create the wallet - this.askarWallet = new AskarWallet( - new ConsoleLogger(), - new agentDependencies.FileSystem(), - new SigningProviderRegistry([]) - ); } async onModuleInit() { @@ -56,12 +50,11 @@ export class CredoService implements OnModuleInit, OnModuleDestroy { await this.initialize(); } - // initializes the askar agent and wallet for operations + // initializes the askar agent for operations private async initialize() { if (!this.askarAgent.isInitialized) { await this.askarAgent.initialize(); } - await this.askarWallet.open(this.walletConfig); this.initialized = true; } @@ -73,12 +66,17 @@ export class CredoService implements OnModuleInit, OnModuleDestroy { return this.askarAgent; } - // Accessor for the wallet - public get wallet(): AskarWallet { - if (!this.initialized) { - throw new Error('Credo wallet is not initialized yet.'); - } - return this.askarWallet; + /** + * Run a callback with a raw Askar session. + * + * The Credo 0.6+ KMS API intentionally has no private-key export, but this + * API exposes key export (see the key module). Going through the Askar + * store directly keeps that behaviour; it also couples the key module to + * the Askar backend. + */ + public async withAskarSession(callback: (session: Session) => Return): Promise> { + const storeManager = this.agent.dependencyManager.resolve(AskarStoreManager); + return await storeManager.withSession(this.askarAgent.context, callback); } async onModuleDestroy() { @@ -87,10 +85,9 @@ export class CredoService implements OnModuleInit, OnModuleDestroy { } private async cleanup() { - if (this.agent.isInitialized) { - // close askar agent connection - await this.wallet.close(); - await this.agent.shutdown(); + if (this.askarAgent.isInitialized) { + // the agent owns the store lifecycle since Credo 0.6 + await this.askarAgent.shutdown(); } } } diff --git a/apps/vc-api/src/did/did.service.spec.ts b/apps/vc-api/src/did/did.service.spec.ts index 33817acd..bdfc3a5c 100644 --- a/apps/vc-api/src/did/did.service.spec.ts +++ b/apps/vc-api/src/did/did.service.spec.ts @@ -13,15 +13,16 @@ import { DIDService } from './did.service'; import { DIDDocumentEntity } from './entities/did-document.entity'; import { VerificationMethodEntity } from './entities/verification-method.entity'; import { CredoModule } from '../credo/credo.module'; -import { didDocument, generatedKey, keyEntryObject, keyPair } from '../../test/did/did.service.spec.data'; +import { didDocument, generatedKey, publicKeyJwk, keyPair } from '../../test/did/did.service.spec.data'; import { CredoService } from '../credo/credo.service'; -import { mockCredoService } from '../credo/__mocks__/credo.service'; +import { mockCredoService, resetMockKms } from '../credo/__mocks__/credo.service'; describe('DIDService', () => { let service: DIDService; let keyService: KeyService; beforeEach(async () => { + resetMockKms(); const module: TestingModule = await Test.createTestingModule({ imports: [ KeyModule, @@ -42,7 +43,7 @@ describe('DIDService', () => { service = module.get(DIDService); jest.spyOn(keyService, 'generateKey').mockResolvedValue(generatedKey); - jest.spyOn(keyService, 'fetchKey').mockResolvedValue(keyEntryObject); + jest.spyOn(keyService, 'getPublicKeyFromKeyId').mockResolvedValue(publicKeyJwk); jest.spyOn(DIDKeyFactory, 'generate').mockResolvedValue(didDocument); }); diff --git a/apps/vc-api/src/did/did.service.ts b/apps/vc-api/src/did/did.service.ts index 732434ee..d7d52486 100644 --- a/apps/vc-api/src/did/did.service.ts +++ b/apps/vc-api/src/did/did.service.ts @@ -48,15 +48,13 @@ export class DIDService { * @returns DID Document of registered DID */ public async registerKeyDID(keyId: string): Promise { - const key = await this.keyService.fetchKey(keyId); + const key = await this.keyService.getPublicKeyFromKeyId(keyId); if (!key) { throw new BadRequestException(`keyId=${keyId} not found`); } - // Need to set kty because it is possibly undefined in 'jose' JWK type - const difKey = { ...key?.key?.jwkPublic, kty: 'OKP' }; - const didDoc = await DIDKeyFactory.generate(this.credoService.agent, difKey); + const didDoc = await DIDKeyFactory.generate(this.credoService.agent, keyId); return didDoc; } diff --git a/apps/vc-api/src/key/key.service.spec.ts b/apps/vc-api/src/key/key.service.spec.ts index 39434d8f..b37e405a 100644 --- a/apps/vc-api/src/key/key.service.spec.ts +++ b/apps/vc-api/src/key/key.service.spec.ts @@ -11,9 +11,8 @@ import { KeyPair } from './key-pair.entity'; import { KeyService } from './key.service'; import { CredoModule } from '../credo/credo.module'; import { CredoService } from '../credo/credo.service'; -import { mockCredoService } from '../credo/__mocks__/credo.service'; +import { mockCredoService, resetMockKms } from '../credo/__mocks__/credo.service'; import { Base64ToBase58 } from '../utils/crypto.utils'; -import { keyEntryObject, createdKey } from '../../test/key/key.service.spec.data'; import { keyType } from './key-types'; describe('KeyService', () => { @@ -21,6 +20,7 @@ describe('KeyService', () => { let newPublicKey: JWK; beforeEach(async () => { + resetMockKms(); const module: TestingModule = await Test.createTestingModule({ imports: [TypeOrmSQLiteModule(true), TypeOrmModule.forFeature([KeyPair]), CredoModule], providers: [ @@ -40,36 +40,27 @@ describe('KeyService', () => { }); it('should return undefined if asked for privateKey that it does not have', async () => { - jest.spyOn(mockCredoService.wallet, 'withSession').mockImplementation(async (callback) => { - return await callback({ - fetchKey: jest.fn().mockResolvedValue(null) - }); - }); const result = await service.getPublicKeyFromKeyId('thumbprint-of-not-available-key'); expect(result).toBeUndefined(); }); describe('Ed25519', () => { beforeEach(async () => { - jest.spyOn(mockCredoService.agent.wallet, 'createKey').mockResolvedValue(createdKey); - jest.spyOn(mockCredoService.wallet, 'withSession').mockImplementation(async (callback) => { - return await callback({ - fetchKey: jest.fn().mockResolvedValue(keyEntryObject) - }); - }); const keyDescription = await service.generateKey({ type: keyType.ed25519 }); newPublicKey = await service.getPublicKeyFromKeyId(keyDescription.keyId); }); keyGenerationTest(); }); - // describe('Secp256k1', () => { - // beforeEach(async () => { - // const keyDescription = await service.generateKey({ type: keyType.secp256k1 }); - // newPublicKey = await service.getPublicKeyFromKeyId(keyDescription.keyId); - // }); - // keyGenerationTest(); - // }); + describe('Secp256k1', () => { + it('should generate and retrieve a key by the returned keyId', async () => { + const keyDescription = await service.generateKey({ type: keyType.secp256k1 }); + const storedPublicKey = await service.getPublicKeyFromKeyId(keyDescription.keyId); + expect(storedPublicKey).toBeDefined(); + expect(storedPublicKey.kty).toEqual('EC'); + expect(storedPublicKey.crv).toEqual('secp256k1'); + }); + }); function keyGenerationTest() { /** diff --git a/apps/vc-api/src/key/key.service.ts b/apps/vc-api/src/key/key.service.ts index 4f868f54..ae221be5 100644 --- a/apps/vc-api/src/key/key.service.ts +++ b/apps/vc-api/src/key/key.service.ts @@ -5,12 +5,9 @@ import { BadRequestException, Injectable } from '@nestjs/common'; import { IGenerateKey, IGenerateKeyOptions, IKeyDescription } from '@energyweb/w3c-ccg-webkms'; -import { KeyType, WalletCreateKeyOptions, Buffer } from '@credo-ts/core'; -import { Jwk, Key, KeyEntryObject } from '@hyperledger/aries-askar-shared'; +import { Kms } from '@credo-ts/core'; +import { KeyEntryObject } from '@openwallet-foundation/askar-shared'; import { generateKeyPair, exportJWK, GenerateKeyPairResult, JWK, importJWK } from 'jose'; -import { InjectRepository } from '@nestjs/typeorm'; -import { KeyPair } from './key-pair.entity'; -import { Repository } from 'typeorm'; import { keyType } from './key-types'; import { KeyPairDto } from './dtos/key-pair.dto'; import { KeyDescriptionDto } from './dtos/key-description.dto'; @@ -27,11 +24,7 @@ const ED25519_ALG = 'EdDSA'; */ @Injectable() export class KeyService implements IGenerateKey { - constructor( - private readonly credoService: CredoService, - @InjectRepository(KeyPair) - private keyRepository: Repository - ) {} + constructor(private readonly credoService: CredoService) {} public async generateKey(options: IGenerateKeyOptions): Promise { if (options.type === keyType.secp256k1) { @@ -55,27 +48,32 @@ export class KeyService implements IGenerateKey { * */ public async getPublicKeyFromKeyId(keyId: string): Promise { - const keyPair = await this.fetchKey(keyId); - return keyPair - ? { - ...keyPair?.key.jwkPublic - } - : undefined; + try { + const publicJwk = await this.credoService.agent.kms.getPublicKey({ keyId }); + return publicJwk ? ({ ...publicJwk } as JWK) : undefined; + } catch (err) { + // preserve the previous contract of returning undefined for unknown keys + if (err instanceof Kms.KeyManagementKeyNotFoundError) { + return undefined; + } + throw err; + } } /** * Get private key for an asymmetric key pair. * - * It is probably NOT reasonable to expect that KMS would support + * The Credo KMS API intentionally has no private-key export, so the key + * pair is read through a raw Askar session (see CredoService). * * @param keyId Id of the public key of the key pair * @returns private JWK of the key pair */ public async getPrivateKeyFromKeyId(keyId: string): Promise { - const keyPair = await this.fetchKey(keyId); - return keyPair + const keyEntry = await this.fetchKey(keyId); + return keyEntry ? { - ...keyPair?.key.jwkSecret + ...(keyEntry.key.jwkSecret as unknown as JWK) } : undefined; } @@ -96,7 +94,7 @@ export class KeyService implements IGenerateKey { const publicKey = await importJWK(key.publicKey, ED25519_ALG); if ('type' in privateKey && 'type' in publicKey) { const publicKeyBase58 = Base64ToBase58(key.publicKey.x); - const keyExists = await this.fetchKey(publicKeyBase58); + const keyExists = await this.getPublicKeyFromKeyId(publicKeyBase58); // if key already exists in the wallet // returns keyId i.e. publicKeyBase58 @@ -112,15 +110,15 @@ export class KeyService implements IGenerateKey { } public async exportKey(keyDescription: KeyDescriptionDto): Promise { - const key = await this.fetchKey(keyDescription.keyId); - if (key) { + const keyEntry = await this.fetchKey(keyDescription.keyId); + if (keyEntry) { return { publicKey: { - ...key.key.jwkPublic, + ...(keyEntry.key.jwkPublic as unknown as JWK), kid: keyDescription.keyId }, privateKey: { - ...key.key.jwkSecret + ...(keyEntry.key.jwkSecret as unknown as JWK) } }; } @@ -131,42 +129,51 @@ export class KeyService implements IGenerateKey { const publicKeyJWK = await exportJWK(keyGenResult.publicKey); const privateKeyJWK = await exportJWK(keyGenResult.privateKey); - // Need to check that the properties required by Askar JWK are there if (!privateKeyJWK.crv || !privateKeyJWK.x) { throw new Error('Missing required properties from private JWK'); } - const jwkProps = { ...privateKeyJWK, kty: 'OKP', crv: privateKeyJWK.crv, x: privateKeyJWK.x }; - const privateAskarJwk = Jwk.fromJson(jwkProps); - const key = Key.fromJwk({ jwk: privateAskarJwk }); + // The keyId is the base58 encoding of the (compressed, for EC keys) + // public key, which keeps the REST API keyId contract from the + // pre-KMS (Credo 0.5 / askar wallet) implementation + const keyId = this.keyIdForPublicJwk(publicKeyJWK); - if (key.jwkPublic.x !== publicKeyJWK.x) { - throw new Error(`key pair mismatch. public key: ${publicKeyJWK.x}`); - } + const { keyId: insertedKeyId } = await this.credoService.agent.kms.importKey({ + privateJwk: { + ...privateKeyJWK, + kid: keyId + } as Kms.KmsJwkPrivate + }); - const walletKeyCreate: WalletCreateKeyOptions = { - keyType: KeyType.Ed25519, - privateKey: Buffer.from(key.secretBytes) + return { + keyId: insertedKeyId }; - - // create key in the Askar Wallet - const insertedKey = await this.credoService.agent.wallet.createKey(walletKeyCreate); - - if (insertedKey) { - return { - keyId: insertedKey?.publicKeyBase58 - }; - } - - throw new Error(`key creation failed`); } - public async fetchKey(publicKeyBase58: string): Promise { - return await this.credoService.wallet.withSession( - async (session) => await session.fetchKey({ name: publicKeyBase58 }) + public async fetchKey(keyId: string): Promise { + return await this.credoService.withAskarSession( + async (session) => await session.fetchKey({ name: keyId }) ); } + /** + * Derive the keyId for a public JWK. + * - Ed25519 (OKP): base58 of the raw public key + * - secp256k1 (EC): base58 of the compressed public key + */ + private keyIdForPublicJwk(publicKeyJWK: JWK): string { + if (publicKeyJWK.kty === 'OKP') { + return Base64ToBase58(publicKeyJWK.x); + } + if (publicKeyJWK.kty === 'EC' && publicKeyJWK.x && publicKeyJWK.y) { + const x = Buffer.from(publicKeyJWK.x, 'base64url'); + const y = Buffer.from(publicKeyJWK.y, 'base64url'); + const prefix = y[y.length - 1] % 2 === 0 ? 0x02 : 0x03; + return Base64ToBase58(Buffer.concat([Buffer.from([prefix]), x]).toString('base64')); + } + throw new Error(`cannot derive keyId for JWK with kty ${publicKeyJWK.kty}`); + } + private async generateSecp256k1(): Promise { const keyGenResult = await generateKeyPair('ES256K'); return await this.saveNewKey(keyGenResult); diff --git a/apps/vc-api/src/main.ts b/apps/vc-api/src/main.ts index 83e09a38..57576696 100644 --- a/apps/vc-api/src/main.ts +++ b/apps/vc-api/src/main.ts @@ -3,6 +3,9 @@ * SPDX-License-Identifier: Apache-2.0 */ +// Registers the native askar binding before any '@credo-ts/*' package loads +// (see the import-order note in credo/credo.service.ts) +import '@openwallet-foundation/askar-nodejs'; import { setupApp, setupSwaggerDocument } from './setup'; import { readFile } from 'fs/promises'; import { resolve as resolvePath } from 'path'; diff --git a/apps/vc-api/src/utils/crypto.utils.ts b/apps/vc-api/src/utils/crypto.utils.ts index 129de544..3611ab01 100644 --- a/apps/vc-api/src/utils/crypto.utils.ts +++ b/apps/vc-api/src/utils/crypto.utils.ts @@ -1,5 +1,7 @@ import { TypedArrayEncoder } from '@credo-ts/core'; export const Base64ToBase58 = (base64: string): string => { - return TypedArrayEncoder.toBase58(TypedArrayEncoder.fromBase64(base64)); + // Buffer accepts both standard and url-safe base64, with or without + // padding (Credo 0.7's TypedArrayEncoder.fromBase64 is strict about both) + return TypedArrayEncoder.toBase58(Buffer.from(base64, 'base64')); }; diff --git a/apps/vc-api/src/vc-api/credentials/credentials.service.ts b/apps/vc-api/src/vc-api/credentials/credentials.service.ts index 7cabc0a4..96b6991f 100644 --- a/apps/vc-api/src/vc-api/credentials/credentials.service.ts +++ b/apps/vc-api/src/vc-api/credentials/credentials.service.ts @@ -30,6 +30,8 @@ import { } from '@credo-ts/core'; import { AuthenticateDto } from './dtos/authenticate.dto'; import { transformVerificationResult } from './utils/verification-result-transformer'; +// eslint-disable-next-line @typescript-eslint/no-require-imports +import { purposes } from '@digitalcredentials/jsonld-signatures'; /** * This service provide the VC-API operations @@ -103,7 +105,11 @@ export class CredentialsService implements CredentialVerifier { verificationMethod: verificationMethodId, format: ClaimFormat.LdpVp, proofType: 'Ed25519Signature2018', - proofPurpose: provePresentationDto.options.proofPurpose + proofPurpose: this.toProofPurposeInstance( + provePresentationDto.options.proofPurpose, + provePresentationDto.options.challenge, + provePresentationDto.options.domain + ) }; const w3cVerifiablePresentation = await this.credoService.agent.w3cCredentials.signPresentation( @@ -149,6 +155,24 @@ export class CredentialsService implements CredentialVerifier { return transformVerificationResult(verifyPresentation); } + /** + * Since Credo 0.6 the proofPurpose option must be a jsonld-signatures + * purpose instance rather than a purpose string. + */ + private toProofPurposeInstance(proofPurpose?: ProofPurpose, challenge?: string, domain?: string) { + if (!proofPurpose) { + return undefined; + } + switch (proofPurpose) { + case ProofPurpose.authentication: + return new purposes.AuthenticationProofPurpose({ challenge, domain }); + case ProofPurpose.assertionMethod: + return new purposes.AssertionProofPurpose(); + default: + throw new BadRequestException(`unsupported proof purpose: ${proofPurpose}`); + } + } + private async getVerificationMethodForDid(did: string): Promise { const didDoc = await this.didService.getDID(did); diff --git a/apps/vc-api/test/did/did.service.spec.data.ts b/apps/vc-api/test/did/did.service.spec.data.ts index 22bff30e..c911a91d 100644 --- a/apps/vc-api/test/did/did.service.spec.data.ts +++ b/apps/vc-api/test/did/did.service.spec.data.ts @@ -1,7 +1,6 @@ -import { DidDocument } from '@credo-ts/core'; import { IKeyDescription } from '@energyweb/w3c-ccg-webkms'; -import { KeyEntryObject } from '@hyperledger/aries-askar-shared'; import { DIDDocument } from 'did-resolver'; +import { JWK } from 'jose'; import { KeyPairDto } from '../../src/key/dtos/key-pair.dto'; export const generatedKey: IKeyDescription = { @@ -42,20 +41,14 @@ export const didDocument: DIDDocument = { capabilityDelegation: [ 'did:key:z6MkkHpdGLCEmsp6cPACigf2EU7GfsXqpwY5Dwn63SXYw6Ra#z6MkkHpdGLCEmsp6cPACigf2EU7GfsXqpwY5Dwn63SXYw6Ra' ] -} as DidDocument; +} as unknown as DIDDocument; -export const keyEntryObject: KeyEntryObject = { - key: { - get jwkPublic() { - return { - kty: 'OKP', - crv: 'Ed25519', - x: 'VrsnBw1-JP3R4xuaQqDQI9pXM2YP1Per79Unm2UkCaU', - kid: '6qZag5woSLKdVtKW37hBPNZGrJFzR4HiXvsADAZY1seC' - }; - } - } as any -} as any; +export const publicKeyJwk: JWK = { + kty: 'OKP', + crv: 'Ed25519', + x: 'VrsnBw1-JP3R4xuaQqDQI9pXM2YP1Per79Unm2UkCaU', + kid: '6qZag5woSLKdVtKW37hBPNZGrJFzR4HiXvsADAZY1seC' +}; export const keyPair: KeyPairDto = { publicKey: { diff --git a/apps/vc-api/test/jest-e2e.json b/apps/vc-api/test/jest-e2e.json index e9d912f3..453333d8 100644 --- a/apps/vc-api/test/jest-e2e.json +++ b/apps/vc-api/test/jest-e2e.json @@ -5,5 +5,10 @@ "testRegex": ".e2e-spec.ts$", "transform": { "^.+\\.(t|j)s$": "ts-jest" + }, + "moduleNameMapper": { + "^@openwallet-foundation/askar-nodejs$": "/../../../jest-setup/askar-nodejs.cjs", + "^@openwallet-foundation/askar-shared$": "/../../../jest-setup/askar-shared.cjs", + "^webcrypto-core$": "/../../../node_modules/.pnpm/node_modules/webcrypto-core/build/webcrypto-core.js" } } diff --git a/apps/vc-api/test/key/key.e2e-suite.ts b/apps/vc-api/test/key/key.e2e-suite.ts index e41f7ac8..1d2af3f3 100644 --- a/apps/vc-api/test/key/key.e2e-suite.ts +++ b/apps/vc-api/test/key/key.e2e-suite.ts @@ -12,7 +12,9 @@ export const keySuite = () => { const keyId = didDoc.verificationMethod[0].publicKeyBase58; const exportedKey = await walletClient.exportKey(keyId); expect(exportedKey).toBeDefined(); - expect(TypedArrayEncoder.toBase58(TypedArrayEncoder.fromBase64(exportedKey.publicKey.x))).toEqual(keyId); + expect(TypedArrayEncoder.toBase58(TypedArrayEncoder.fromBase64Url(exportedKey.publicKey.x))).toEqual( + keyId + ); }); it('should import and export a key', async () => { diff --git a/apps/vc-api/test/key/key.service.spec.data.ts b/apps/vc-api/test/key/key.service.spec.data.ts deleted file mode 100644 index 23a84daa..00000000 --- a/apps/vc-api/test/key/key.service.spec.data.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { KeyEntryObject } from '@hyperledger/aries-askar-shared'; -import { Key } from '@credo-ts/core'; - -export const createdKey: Key = { - keyType: 'ed25519', - publicKeyBase58: '6qZag5woSLKdVtKW37hBPNZGrJFzR4HiXvsADAZY1seC' -} as any; - -export const keyEntryObject: KeyEntryObject = { - key: { - get jwkPublic() { - return { - kty: 'OKP', - crv: 'Ed25519', - x: 'VrsnBw1-JP3R4xuaQqDQI9pXM2YP1Per79Unm2UkCaU', - kid: '6qZag5woSLKdVtKW37hBPNZGrJFzR4HiXvsADAZY1seC' - }; - } - } as any -} as any; diff --git a/eslint.config.mjs b/eslint.config.mjs index 21d0f40d..574687fa 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -16,6 +16,7 @@ export default tseslint.config( '**/.prettierrc.js', '**/jest.config.js', 'patches/**', + 'jest-setup/**', 'site/**' ] }, diff --git a/jest-setup/askar-nodejs.cjs b/jest-setup/askar-nodejs.cjs new file mode 100644 index 00000000..4e607308 --- /dev/null +++ b/jest-setup/askar-nodejs.cjs @@ -0,0 +1,8 @@ +// moduleNameMapper target for '@openwallet-foundation/askar-nodejs' under +// jest - returns the singleton loaded by preload.cjs +if (!globalThis.__askarNodeJs) { + throw new Error( + 'askar preload missing: run jest with NODE_OPTIONS including --require /jest-setup/preload.cjs' + ); +} +module.exports = globalThis.__askarNodeJs; diff --git a/jest-setup/askar-shared.cjs b/jest-setup/askar-shared.cjs new file mode 100644 index 00000000..da7b5f7a --- /dev/null +++ b/jest-setup/askar-shared.cjs @@ -0,0 +1,8 @@ +// moduleNameMapper target for '@openwallet-foundation/askar-shared' under +// jest - returns the singleton loaded by preload.cjs +if (!globalThis.__askarShared) { + throw new Error( + 'askar preload missing: run jest with NODE_OPTIONS including --require /jest-setup/preload.cjs' + ); +} +module.exports = globalThis.__askarShared; diff --git a/jest-setup/preload.cjs b/jest-setup/preload.cjs new file mode 100644 index 00000000..e857a31c --- /dev/null +++ b/jest-setup/preload.cjs @@ -0,0 +1,33 @@ +// Preloaded via NODE_OPTIONS --require (see the test scripts), OUTSIDE jest's +// module sandbox. The askar packages register native (koffi) types that are +// process-global and must only ever be loaded once per worker process, while +// jest re-executes modules once per test file. The instances are stashed on +// globalThis and handed back to every jest module registry by the shims in +// this directory (wired up through moduleNameMapper). +const { createRequire } = require('node:module'); +const path = require('node:path'); + +// Resolve from the package the tests run in (process.cwd()); tests/e2e only +// has askar transitively, so fall back to resolving through the app package. +const bases = [path.join(process.cwd(), 'noop.js')]; +try { + const cwdRequire = createRequire(bases[0]); + bases.push(cwdRequire.resolve('@energyweb/ssi-vc-api/package.json')); +} catch { + // the app package is not a dependency here; cwd resolution must work +} + +function requireFromBases(id) { + let lastError; + for (const base of bases) { + try { + return createRequire(base)(id); + } catch (error) { + lastError = error; + } + } + throw lastError; +} + +globalThis.__askarShared = requireFromBases('@openwallet-foundation/askar-shared'); +globalThis.__askarNodeJs = requireFromBases('@openwallet-foundation/askar-nodejs'); diff --git a/jest.config.js b/jest.config.js index 9f098dbc..4e2c2611 100644 --- a/jest.config.js +++ b/jest.config.js @@ -6,6 +6,14 @@ module.exports = { }, transformIgnorePatterns: ['node_modules/.+\\.!mjs$'], testEnvironment: 'node', + // Pin dual (CJS+ESM) packages to their CJS build so a package is never + // loaded in both module formats at once (which jest rejects when a + // require() and a concurrent import() hit the same file). + moduleNameMapper: { + '^@openwallet-foundation/askar-nodejs$': '/jest-setup/askar-nodejs.cjs', + '^@openwallet-foundation/askar-shared$': '/jest-setup/askar-shared.cjs', + '^webcrypto-core$': '/node_modules/.pnpm/node_modules/webcrypto-core/build/webcrypto-core.js' + }, testRegex: '(/__tests__/.*|\\.(test|spec))\\.(ts|tsx)$', moduleFileExtensions: ['ts', 'tsx', 'js', 'json'], coveragePathIgnorePatterns: ['/node_modules/', '/test/'], diff --git a/libraries/did/package.json b/libraries/did/package.json index f720e0fd..30f8cd96 100644 --- a/libraries/did/package.json +++ b/libraries/did/package.json @@ -13,7 +13,7 @@ "main": "dist/index.js", "scripts": { "build": "rimraf dist && tsc", - "test": "jest" + "test": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --require ../../jest-setup/preload.cjs\" jest" }, "author": "Energy Web", "license": "Apache-2.0", @@ -26,7 +26,7 @@ "@credo-ts/askar": "catalog:", "@credo-ts/core": "catalog:", "@credo-ts/node": "catalog:", - "@hyperledger/aries-askar-nodejs": "catalog:" + "@openwallet-foundation/askar-nodejs": "catalog:" }, "devDependencies": { "@types/jest": "catalog:", @@ -36,7 +36,8 @@ "ts-jest": "catalog:", "typescript": "catalog:", "prettier": "catalog:", - "@types/node": "catalog:" + "@types/node": "catalog:", + "cross-env": "catalog:" }, "publishConfig": { "access": "public", diff --git a/libraries/did/src/did-key-factory.spec.ts b/libraries/did/src/did-key-factory.spec.ts index e02ded5b..ca5dcab2 100644 --- a/libraries/did/src/did-key-factory.spec.ts +++ b/libraries/did/src/did-key-factory.spec.ts @@ -3,39 +3,38 @@ * SPDX-License-Identifier: Apache-2.0 */ +// IMPORTANT: '@openwallet-foundation/askar-nodejs' must be imported before any +// '@credo-ts/*' package so the native askar binding is registered before the +// ESM-only Credo packages snapshot it (see CredoService in apps/vc-api) +import { askar } from '@openwallet-foundation/askar-nodejs'; import { AskarModule } from '@credo-ts/askar'; import { DIDKeyFactory } from './did-key-factory'; -import { Agent, InitConfig, TypedArrayEncoder } from '@credo-ts/core'; +import { Agent, TypedArrayEncoder } from '@credo-ts/core'; import { agentDependencies } from '@credo-ts/node'; -import { ariesAskar } from '@hyperledger/aries-askar-nodejs'; describe('DIDKeyFactory', () => { let agent: Agent<{ askar: AskarModule; }>; beforeEach(async function () { - const config: InitConfig = { - label: 'wallet-test-askar', - walletConfig: { - id: 'wallet-test', - key: 'testkey0000000000000000000000000', - storage: { - type: 'sqlite', - config: { - inMemory: true - } - } - } - }; - // create agent - here Aries Askar agent = new Agent({ - config, + config: {}, dependencies: agentDependencies, modules: { // Register the Askar module on the agent askar: new AskarModule({ - ariesAskar + askar, + store: { + id: 'wallet-test', + key: 'testkey0000000000000000000000000', + database: { + type: 'sqlite', + config: { + inMemory: true + } + } + } }) } }); @@ -45,30 +44,34 @@ describe('DIDKeyFactory', () => { }); afterEach(async function () { - await agent.wallet.close(); - await agent.wallet.delete(); await agent.shutdown(); }); it('should create did', async () => { - const publicKeyJWK = { - kty: 'OKP', - crv: 'Ed25519', - x: 'l5weWO83oqUve6Q5SJncYvRqnONyJWaRi3eKUMhUU38' - }; - const didDocument = await DIDKeyFactory.generate(agent, publicKeyJWK); - expect(didDocument.id).toEqual('did:key:z6Mkpf5gPMANfqmgCfzDye4kCnLRwC7mtqrtjZ3J87AjKddx'); + const { keyId, publicJwk } = await agent.kms.createKey({ + type: { kty: 'OKP', crv: 'Ed25519' } + }); + + const didDocument = await DIDKeyFactory.generate(agent, keyId); + + const publicKeyBase58 = TypedArrayEncoder.toBase58(TypedArrayEncoder.fromBase64Url(publicJwk.x)); + expect(didDocument.id).toMatch(/^did:key:z/); expect(didDocument.verificationMethod?.length).toEqual(1); const verificationMethod = didDocument.verificationMethod![0]; - expect(verificationMethod.publicKeyBase58).toEqual( - TypedArrayEncoder.toBase58(TypedArrayEncoder.fromBase64(publicKeyJWK.x)) - ); + expect(verificationMethod.publicKeyBase58).toEqual(publicKeyBase58); + }); + + it('should return the existing did document when called twice for the same key', async () => { + const { keyId } = await agent.kms.createKey({ + type: { kty: 'OKP', crv: 'Ed25519' } + }); + + const first = await DIDKeyFactory.generate(agent, keyId); + const second = await DIDKeyFactory.generate(agent, keyId); - /** - * From https://www.w3.org/TR/did-core/#verification-material : - * "It is RECOMMENDED that verification methods that use JWKs [RFC7517] to represent their public keys use the value of kid as their fragment identifier." - * Spruce doesn't do this for there did:key verification method but try to use as much OOTB DIDKit as possible - */ - // expect(verificationMethod.id.split('#')[1]).toEqual(verificationMethod.publicKeyJwk?.kid); + expect(second.id).toEqual(first.id); + expect(second.verificationMethod?.[0]?.publicKeyBase58).toEqual( + first.verificationMethod?.[0]?.publicKeyBase58 + ); }); }); diff --git a/libraries/did/src/did-key-factory.ts b/libraries/did/src/did-key-factory.ts index 2ceb3320..a51e05e2 100644 --- a/libraries/did/src/did-key-factory.ts +++ b/libraries/did/src/did-key-factory.ts @@ -3,37 +3,57 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { Agent, Key, KeyDidCreateOptions, KeyType, Ed25519Jwk } from '@credo-ts/core'; +import { Agent, KeyDidCreateOptions, TypedArrayEncoder } from '@credo-ts/core'; import { AskarModule } from '@credo-ts/askar'; import { DIDDocument } from 'did-resolver'; -import { DifJsonWebKey } from '.'; + +// multicodec prefix for an Ed25519 public key (0xed encoded as varint) +const ED25519_MULTICODEC_PREFIX = Uint8Array.from([0xed, 0x01]); export class DIDKeyFactory { /** - * Generate a new did:key DID from a public JWK - * Currently, only Ed25519 keys are supported - * @returns The default DID Document of the DID. E.g. https://github.com/decentralized-identity/ethr-did-resolver#did-document + * Generate a new did:key DID for an Ed25519 key known to the agent's KMS. + * + * The method is idempotent: if a DID was already created for this key, its + * DID document is returned (did:key DID documents cannot be mutated). + * + * @param agent Credo agent + * @param keyId KMS keyId of an Ed25519 key + * @returns The default DID Document of the DID */ - public static async generate( - agent: Agent<{ askar: AskarModule }>, - ed25119Key: DifJsonWebKey - ): Promise { - const ed25519Jwk = new Ed25519Jwk({ x: ed25119Key.x! }); - const credoKey: Key = new Key(ed25519Jwk.publicKey, KeyType.Ed25519); + public static async generate(agent: Agent<{ askar: AskarModule }>, keyId: string): Promise { + const publicJwk = await agent.kms.getPublicKey({ keyId }); + if (publicJwk.kty !== 'OKP' || publicJwk.crv !== 'Ed25519') { + throw new Error(`did:key generation requires an Ed25519 key, got kty=${publicJwk.kty}`); + } + + // did:key fingerprint = z + base58btc(multicodec-prefixed public key) + const publicKeyBytes = TypedArrayEncoder.fromBase64Url(publicJwk.x); + const fingerprint = `z${TypedArrayEncoder.toBase58( + TypedArrayEncoder.concat([ED25519_MULTICODEC_PREFIX, publicKeyBytes]) + )}`; + const did = `did:key:${fingerprint}`; + + // Creating the same DID twice fails on the duplicate DidRecord since + // Credo 0.6, so return the existing document instead + const [existing] = await agent.dids.getCreatedDids({ did }); + if (existing) { + return (await agent.dids.resolveDidDocument(did)).toJSON() as DIDDocument; + } const didCreateOptions: KeyDidCreateOptions = { method: 'key', options: { - key: credoKey + keyId } }; - const did = await agent.dids.create(didCreateOptions); + const result = await agent.dids.create(didCreateOptions); - if (did.didState.didDocument) { - return did.didState.didDocument; + if (result.didState.didDocument) { + return result.didState.didDocument.toJSON() as DIDDocument; } else { - throw new Error('Error generating did'); + throw new Error(`Error generating did: ${JSON.stringify(result.didState)}`); } } } diff --git a/package.json b/package.json index d7bcec1a..dee8f23a 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "Apache-2.0", "packageManager": "pnpm@11.9.0", "engines": { - "node": ">=22" + "node": ">=24.9" }, "scripts": { "prepare": "git rev-parse --git-dir > /dev/null 2>&1 && git config core.hooksPath .githooks || true", diff --git a/patches/@credo-ts__core@0.5.10.patch b/patches/@credo-ts__core@0.5.10.patch deleted file mode 100644 index 04f49888..00000000 --- a/patches/@credo-ts__core@0.5.10.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/build/modules/vc/data-integrity/W3cJsonLdCredentialService.js b/build/modules/vc/data-integrity/W3cJsonLdCredentialService.js -index c833d0108e8852127afac1c87cffca0aba1268dc..e3391b11fd9b7b7fe85b027eb68ea110e4324499 100644 ---- a/build/modules/vc/data-integrity/W3cJsonLdCredentialService.js -+++ b/build/modules/vc/data-integrity/W3cJsonLdCredentialService.js -@@ -179,7 +179,7 @@ let W3cJsonLdCredentialService = class W3cJsonLdCredentialService { - domain: options.domain, - documentLoader: this.w3cCredentialsModuleConfig.documentLoader(agentContext), - }); -- return utils_1.JsonTransformer.fromJSON(result, W3cJsonLdVerifiablePresentation_1.W3cJsonLdVerifiablePresentation); -+ return utils_1.JsonTransformer.fromJSON(result, W3cJsonLdVerifiablePresentation_1.W3cJsonLdVerifiablePresentation, { validate: !(result.verifiableCredential === undefined) }); - } - /** - * Verifies a presentation including the credentials it includes diff --git a/patches/@credo-ts__core@0.7.0.patch b/patches/@credo-ts__core@0.7.0.patch new file mode 100644 index 00000000..8c0cfb9c --- /dev/null +++ b/patches/@credo-ts__core@0.7.0.patch @@ -0,0 +1,13 @@ +diff --git a/build/modules/vc/data-integrity/W3cJsonLdCredentialService.mjs b/build/modules/vc/data-integrity/W3cJsonLdCredentialService.mjs +index 49858f101d5fc7cbb3e5f3e7ba464753d38e5cdb..94b7f43e1e273418cdb64622187859bf7379f677 100644 +--- a/build/modules/vc/data-integrity/W3cJsonLdCredentialService.mjs ++++ b/build/modules/vc/data-integrity/W3cJsonLdCredentialService.mjs +@@ -139,7 +139,7 @@ let W3cJsonLdCredentialService = class W3cJsonLdCredentialService { + }; + if (options.proofPurpose) signOptions.purpose = options.proofPurpose; + const result = await vc_default.signPresentation(signOptions); +- return JsonTransformer.fromJSON(result, W3cJsonLdVerifiablePresentation); ++ return JsonTransformer.fromJSON(result, W3cJsonLdVerifiablePresentation, { validate: !(result.verifiableCredential === undefined) }); + } + /** + * Verifies a presentation including the credentials it includes diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0438f46b..4110f428 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,17 +7,14 @@ settings: catalogs: default: '@credo-ts/askar': - specifier: 0.5.10 - version: 0.5.10 + specifier: ^0.7.0 + version: 0.7.0 '@credo-ts/core': - specifier: 0.5.10 - version: 0.5.10 + specifier: ^0.7.0 + version: 0.7.0 '@credo-ts/node': - specifier: 0.5.10 - version: 0.5.10 - '@hyperledger/aries-askar-nodejs': - specifier: ^0.2.1 - version: 0.2.3 + specifier: ^0.7.0 + version: 0.7.0 '@nestjs/common': specifier: ^11.1.0 version: 11.1.27 @@ -30,6 +27,12 @@ catalogs: '@nestjs/testing': specifier: ^11.1.0 version: 11.1.27 + '@openwallet-foundation/askar-nodejs': + specifier: ^0.6.0 + version: 0.6.0 + '@openwallet-foundation/askar-shared': + specifier: ^0.6.0 + version: 0.6.0 '@types/jest': specifier: ^30.0.0 version: 30.0.0 @@ -39,6 +42,9 @@ catalogs: '@types/supertest': specifier: ^7.0.0 version: 7.2.0 + cross-env: + specifier: ^10.0.0 + version: 10.1.0 did-resolver: specifier: ~4.1.0 version: 4.1.0 @@ -98,7 +104,7 @@ overrides: class-validator: 0.14.1 patchedDependencies: - '@credo-ts/core@0.5.10': ff7a58d2281423a25cc51c4e192f04dd47c0d907fd4e3bead89504a62196b2fb + '@credo-ts/core@0.7.0': e28244cdcb459e535cdc3b770b74564b5fec423be574786a5e81a637e8f71aa7 importers: @@ -136,25 +142,22 @@ importers: dependencies: '@credo-ts/askar': specifier: 'catalog:' - version: 0.5.10(@hyperledger/aries-askar-shared@0.2.3)(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) + version: 0.7.0(@openwallet-foundation/askar-shared@0.6.0)(encoding@0.1.13)(typescript@5.9.3) '@credo-ts/core': specifier: 'catalog:' - version: 0.5.10(patch_hash=ff7a58d2281423a25cc51c4e192f04dd47c0d907fd4e3bead89504a62196b2fb)(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) + version: 0.7.0(patch_hash=e28244cdcb459e535cdc3b770b74564b5fec423be574786a5e81a637e8f71aa7)(encoding@0.1.13)(typescript@5.9.3) '@credo-ts/node': specifier: 'catalog:' - version: 0.5.10(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) + version: 0.7.0(encoding@0.1.13)(typescript@5.9.3) + '@digitalcredentials/jsonld-signatures': + specifier: ^12.0.1 + version: 12.0.1 '@energyweb/ssi-did': specifier: workspace:* version: link:../../libraries/did '@energyweb/w3c-ccg-webkms': specifier: workspace:* version: link:../../libraries/webkms - '@hyperledger/aries-askar-nodejs': - specifier: 'catalog:' - version: 0.2.3(encoding@0.1.13) - '@hyperledger/aries-askar-shared': - specifier: ^0.2.3 - version: 0.2.3 '@nestjs/axios': specifier: ^4.0.0 version: 4.0.1(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(axios@1.18.1)(rxjs@7.8.2) @@ -179,6 +182,12 @@ importers: '@nestjs/typeorm': specifier: ^11.0.0 version: 11.0.3(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.14.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)(typeorm@0.3.30(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@24.13.2)(typescript@5.9.3))) + '@openwallet-foundation/askar-nodejs': + specifier: 'catalog:' + version: 0.6.0 + '@openwallet-foundation/askar-shared': + specifier: 'catalog:' + version: 0.6.0 '@sphereon/pex': specifier: 1.1.3 version: 1.1.3 @@ -246,6 +255,9 @@ importers: '@types/supertest': specifier: 'catalog:' version: 7.2.0 + cross-env: + specifier: 'catalog:' + version: 10.1.0 jest: specifier: 'catalog:' version: 30.4.2(@types/node@24.13.2)(ts-node@10.9.2(@types/node@24.13.2)(typescript@5.9.3)) @@ -278,16 +290,16 @@ importers: dependencies: '@credo-ts/askar': specifier: 'catalog:' - version: 0.5.10(@hyperledger/aries-askar-shared@0.2.3)(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) + version: 0.7.0(@openwallet-foundation/askar-shared@0.6.0)(encoding@0.1.13)(typescript@5.9.3) '@credo-ts/core': specifier: 'catalog:' - version: 0.5.10(patch_hash=ff7a58d2281423a25cc51c4e192f04dd47c0d907fd4e3bead89504a62196b2fb)(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) + version: 0.7.0(patch_hash=e28244cdcb459e535cdc3b770b74564b5fec423be574786a5e81a637e8f71aa7)(encoding@0.1.13)(typescript@5.9.3) '@credo-ts/node': specifier: 'catalog:' - version: 0.5.10(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - '@hyperledger/aries-askar-nodejs': + version: 0.7.0(encoding@0.1.13)(typescript@5.9.3) + '@openwallet-foundation/askar-nodejs': specifier: 'catalog:' - version: 0.2.3(encoding@0.1.13) + version: 0.6.0 '@spruceid/didkit-wasm-node': specifier: ~0.2.1 version: 0.2.1 @@ -313,6 +325,9 @@ importers: babel-jest: specifier: 29.5.0 version: 29.5.0(@babel/core@7.29.7) + cross-env: + specifier: 'catalog:' + version: 10.1.0 jest: specifier: 'catalog:' version: 30.4.2(@types/node@24.13.2)(ts-node@10.9.2(@types/node@24.13.2)(typescript@5.9.3)) @@ -374,6 +389,9 @@ importers: '@types/supertest': specifier: 'catalog:' version: 7.2.0 + cross-env: + specifier: 'catalog:' + version: 10.1.0 jest: specifier: 'catalog:' version: 30.4.2(@types/node@24.13.2)(ts-node@10.9.2(@types/node@24.13.2)(typescript@5.9.3)) @@ -407,14 +425,6 @@ importers: packages: - '@2060.io/ffi-napi@4.0.9': - resolution: {integrity: sha512-JfVREbtkJhMXSUpya3JCzDumdjeZDCKv4PemiWK+pts5CYgdoMidxeySVlFeF5pHqbBpox4I0Be7sDwAq4N0VQ==} - engines: {node: '>=18'} - - '@2060.io/ref-napi@3.0.6': - resolution: {integrity: sha512-8VAIXLdKL85E85jRYpPcZqATBL6fGnC/XjBGNeSgRSMJtrAMSmfRksqIq5AmuZkA2eeJXMWCiN6UQOUdozcymg==} - engines: {node: '>= 18.0'} - '@adraffy/ens-normalize@1.9.2': resolution: {integrity: sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg==} @@ -449,6 +459,13 @@ packages: resolution: {integrity: sha512-/PZmyAlb2NGWPikRRuiWLdfHQd8Wrx6lX4HqvTcaDhlU43M3T0ud4PH2T3QDp7BzHYY92xtD8iPxX2asg67G1A==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + '@animo-id/mdoc@0.5.2': + resolution: {integrity: sha512-EQVsNOOeXFfBaEHkiKoh24jbSEQ1MORB/kUu0rnNrAEETpY5GK/H9iWevYFdmNDIqQTIEJlkU7S+sIj3pe66eA==} + + '@animo-id/pex@6.1.1': + resolution: {integrity: sha512-my3g9Divea1sseZRzgD2tnrv0ett9fTlyoZp1x9nSjyRwtai/BBnFQigknMFscJuG6vnwYNcaj6TFQprw+v5xw==} + engines: {node: '>=18'} + '@astronautlabs/jsonpath@1.1.2': resolution: {integrity: sha512-FqL/muoreH7iltYC1EB5Tvox5E8NSOOPGkgns4G+qxRKl6k5dxEVljUjB5NcKESzkqwnUqWjSZkL61XGYOuV+A==} @@ -468,39 +485,14 @@ packages: resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} engines: {node: '>=6.9.0'} - '@babel/helper-annotate-as-pure@7.29.7': - resolution: {integrity: sha512-OoK6239jHPuSQOoS0kfTVKn0b/rVTk0seKq4Gd2UMLtmOVLjDC0ki3e+c90Trqv2gMfvJFqkiljrr568+qddiw==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.29.7': resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} engines: {node: '>=6.9.0'} - '@babel/helper-create-class-features-plugin@7.29.7': - resolution: {integrity: sha512-IY3ZD9Tmooqr3TUhc3DUWxiuo8xx1DWLhd5M7hQ+ZWJamqM2BbalrBJb2MisSLoYorOj75U03qULCxQTY9r3hg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.29.7': - resolution: {integrity: sha512-907Uymvqgg1dwUA+7IGwFAOSYzQOuzPXKNJ1yxzwPffzkYFg2q2eHi1fIOs6sXkG9NbIUMunnUlkYsfRFNvomg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.6.8': - resolution: {integrity: sha512-47UwBLPpQi1NoWzLuHNjRoHlYXMwIJoBf7MFou6viC/sIHWYygpvr0B6IAyh5sBdA2nr2LPIRww8lfaUVQINBA==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - '@babel/helper-globals@7.29.7': resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.29.7': - resolution: {integrity: sha512-j+7JYmk1JYDtACIGj0QJqqWZjoUpMoEikQGADMaHgCMCSDqd2+P32rfcibUNrGOMWrlzK1WJBdxrB3JJQZwWtg==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.29.7': resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} engines: {node: '>=6.9.0'} @@ -511,30 +503,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-optimise-call-expression@7.29.7': - resolution: {integrity: sha512-+kmGVjcT9RGYzoDwdwEqEvGgKe3BYq+O1iGzjFubaNgZHwYHP6lsF2Yghf4kEuv9BV7tYDZ913aBW9am6YKong==} - engines: {node: '>=6.9.0'} - '@babel/helper-plugin-utils@7.29.7': resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==} engines: {node: '>=6.9.0'} - '@babel/helper-remap-async-to-generator@7.29.7': - resolution: {integrity: sha512-16AMiW26DbXWBbr3B8wNozKM0ydMLB892vaOaJW/fPJdnT8vJk5sdkQcU/isqUxyCE0cEoa8wZOcbgDuC4b6Og==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.29.7': - resolution: {integrity: sha512-atfGXWSeCiF4DnKZIfmJfQRkSw9b9gNNXR1kqKjbhG4pGYCOnkp8OcTB8E3NXjBu8NpheSnOeNKz8KT7UNFTmQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': - resolution: {integrity: sha512-brcMGQaVzIeUb+6/bs1Av0f8YuNNjKY2JyvfRCsFuFsdKccEQ5Ges2y74D74NZ1Rz8lKJ9ksJkfqwQFJ/iNEyQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.29.7': resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} engines: {node: '>=6.9.0'} @@ -547,10 +519,6 @@ packages: resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.29.7': - resolution: {integrity: sha512-iES0Skag9ERIF68aXadpO6dbXa03mNWK3sEqJaMnLNs/eC3l0lkImdfoy6Y09/SfkpawdAB4RjQ7PVA7TcVGdw==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.7': resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} engines: {node: '>=6.9.0'} @@ -560,25 +528,6 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-proposal-decorators@7.29.7': - resolution: {integrity: sha512-EtU0Hi3GvrTqD56xKmZvV/uCXK2ZbwVNPNLAquVItcAZpUhkXwWlo3Fmj0c2LxgSf2I8IDULeAepwNP1OefLXg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-export-default-from@7.29.7': - resolution: {integrity: sha512-p+G5BNXDcy3bOXplhY4HybQ1GxH3i2Tppmdm/3epyRu2VgJJZuUlZ61MqRTg582Q7ZLBdP7fePYvsumSEkMxcQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-export-namespace-from@7.18.9': - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-async-generators@7.8.4': resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -600,34 +549,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-decorators@7.29.7': - resolution: {integrity: sha512-9MTTLbF39X6sqM92JPEsoI7++26hjZvzkxKZy64aMhWLH2mPkJ/Q3AV4QLmls3R14FpSpkOwQQfUh962JGQxxg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-export-default-from@7.29.7': - resolution: {integrity: sha512-foag0BB37ROhdeIX9O8G0jX7hw0UekJc04cHMrYLOnrErsnBKqJGHJ8eDRpoCFZBvEPPygmmtw4qyU97qa4oOw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-export-namespace-from@7.8.3': - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-flow@7.29.7': - resolution: {integrity: sha512-ajMX6QPcyomotqwpzhkYGxcK2i/us0rs1Qo9QvUpa+Fca0FTmqrzKrctoIYLMxcOhGZldGT/BAVkRGTWBiR8gQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.29.7': resolution: {integrity: sha512-zGYcYfq/WmZ4V+kBIXQon9dSSc8ircGZqw9ZaNhhGj9nZkeBu1jHLBDQqYYi5WA9uawvA2sIMbry2nCFhf5Djg==} engines: {node: '>=6.9.0'} @@ -698,178 +619,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-async-generator-functions@7.29.7': - resolution: {integrity: sha512-d98gXZkgswvkyohMBABkhm3GeXhYj8psWfwQ2C7gtfrKGTykQa/iOIi+JJhwMjPlZ6Vm2XN+DCf3Es1EoG4ZLA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.29.7': - resolution: {integrity: sha512-pcUb2SS+RMo9TWVBwKGI5ShtoG7R+zBsFmCKDa6fe8c+hPr3XJlZgoE5j6i8W7gDjhyvy+85vmYexanvXh3d1w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.29.7': - resolution: {integrity: sha512-ONyr4+AZhKh8yKWInVxU9AXA9EbsyeLcL6V0dJy6M2/62vuvpGm29zzuymbTpdc451GEpDIdAyPLP3r+P61yKQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-properties@7.29.7': - resolution: {integrity: sha512-GtcpjFvanPfzNQi3eTitsCqtRRmmqzpy/A+yhTR1HaZo1Ly3EA8ZXxlPyHdR8/IuRMYc3E4wdGBewB2QKQjAaA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-class-static-block@7.29.7': - resolution: {integrity: sha512-kibJgmEdX2iMwsHY2tSZNDgj8PwIlCQz7FK9KuGKO8zsuoUwSEhoNnNVp/emKWrbY4HeO6kkXfdMqRKKKXBm2A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - - '@babel/plugin-transform-classes@7.29.7': - resolution: {integrity: sha512-qV0OGGBVacduzQHE649JyCneOFI/maT+YKsO+K4Yi3xv2wTPNjM/W2o2gdzMwEAZz7fXNTHAe0NcSg30bIN69g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-destructuring@7.29.7': - resolution: {integrity: sha512-iPX8aD6H9zV5s7ZsqTdNocPN/MGQ5sSMnElKrktxjJRMnB2jN/1p2+R7GkfD6CAYoVFqy5A4XnSIUeGgJzIWpg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-export-namespace-from@7.29.7': - resolution: {integrity: sha512-24B2nOy2TeJSMheqwPD4DDQOV/elLSIlKxjZt4i05H5AgdPdWR3n18HnNrcJ+j76WJd9gbwb9jPjNYUy6RautA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-flow-strip-types@7.29.7': - resolution: {integrity: sha512-wRHeUjUjCZnMHmiO5bRgjFLcoEh7JyTdByOW11ahhwNa4V0bmeGEaIvt51yq0zQp2yWIpqfxXXPyUP6GFJZHOQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-for-of@7.29.7': - resolution: {integrity: sha512-zeSIHh0+E1Um1WJRXCFlHQYu2ieJNdivLLjlBEp+dIBu3S51n+SZZmIXjxnItw6pz56Cn+KvK68BIBVsxq2JiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-logical-assignment-operators@7.29.7': - resolution: {integrity: sha512-A0H91hh6W8MFRkp5TqJmMr39jzGD1A1E1Ysiv2O06Sfbhkapm+XyIzxWCEh5kqwOZ1/8QZ0dY3SeQ7XBqfJd5Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-commonjs@7.29.7': - resolution: {integrity: sha512-j0vCldybPC5b5dwCQOJ21uKtHzt7hxLygJTg9eF1ScfaikEDNfzn94XoW5Fi+seBR0nCyL23xaBFFkq7dTM8XQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7': - resolution: {integrity: sha512-vuFoLwr4qnv2xbZ16SQd6uPcH5FNrLHhk/Jzo++0XJFcaDsr4gjJVg6j398oMHiC+83k/GiBzviwF5KBJkPUtQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7': - resolution: {integrity: sha512-idmp1dFaekP9GbcMvG24Kvw2BfhFZjHnNJCkV4WuIY4PskJzwI3f1N5OdgYke38T7rftO6ERulFRn2cFeZwRkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-rest-spread@7.29.7': - resolution: {integrity: sha512-Ld98jn4c0smUywL57m7SgsHq3OpThOa6LqZJif3G6jYOovPleoFhVrBJ1WegRApSFB2wu4+RelAj9AC9G08Z4A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-catch-binding@7.29.7': - resolution: {integrity: sha512-sLsyndxK2VwX6yNUOakMb7Sh553ZTe/vVM1XJ+9Z5aW1ytsc8xOIwmyk05NNjN60vkc5/KqoTH6hB4V41LJhng==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-optional-chaining@7.29.7': - resolution: {integrity: sha512-6GM1dhvK3gNODkXcEcMCOLEDCLSoZ/sBbro2Ax8HURyasQ4NshagQixkRFdh5niI6E4gmA/jYI/4aT7rRos3ZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.29.7': - resolution: {integrity: sha512-ZDOBqV/qLYJI0YElr8DcENEyARsFQeESqWXH6gZlghYXuPPjvweuDhP4VyEi4BlUBlLRFZVjxoZDMjxhLW766g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-methods@7.29.7': - resolution: {integrity: sha512-/6Rz4DK1ETDEM/bWHsPHcaEe7ZaT1EqSXjtSP/L0DijOYuaUhiRiOKcwpZ8P7zR4xXEHc2ITdiCgBm9Tpyv9ug==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-private-property-in-object@7.29.7': - resolution: {integrity: sha512-+BNo06dnrzdNNqCm1X6YUaVv0DKk8Q+JYcoZfOkLhYWNCXzlwTSRq8zGWayT1csjcpNXV9CQTBRRbmTLZac5cA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-display-name@7.29.7': - resolution: {integrity: sha512-+1wdDMGNb4UPeY3Q4L5yLiYe6TXPXubs4NjrgRFw13hPRLJfEMw2Q5OXkee6/IfdqePIeW4Jjwe3aBh7SdKz4Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-development@7.29.7': - resolution: {integrity: sha512-Xfy3UVMF04+ypnFbkhvfqtmvwfe92qwQdbGZVonhE+6v35GzlofmOnA1szaZqzb9xYWr0nl1e5EMmzi0DNON1g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx@7.29.7': - resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-pure-annotations@7.29.7': - resolution: {integrity: sha512-H5E+HBgDpr6Q5t+Aj11tL7XkIui1jhbIoArVQnqjgXo5/3YxkN7ZEBcWF4RQlB0T4rrxJQbXS6kiFV6B7XTqUA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-runtime@7.29.7': - resolution: {integrity: sha512-xmAscdE/AsqRW7vutbPNoUmu/nF5SrLKPs7aoJgEjo35lLKA/Bc0i2rMv/hr1+Y0o1bQCiVtith3u2vdgRL39Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typescript@7.29.7': - resolution: {integrity: sha512-jK52h8LaLc7JarhQV2ofeFMts4H7vnOXnqZNA6fYglBTZewRBE51KWt3BUltW1P+KoPsYkHoJeXePuz4zo2LMw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.29.7': - resolution: {integrity: sha512-7D/x/23/d/3VqZ0QA+LGbZMlGwZjztBygSWWWsfTPoQ1oQ6Q1P6Mr3d0kk42XabyUVw+fha3LqdRsFqeKqvCyA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-typescript@7.29.7': - resolution: {integrity: sha512-/Foi8vKY2EVbed/1eZx0gJEEwHAIxogrySI7rULcRIvhZzbvoE/b5qG5Ghc0WKAFKOHA9SD1x7RsFlOYdutIiQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/runtime@7.29.7': - resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} - engines: {node: '>=6.9.0'} - '@babel/template@7.29.7': resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} engines: {node: '>=6.9.0'} @@ -888,109 +637,84 @@ packages: '@borewit/text-codec@0.2.2': resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} + '@cbor-extract/cbor-extract-darwin-arm64@2.2.2': + resolution: {integrity: sha512-ZKZ/F8US7JR92J4DMct6cLW/Y66o2K576+zjlEN/MevH70bFIsB10wkZEQPLzl2oNh2SMGy55xpJ9JoBRl5DOA==} + cpu: [arm64] + os: [darwin] + + '@cbor-extract/cbor-extract-darwin-x64@2.2.2': + resolution: {integrity: sha512-32b1mgc+P61Js+KW9VZv/c+xRw5EfmOcPx990JbCBSkYJFY0l25VinvyyWfl+3KjibQmAcYwmyzKF9J4DyKP/Q==} + cpu: [x64] + os: [darwin] + + '@cbor-extract/cbor-extract-linux-arm64@2.2.2': + resolution: {integrity: sha512-wfqgzqCAy/Vn8i6WVIh7qZd0DdBFaWBjPdB6ma+Wihcjv0gHqD/mw3ouVv7kbbUNrab6dKEx/w3xQZEdeXIlzg==} + cpu: [arm64] + os: [linux] + + '@cbor-extract/cbor-extract-linux-arm@2.2.2': + resolution: {integrity: sha512-tNg0za41TpQfkhWjptD+0gSD2fggMiDCSacuIeELyb2xZhr7PrhPe5h66Jc67B/5dmpIhI2QOUtv4SBsricyYQ==} + cpu: [arm] + os: [linux] + + '@cbor-extract/cbor-extract-linux-x64@2.2.2': + resolution: {integrity: sha512-rpiLnVEsqtPJ+mXTdx1rfz4RtUGYIUg2rUAZgd1KjiC1SehYUSkJN7Yh+aVfSjvCGtVP0/bfkQkXpPXKbmSUaA==} + cpu: [x64] + os: [linux] + + '@cbor-extract/cbor-extract-win32-x64@2.2.2': + resolution: {integrity: sha512-dI+9P7cfWxkTQ+oE+7Aa6onEn92PHgfWXZivjNheCRmTBDBf2fx6RyTi0cmgpYLnD1KLZK9ZYrMxaPZ4oiXhGA==} + cpu: [x64] + os: [win32] + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@credo-ts/askar@0.5.10': - resolution: {integrity: sha512-uBo+SQFK3GQaY4cQddOi7VaAqOrDVTzPpRN33Q/zVCbMX6TAhI4aXKOcbl4axhD9VXUkiHsh1MzOFkODiG1Bvw==} + '@credo-ts/askar@0.7.0': + resolution: {integrity: sha512-ArjxNBG+mb2sRy2JgdlBj1+gd2BUwx2nlO5NrUW5I+IWjBqzQLdFTxy8en9GlvsCb6PNPjm9NYOh/ZST1RAKUg==} peerDependencies: - '@animo-id/expo-secure-environment': ^0.0.1-alpha.0 - '@hyperledger/aries-askar-shared': ^0.2.3 - peerDependenciesMeta: - '@animo-id/expo-secure-environment': - optional: true + '@openwallet-foundation/askar-shared': ^0.4.3 || ^0.5.0 || ^0.6.0 - '@credo-ts/core@0.5.10': - resolution: {integrity: sha512-Y9AysZqiLURxJpu4SO8/rZ6wZ3mSZjvn0WorFLUREMcySCX/z+flYIOSkdE5YALvBy6luzqcEFB01qkpgfH6hw==} + '@credo-ts/core@0.7.0': + resolution: {integrity: sha512-J30MqquFaV2NzB1nxl5Nk43nueAsvSt4l+SHQI5fLQ+OwuY42iDmuJZvDmBXO7anoYBCp4ABsF78a1I7AEuL5Q==} - '@credo-ts/node@0.5.10': - resolution: {integrity: sha512-x82G3vXVZ2tOVWVAw1Gc/jzNgeH2LrtLJ8qn251IpcELQraVaZHfUqFE3avlW0RSs8I/VhtNaJlOMj1x6zfsHg==} + '@credo-ts/didcomm@0.7.0': + resolution: {integrity: sha512-K2x3FWRgwJwwjHV/iBRkx2R9qRZ5KjsA14AUk30T2uIgYflZWNBZz2Ar11L0QjWaZt30nuojLfWHs1c7MHuORA==} + + '@credo-ts/node@0.7.0': + resolution: {integrity: sha512-1+LrOY2IvkqlE9OCZnPLM3B7SOwO9Ez1S7qEYF20te7qq11UOK89sIATudtxEydD81rDaf90lfk5AOKX5e10rg==} + engines: {node: '>=20.19'} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@digitalbazaar/bitstring@3.1.0': - resolution: {integrity: sha512-Cii+Sl++qaexOvv3vchhgZFfSmtHPNIPzGegaq4ffPnflVXFu+V2qrJ17aL2+gfLxrlC/zazZFuAltyKTPq7eg==} - engines: {node: '>=16'} - - '@digitalbazaar/http-client@3.4.1': - resolution: {integrity: sha512-Ahk1N+s7urkgj7WvvUND5f8GiWEPfUw0D41hdElaqLgu8wZScI8gdI0q+qWw5N1d35x7GCRH2uk9mi+Uzo9M3g==} - engines: {node: '>=14.0'} - - '@digitalbazaar/http-client@4.3.0': - resolution: {integrity: sha512-6lMpxpt9BOmqHKGs9Xm6DP4LlZTBFer/ZjHvP3FcW3IaUWYIWC7dw5RFZnvw4fP57kAVcm1dp3IF+Y50qhBvAw==} - engines: {node: '>=18.0'} - '@digitalbazaar/security-context@1.0.1': resolution: {integrity: sha512-0WZa6tPiTZZF8leBtQgYAfXQePFQp2z5ivpCEN/iZguYYZ0TB9qRmWtan5XH6mNFuusHtMcyIzAcReyE6rZPhA==} - '@digitalbazaar/vc-status-list-context@3.1.1': - resolution: {integrity: sha512-cMVtd+EV+4KN2kUG4/vsV74JVsGE6dcpod6zRoFB/AJA2W/sZbJqR44KL3G6P262+GcAECNhtnSsKsTnQ6y8+w==} - - '@digitalbazaar/vc-status-list@7.1.0': - resolution: {integrity: sha512-p5uxKJlX13N8TcTuv9qFDeej+6bndU+Rh1Cez2MT+bXQE6Jpn5t336FBSHmcECB4yUfZQpkmV/LOcYU4lW8Ojw==} - engines: {node: '>=16'} - - '@digitalbazaar/vc@5.0.0': - resolution: {integrity: sha512-XmLM7Ag5W+XidGnFuxFIyUFSMnHnWEMJlHei602GG94+WzFJ6Ik8txzPQL8T18egSoiTsd1VekymbIlSimhuaQ==} - engines: {node: '>=14'} - - '@digitalcredentials/base58-universal@1.0.1': - resolution: {integrity: sha512-1xKdJnfITMvrF/sCgwBx2C4p7qcNAARyIvrAOZGqIHmBaT/hAenpC8bf44qVY+UIMuCYP23kqpIfJQebQDThDQ==} - engines: {node: '>=12'} - - '@digitalcredentials/base64url-universal@2.0.6': - resolution: {integrity: sha512-QJyK6xS8BYNnkKLhEAgQc6Tb9DMe+GkHnBAWJKITCxVRXJAFLhJnr+FsJnCThS3x2Y0UiiDAXoWjwMqtUrp4Kg==} - engines: {node: '>=14'} - - '@digitalcredentials/bitstring@2.0.1': - resolution: {integrity: sha512-9priXvsEJGI4LYHPwLqf5jv9HtQGlG0MgeuY8Q4NHN+xWz5rYMylh1TYTVThKa3XI6xF2pR2oEfKZD21eWXveQ==} - engines: {node: '>=14'} - - '@digitalcredentials/ed25519-signature-2020@3.0.2': - resolution: {integrity: sha512-R8IrR21Dh+75CYriQov3nVHKaOVusbxfk9gyi6eCAwLHKn6fllUt+2LQfuUrL7Ts/sGIJqQcev7YvkX9GvyYRA==} - engines: {node: '>=14'} - - '@digitalcredentials/ed25519-verification-key-2020@3.2.2': - resolution: {integrity: sha512-ZfxNFZlA379MZpf+gV2tUYyiZ15eGVgjtCQLWlyu3frWxsumUgv++o0OJlMnrDsWGwzFMRrsXcosd5+752rLOA==} - engines: {node: '>=14'} + '@digitalcredentials/credentials-v2-context@0.0.1-beta.0': + resolution: {integrity: sha512-i0AQXFnMeOqf2uKNBUcnN78mO8L9H91QKMdpDqsgDYzTIKGLnNCOOxbRbrJOimhR+soYO64xn54U8/R7Qx0nyA==} + engines: {node: '>=18'} - '@digitalcredentials/http-client@1.2.2': - resolution: {integrity: sha512-YOwaE+vUDSwiDhZT0BbXSWVg+bvp1HA1eg/gEc8OCwCOj9Bn9FRQdu8P9Y/fnYqyFCioDwwTRzGxgJLl50baEg==} - engines: {node: '>=12.0.0'} + '@digitalcredentials/http-client@5.0.4': + resolution: {integrity: sha512-TbbfFauhd5fUAcZ/6TDenTuYqkzqdEhxYk1Rqicxcz33B9rzvJcmT+/81KF9DrUXmu6gpoqCranT2UkZftsxZA==} + engines: {node: '>=18.0'} - '@digitalcredentials/jsonld-signatures@9.4.0': - resolution: {integrity: sha512-DnR+HDTm7qpcDd0wcD1w6GdlAwfHjQSgu+ahion8REkCkkMRywF+CLunU7t8AZpFB2Gr/+N8naUtiEBNje1Oew==} + '@digitalcredentials/jsonld-signatures@12.0.1': + resolution: {integrity: sha512-KdyE7Bex+boqKRbvxofRyuI09BD6/8hQGSC5qbrXEmHd0oSLqePqKBM2pu9UZnzjxMZrN9sB3RqHxpijYEFh/w==} engines: {node: '>=18'} - '@digitalcredentials/jsonld@5.2.2': - resolution: {integrity: sha512-hz7YR3kv6+8UUdgMyTGl1o8NjVKKwnMry/Rh/rWeAvwL+NqgoUHorWzI3rM+PW+MPFyDC0ieXStClt9n9D9SGA==} - engines: {node: '>=12'} - - '@digitalcredentials/jsonld@6.0.0': - resolution: {integrity: sha512-5tTakj0/GsqAJi8beQFVMQ97wUJZnuxViW9xRuAATL6eOBIefGBwHkVryAgEq2I4J/xKgb/nEyw1ZXX0G8wQJQ==} - engines: {node: '>=12'} + '@digitalcredentials/jsonld@9.0.0': + resolution: {integrity: sha512-lWVpg65xQbi4lvXWs3BezCwPrGDAllFjHwTBUWJCoKsfGzxtxTwbRNXpfhii5psQ2vvpjPXSI+y0uyRNOzr4cw==} + engines: {node: '>=14'} '@digitalcredentials/open-badges-context@2.1.0': resolution: {integrity: sha512-VK7X5u6OoBFxkyIFplNqUPVbo+8vFSAEoam8tSozpj05KPfcGw41Tp5p9fqMnY38oPfwtZR2yDNSctj/slrE0A==} - '@digitalcredentials/rdf-canonize@1.0.0': - resolution: {integrity: sha512-z8St0Ex2doecsExCFK1uI4gJC+a5EqYYu1xpRH1pKmqSS9l/nxfuVxexNFyaeEum4dUdg1EetIC2rTwLIFhPRA==} - engines: {node: '>=12'} - - '@digitalcredentials/vc-status-list@5.0.2': - resolution: {integrity: sha512-PI0N7SM0tXpaNLelbCNsMAi34AjOeuhUzMSYTkHdeqRPX7oT2F3ukyOssgr4koEqDxw9shHtxHu3fSJzrzcPMQ==} - engines: {node: '>=14'} - - '@digitalcredentials/vc@4.2.0': - resolution: {integrity: sha512-8Rxpn77JghJN7noBQdcMuzm/tB8vhDwPoFepr3oGd5w+CyJxOk2RnBlgIGlAAGA+mALFWECPv1rANfXno+hdjA==} - engines: {node: '>=12'} - - '@digitalcredentials/vc@6.0.1': - resolution: {integrity: sha512-TZgLoi00Jc9uv3b6jStH+G8+bCqpHIqFw9DYODz+fVjNh197ksvcYqSndUDHa2oi0HCcK+soI8j4ba3Sa4Pl4w==} - engines: {node: '>=12'} + '@digitalcredentials/vc@10.0.2': + resolution: {integrity: sha512-Mmts8WtAQmgdrSurQv+SFZNozNgvPzsruWQNIBlmfrlJ7QSyCoO7jybSnq43EuLm3UcqyqSb2mLHwAza310mhw==} + engines: {node: '>=18'} '@emnapi/core@1.10.0': resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} @@ -1001,6 +725,9 @@ packages: '@emnapi/wasi-threads@1.2.1': resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@epic-web/invariant@1.0.0': + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1109,178 +836,18 @@ packages: '@ethersproject/web@5.8.0': resolution: {integrity: sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw==} - '@expo/cli@57.0.3': - resolution: {integrity: sha512-py29skFzf5650QPClzGPsozIiok21Z4c1Dp+oCVlV1WcQJ52xKF8KdxhC+NdUOqW2GG0xPbPGvw1kocAGsSgGQ==} - hasBin: true - peerDependencies: - expo: '*' - expo-router: '*' - react-native: '*' - peerDependenciesMeta: - expo-router: - optional: true - react-native: - optional: true - - '@expo/code-signing-certificates@0.0.6': - resolution: {integrity: sha512-iNe0puxwBNEcuua9gmTGzq+SuMDa0iATai1FlFTMHJ/vUmKvN/V//drXoLJkVb5i5H3iE/n/qIJxyoBnXouD0w==} - - '@expo/config-plugins@57.0.1': - resolution: {integrity: sha512-X8qOqWAhTWBEyxiSWV7jdXvV3R2rCBd2/GKK+crh31H/KzOGwV0ddHTQwgP3WjvdFzU4f8jQIoym7mHnz5eP1w==} + '@gar/promisify@1.1.3': + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - '@expo/config-types@57.0.1': - resolution: {integrity: sha512-fo7d/Ym28uwGzdTV2leEvpsb9t+7i8YHjy471m31+cmDt4BRd/l7e94JHyrXAq4SWOBVus16S0JLqm89SRCCdw==} + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - '@expo/config@57.0.1': - resolution: {integrity: sha512-qj/OJ508aiRxoc8Ca9Ku8snDkiu5XjAx35vGP282CoQiUViM6RI3zAJUkOx7xpEzlj2z7mlbMBxLBy1Nf4v1Ug==} + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@expo/devcert@1.2.1': - resolution: {integrity: sha512-qC4eaxmKMTmJC2ahwyui6ud8f3W60Ss7pMkpBq40Hu3zyiAaugPXnZ24145U7K36qO9UHdZUVxsCvIpz2RYYCA==} - - '@expo/devtools@57.0.0': - resolution: {integrity: sha512-i8ITQmf/wB0JNQ2gASFOKvqo1zRWCl/VfPlFRXdz6UkHen4s31NmMy0zmumS+pMpwn0+gA6oU4FF4zRDRG488Q==} - peerDependencies: - react: '*' - react-native: '*' - peerDependenciesMeta: - react: - optional: true - react-native: - optional: true - - '@expo/dom-webview@57.0.0': - resolution: {integrity: sha512-zBZw52KnaHf9zGVp1eJk8kNfc+5ArGf+KvTL3SeMsr03K6tPJtLbgycVLjrAiLMfhzqGVjPD2G+rbNwpbLUxcg==} - peerDependencies: - expo: '*' - react: '*' - react-native: '*' - - '@expo/env@2.4.0': - resolution: {integrity: sha512-tSlakVnFqdWlXnw5KCFSC1rQU8W5l0Ko8Pb96wi5XU4lCqc0UeLuZCQFpCeAhZGmd91Lo89mCNmr5tnXzZwtFA==} - engines: {node: '>=20.12.0'} - - '@expo/expo-modules-macros-plugin@0.3.0': - resolution: {integrity: sha512-2tRq8kiIZTVZcI5uggh86HefQ7s++Zk5WkFFomNp4aUqyN5ownHHvj1jPEP9jWXaXjPDmWuf5SUZTGD5G6AKkg==} - - '@expo/fingerprint@0.20.1': - resolution: {integrity: sha512-cSI7UsxcaaQAxykEZkiwX9c+sw976JBQpBN16fFgpFJVA92CfSpEIO0EcjVEXBrIZWfETxMJ6iyNk0gSu8cEzg==} - hasBin: true - - '@expo/image-utils@0.11.0': - resolution: {integrity: sha512-tXFTMAl79rOiK3q8cCw00CioMxv1XfM31B6B+9IK/yeWKJrwny8sSIJ0IzZWqHy6F23rW5AQVIyT5PJZ5p/hmA==} - - '@expo/inline-modules@0.1.1': - resolution: {integrity: sha512-Jbp1d6LSOS2RZCrNeK6JehcRGcYGb+1xNsHUfjggMWMlz/J2SP3HHKg8cbTkVj7KKPn33AkyFBaSqlMsvrp7ow==} - - '@expo/json-file@11.0.0': - resolution: {integrity: sha512-pHJCETqFL5x5BzNV6cEPwjwuECgGmnl0bNmfHIJ6LM1tlh2eVXi5HEdit3zby/JO/B8Otk5cgcqtJXgvvUat3A==} - - '@expo/local-build-cache-provider@57.0.1': - resolution: {integrity: sha512-GU6VD75wXlOIK9myzHPhquLNDwWsr8IvnupmdifHIKcT9OdHWXaxIejFjf7iOX8ukaAPRnUnKwGNUQF0zKhjkQ==} - - '@expo/log-box@57.0.0': - resolution: {integrity: sha512-tt9x76IEE8hp2FWTLPfEArrTyD7GCoUe3TpohESy+SPZ/OqkUnSXz40xnUuE0XbE132z8c5CRCfXQLM9DTEknQ==} - peerDependencies: - '@expo/dom-webview': ^57.0.0 - expo: '*' - react: '*' - react-native: '*' - - '@expo/metro-config@57.0.2': - resolution: {integrity: sha512-jVCMnOJWpgt5Ssm7zN1Mk7rH+K8bKVGX01xfyOTN3eF1TFRhUCJpt8QuQpnFYdV1WhCPcIpdt2HtC72527VZnw==} - peerDependencies: - expo: '*' - peerDependenciesMeta: - expo: - optional: true - - '@expo/metro-file-map@57.0.0': - resolution: {integrity: sha512-/sxwKQmwpYFYjFT6VYFpgldTwSv53OCx4/UCpLCv9iqQLVQ30hFEJsxGA9Jif8n9pacigK4P5/0ZJ2zMHm6arA==} - - '@expo/metro@56.0.0': - resolution: {integrity: sha512-5gIgQHtEpjjvsjKfVtIv23a98LLRV0/y07PDShEwYSytAMlE3FSF8RHXqtHc1sUJL6dn7hnuIBpIbrLXXuVi0A==} - - '@expo/osascript@2.7.0': - resolution: {integrity: sha512-wKIXL8UtbuX4KwavPasIW3CUcgTbYfjzLcgUhjyKUAYDEqMaf6gmU1bqz3ffBPTokmX+G8/vFG1ZuI9etQWukA==} - engines: {node: '>=12'} - - '@expo/package-manager@1.13.0': - resolution: {integrity: sha512-s3W3eZafJDEyVL7W/jxj2Nz3eONKxSCU604S5xj8ijrVaRz83x0DnZznLf/UXQEI1w+FyibH68nHeQyk767b1A==} - - '@expo/plist@0.8.0': - resolution: {integrity: sha512-24JlUJI4PwHN4PLydlzFEzCdiqybfaV5t04QBkOg8em3AjvHKbMgBGlKreiuOoc0rNa3DZ21ZqL+xLGMBLQNKQ==} - - '@expo/prebuild-config@57.0.3': - resolution: {integrity: sha512-jMMLZW+2OG/1FY3qCHzI1uMOnt2tIjIW3A6+FXz4rHtyZmD6SJvtuGEP/AZiegqAvOPX+PBWgFXuCzXvyIj6kg==} - - '@expo/require-utils@57.0.0': - resolution: {integrity: sha512-6PPvmqdAz7ikxJUwg+g/JV1KKQJS1xkkh/r+z4tucvBelrM0vMnENV2QVVn4qDWS0FfSIcwuSYvvx+4od/Sa9w==} - peerDependencies: - typescript: ^5.0.0 || ^5.0.0-0 || ^6.0.0 - peerDependenciesMeta: - typescript: - optional: true - - '@expo/router-server@57.0.1': - resolution: {integrity: sha512-jZ+jHG34rRa8HyurTQq5r558dMcb77F3Mt0HMKotAJ8Wm5bJLULJsL3KVLkEVcYP254xI9zzeJVcN79Fck/nLQ==} - peerDependencies: - '@expo/metro-runtime': ^57.0.2 - expo: '*' - expo-constants: ^57.0.2 - expo-font: ^57.0.0 - expo-router: '*' - expo-server: ^57.0.0 - react: '*' - react-dom: '*' - react-server-dom-webpack: ~19.0.1 || ~19.1.2 || ~19.2.1 - peerDependenciesMeta: - '@expo/metro-runtime': - optional: true - expo-router: - optional: true - react-dom: - optional: true - react-server-dom-webpack: - optional: true - - '@expo/schema-utils@57.0.0': - resolution: {integrity: sha512-mGzjHsozMHQcQiCa5i82rDZuPqKaOwZ5skDc+AkdYiFlWLyUTG7qVmSiIfPye/ByNuWoPkfPnYr8T3aXyDB0EA==} - - '@expo/sdk-runtime-versions@1.0.0': - resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==} - - '@expo/spawn-async@1.8.0': - resolution: {integrity: sha512-eb9xxd/LbuEGSdua4NumCu/McVB9EM+F/JxB9pWgnERw4HQ9XyTNH1KapG6oqLWR8TuRK2LQfzJlmNi94CVobw==} - engines: {node: '>=12'} - - '@expo/sudo-prompt@9.3.2': - resolution: {integrity: sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==} - - '@expo/ws-tunnel@2.0.0': - resolution: {integrity: sha512-j+JfTRdCk820J9dU0sA2SqshQIKFOMo7ED84w9MJFcebfbNQgsLztEY/SABDkGnjatrW4xGqnUhVRxSBVyCkXw==} - peerDependencies: - ws: ^8.0.0 - - '@expo/xcpretty@4.4.4': - resolution: {integrity: sha512-4aQzz9vgxcNXFfo/iyNgDDYfsU5XGKKxWxZopw0cVotHiW+U8IJbIxMaxsINs6bHhtkG3StKNPcOrn3eBuxKPw==} - hasBin: true - - '@fastify/busboy@2.1.1': - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} - - '@gar/promisify@1.1.3': - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - - '@hapi/hoek@9.3.0': - resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} - - '@hapi/topo@5.1.0': - resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - - '@humanfs/core@0.19.2': - resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} - engines: {node: '>=18.18.0'} + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} '@humanfs/node@0.16.8': resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} @@ -1298,13 +865,6 @@ packages: resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@hyperledger/aries-askar-nodejs@0.2.3': - resolution: {integrity: sha512-2BnGqK08Y96DEB8tDuXy2x+soetChyMGB0+L1yqdHx1Xv5FvRerYrTXdTjJXTW6ANb48k2Np8WlJ4YNePSo6ww==} - engines: {node: '>= 18'} - - '@hyperledger/aries-askar-shared@0.2.3': - resolution: {integrity: sha512-g9lao8qa80kPCLqqp02ovNqEfQIrm6cAf4xZVzD5P224VmOhf4zM6AKplQTvQx7USNKoXroe93JrOOSVxPeqrA==} - '@inquirer/ansi@1.0.2': resolution: {integrity: sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==} engines: {node: '>=18'} @@ -1452,9 +1012,9 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@isaacs/ttlcache@1.4.1': - resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} - engines: {node: '>=12'} + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} + engines: {node: '>=18.0.0'} '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} @@ -1580,14 +1140,18 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@js-joda/core@5.6.3': + resolution: {integrity: sha512-T1rRxzdqkEXcou0ZprN1q9yDRlvzCPLqmlNt5IIsGBzoEVgLCCYrKEwc84+TvsXuAc95VAZwtWD2zVsKPY4bcA==} + + '@js-joda/timezone@2.3.0': + resolution: {integrity: sha512-DHXdNs0SydSqC5f0oRJPpTcNfnpRojgBqMCFupQFv6WgeZAjU3DBx+A7JtaGPP3dHrP2Odi2N8Vf+uAm/8ynCQ==} + peerDependencies: + '@js-joda/core': '>=1.11.0' + '@lukeed/csprng@1.1.0': resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==} engines: {node: '>=8'} - '@mapbox/node-pre-gyp@1.0.11': - resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} - hasBin: true - '@microsoft/tsdoc@0.16.0': resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} @@ -1744,28 +1308,28 @@ packages: rxjs: ^7.2.0 typeorm: ^0.3.0 || ^1.0.0-dev + '@noble/curves@2.2.0': + resolution: {integrity: sha512-T/BoHgFXirb0ENSPBquzX0rcjXeM6Lo892a2jlYJkqk83LqZx0l1Of7DzlKJ6jkpvMrkHSnAcgb5JegL8SeIkQ==} + engines: {node: '>= 20.19.0'} + '@noble/hashes@1.1.2': resolution: {integrity: sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==} + '@noble/hashes@1.6.1': + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} + engines: {node: ^14.21.3 || >=16} + '@noble/hashes@1.8.0': resolution: {integrity: sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==} engines: {node: ^14.21.3 || >=16} + '@noble/hashes@2.2.0': + resolution: {integrity: sha512-IYqDGiTXab6FniAgnSdZwgWbomxpy9FtYvLKs7wCUs2a8RkITG+DFGO1DM9cr+E3/RgADRpFjrKVaJ1z6sjtEg==} + engines: {node: '>= 20.19.0'} + '@noble/secp256k1@1.7.1': resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - '@npmcli/fs@1.1.1': resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} @@ -1783,6 +1347,16 @@ packages: '@open-draft/until@2.1.0': resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} + '@openwallet-foundation/askar-nodejs@0.6.0': + resolution: {integrity: sha512-PNIftXrE64oxjPaq4c8QEZCuhf21jpeMqjwPwDPZsfUnx1DlVIWYQQIJI2ZPAaXl2EUs6ldNqrwHMjVUC4xW+Q==} + engines: {node: '>= 18'} + + '@openwallet-foundation/askar-shared@0.6.0': + resolution: {integrity: sha512-O9aaQCZ2BkQ5Z8jqshhqhxbS/rT2nTfN90iW32WKQEh9YUwWERFQcnqKR+XszGhV95jqwZagcwhDb72hFH3VaQ==} + + '@owf/mdoc@0.6.0': + resolution: {integrity: sha512-vJL62hzjcSweBjDD9eRUH1RIMSzZUtHKjVFMMo50oHPLO9ZVZbQABFe9IFoa5AgXkwfv27HjnFv/eRbkOrlsUA==} + '@paralleldrive/cuid2@2.3.1': resolution: {integrity: sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==} @@ -1807,9 +1381,6 @@ packages: '@peculiar/asn1-rsa@2.8.0': resolution: {integrity: sha512-zHEUlCqB2mk7x2lxDwHHJy7hWZOPdGHVlsmITWKB5/PbQo61atbu9PJ/0r9dQNMwFzbKPXZ8uK8/91eUhRznSg==} - '@peculiar/asn1-schema@2.3.13': - resolution: {integrity: sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g==} - '@peculiar/asn1-schema@2.8.0': resolution: {integrity: sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q==} @@ -1826,10 +1397,6 @@ packages: '@peculiar/utils@2.0.3': resolution: {integrity: sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==} - '@peculiar/webcrypto@1.7.1': - resolution: {integrity: sha512-ODOov0sGMJMf3jPonOkgGqPknTsu+DdQ7kD++gz8aI+aFMOMHFbWAA2taqXXVTdP+OTOQR/znGvSpmkeI0WTYQ==} - engines: {node: '>=14.18.0'} - '@peculiar/x509@1.14.3': resolution: {integrity: sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==} engines: {node: '>=20.0.0'} @@ -1846,76 +1413,19 @@ packages: resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} engines: {node: ^14.18.0 || >=16.0.0} - '@react-native/assets-registry@0.86.0': - resolution: {integrity: sha512-nIaXbm2jX1OTYp0qbviJ3O6KZivoE8z3BnhUQ2LsqfZSWRoOK/n1qsiAr6oALiNKWnXY3j2KPwtYORnZzp8xew==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - '@react-native/babel-plugin-codegen@0.86.0': - resolution: {integrity: sha512-qdsABWNW7uTll90l4Vh03gjeyu3WVDi2CyiiyvYGMRDcoYbjbQi6df3BMAm9lQI2yslZ1T14LlDDAsgTwNxplA==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - '@react-native/codegen@0.86.0': - resolution: {integrity: sha512-uTs9DBo3+/lUqinsGZK0FKJRBVClrwMXoZToaDxE1Q2SL2e55vs2GwyZfIKzPl5uJnbu4PfFMIp0/mLXLWUMuA==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - peerDependencies: - '@babel/core': '*' - - '@react-native/community-cli-plugin@0.86.0': - resolution: {integrity: sha512-Jv8p1ebEPfTzs8gmrjsdT2XMXFfeAg45Pman+XPLFGaSeGAZkutRFRyX9Cs9aGTSOyIA9YPJ6vDNb1ayTf1FKQ==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - peerDependencies: - '@react-native-community/cli': '*' - '@react-native/metro-config': 0.86.0 - peerDependenciesMeta: - '@react-native-community/cli': - optional: true - '@react-native/metro-config': - optional: true - - '@react-native/debugger-frontend@0.86.0': - resolution: {integrity: sha512-7Mb3nDfyJeys+ELF75Ageu7VKERlnIMoO+aNPoXqTXvz+b41L6l2CqMyLpDHxkBSlenij6gEepPNgaIyWHbJZw==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - '@react-native/debugger-shell@0.86.0': - resolution: {integrity: sha512-Y0zEkZzLz8ou6o/VLml1A31X/rMgc6DRjwxwzPMa94qRTMY070WeBCNTITQo4kKTBAUgbxh07oXPQqp0Tpja8w==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - '@react-native/dev-middleware@0.86.0': - resolution: {integrity: sha512-20pTO6yTybmvXvro520H6C7jydIQnLKOl5qFtVEcHSdFrY63r3OGei+Rx9bILgSRmH6jgnfEcijcMx7pwWuQtw==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - '@react-native/gradle-plugin@0.86.0': - resolution: {integrity: sha512-a1RcfaEDqWExCGfCwadIxt4l8FvKYgFqeMf2uzeKyAOnb+vTGNIeCvifFL2MqvgaeYxlER437HbMIajGcuJ1pQ==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - '@react-native/js-polyfills@0.86.0': - resolution: {integrity: sha512-zYy/Cjd1VTnZ2iCNaG9bDF9C3l2ntESiPRscjIlI5FKugu6aeTwsDSv1aI8Bc4Kp3vEdoVg+UQhLAhE4svREaQ==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - '@react-native/normalize-colors@0.86.0': - resolution: {integrity: sha512-kG0wfCGghUKlfxkJyyHCDVutWVYWK7/DG58ojA/4v9EfulgF+osuSQmlbNb3rcKX58qutm7JcldSeVLgGFha9g==} - - '@react-native/virtualized-lists@0.86.0': - resolution: {integrity: sha512-4/ZLXdf/OSpPDVO0AsQ1SJdRIzt5t9BNQ46QwGgxvX7/cirYR5k8KXctNGGgW8lQo2gZChEfY2zFCZg9nM/jiw==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - peerDependencies: - '@types/react': ^19.2.0 - react: '*' - react-native: 0.86.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@scarf/scarf@1.4.0': resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==} - '@sd-jwt/core@0.7.2': - resolution: {integrity: sha512-vix1GplUFc1A9H42r/yXkg7cKYthggyqZEwlFdsBbn4xdZNE+AHVF4N7kPa1pPxipwN3UIHd4XnQ5MJV15mhsQ==} - engines: {node: '>=18'} + '@scure/base@2.2.0': + resolution: {integrity: sha512-b8XEupJibegiXV+tDUseI8oLQc8ei3d/4Jkb2RpbHh3MfE054ov3uIz2dhFkB3FI8iwYkEh0gGCApkrYggkPNg==} - '@sd-jwt/decode@0.6.1': - resolution: {integrity: sha512-QgTIoYd5zyKKLgXB4xEYJTrvumVwtsj5Dog0v0L9UH9ZvHekDaeexS247X7A4iSdzTvmZzUpGskgABOa4D8NmQ==} - engines: {node: '>=16'} + '@sd-jwt/core@0.19.0': + resolution: {integrity: sha512-/FeuQjzQFtnxDsHF64Bw+3uixVogNkXlMGBo1CKWrxB/OLNqtGXQZplKBRZMJWgnOJEqDwD6750wrOxsVly6mg==} + engines: {node: '>=20'} + + '@sd-jwt/decode@0.19.0': + resolution: {integrity: sha512-gRfpJseFRy3bFMdlmJjVjuEcLNuekpiZJD2F2luJIKVlk26AEjZSJf6377vwNySa8hb+i4MZDwdy14lcTTmqtA==} + engines: {node: '>=20'} deprecated: 'Merged into @sd-jwt/core (>= 0.20.0). Security: GHSA-f9j6-8p6x-r9j6.' '@sd-jwt/decode@0.7.2': @@ -1923,14 +1433,19 @@ packages: engines: {node: '>=18'} deprecated: 'Merged into @sd-jwt/core (>= 0.20.0). Security: GHSA-f9j6-8p6x-r9j6.' - '@sd-jwt/jwt-status-list@0.7.2': - resolution: {integrity: sha512-o/Mg/Zg21poFsPXuxtPD9sdXq2b/0L+rb9gxU2k1rp1aT+DWmqD0k8v0Ttr2tlMc8l1xXQNA8FLXbL1AdLRmbQ==} + '@sd-jwt/decode@0.9.2': + resolution: {integrity: sha512-jHY7hqk7EMkp6E2cB13QmXvRZN7njvAveVh+zKKy0kxpAM7DmcR4TqcDA4mc5y4lP8zWFUgbk7oGLCx2wiBq+w==} engines: {node: '>=18'} + deprecated: 'Merged into @sd-jwt/core (>= 0.20.0). Security: GHSA-f9j6-8p6x-r9j6.' + + '@sd-jwt/jwt-status-list@0.19.0': + resolution: {integrity: sha512-Xhh0n0DKe3paEtNNQSScy4dtA0ZVKF2OrmDcIB2jm77Doh4xsSs1pOseGEWBs9fmAe5Y0m082wgkmQnWEV53IQ==} + engines: {node: '>=20'} deprecated: Package moved to @owf/token-status-list, please use this instead - '@sd-jwt/present@0.6.1': - resolution: {integrity: sha512-QRD3TUDLj4PqQNZ70bBxh8FLLrOE9mY8V9qiZrJSsaDOLFs2p1CtZG+v9ig62fxFYJZMf4bWKwYjz+qqGAtxCg==} - engines: {node: '>=16'} + '@sd-jwt/present@0.19.0': + resolution: {integrity: sha512-WXDwqwUXmtyj7YZ5c+wb26ZBeVOsKXCbCI7s1pRH9ngIjFNDGgAZoVCOmLq8pPgWSJzOTgJe3ErO2k63ZwhyeQ==} + engines: {node: '>=20'} deprecated: Package got merged into @sd-jwt/core, please use this instead '@sd-jwt/present@0.7.2': @@ -1938,13 +1453,13 @@ packages: engines: {node: '>=18'} deprecated: Package got merged into @sd-jwt/core, please use this instead - '@sd-jwt/sd-jwt-vc@0.7.2': - resolution: {integrity: sha512-rryYmnoJHRSNqHcrs0Atta+bfJzU2yT7mYumR2D4lTfxJKWZd0OHHFq57uZSEm/wXPI6uytUJXYbEboCqLUAtw==} - engines: {node: '>=18'} + '@sd-jwt/sd-jwt-vc@0.19.0': + resolution: {integrity: sha512-sjX9/E32X0HNpOM5b9np2fHSS9CJu72JDkGEuaHTfZTLTmgh1Cj6KhP7kwI1Bxhw0CCt7tjhrAmMvEEIbgIwVg==} + engines: {node: '>=20'} - '@sd-jwt/types@0.6.1': - resolution: {integrity: sha512-LKpABZJGT77jNhOLvAHIkNNmGqXzyfwBT+6r+DN9zNzMx1CzuNR0qXk1GMUbast9iCfPkGbnEpUv/jHTBvlIvg==} - engines: {node: '>=16'} + '@sd-jwt/types@0.19.0': + resolution: {integrity: sha512-nfuC9zRLKe7o4HSvc+N4ojWRAxo4JGfgcNWpR7bJloLUlnE9eQuu9h9pEaJZht7KRwMpGorNTIdYpoi1btuiew==} + engines: {node: '>=20'} deprecated: Package got merged into @sd-jwt/core, please use this instead '@sd-jwt/types@0.7.2': @@ -1952,9 +1467,14 @@ packages: engines: {node: '>=18'} deprecated: Package got merged into @sd-jwt/core, please use this instead - '@sd-jwt/utils@0.6.1': - resolution: {integrity: sha512-1NHZ//+GecGQJb+gSdDicnrHG0DvACUk9jTnXA5yLZhlRjgkjyfJLNsCZesYeCyVp/SiyvIC9B+JwoY4kI0TwQ==} - engines: {node: '>=16'} + '@sd-jwt/types@0.9.2': + resolution: {integrity: sha512-eV/MY80ekeTrqaohzPpkrgwPki6Igx69D6RniduV1Ehv6o/zaJQ2F0hY/RqBAkJhQtBQoOzouwKYHme40k1Dlw==} + engines: {node: '>=18'} + deprecated: Package got merged into @sd-jwt/core, please use this instead + + '@sd-jwt/utils@0.19.0': + resolution: {integrity: sha512-bDwDRjfxMBNOsAXY8q8hnxQq7jdOWxrdqTK926Mxt8DN+ttXbXbZIPLwSh84M90WP0V7+WdkXlZD31iISzUR3w==} + engines: {node: '>=20'} deprecated: Package got merged into @sd-jwt/core, please use this instead '@sd-jwt/utils@0.7.2': @@ -1962,6 +1482,11 @@ packages: engines: {node: '>=18'} deprecated: Package got merged into @sd-jwt/core, please use this instead + '@sd-jwt/utils@0.9.2': + resolution: {integrity: sha512-GpTD0isav2f+JyMyzeyf6wV3nYcD5e3oL+sVVr/61Y3oaIBGMWLtGGGhBRMCimSnd8kbb0P9jLxvp7ioASk6vw==} + engines: {node: '>=18'} + deprecated: Package got merged into @sd-jwt/core, please use this instead + '@sideway/address@4.1.5': resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} @@ -1983,9 +1508,8 @@ packages: '@sinonjs/fake-timers@15.4.0': resolution: {integrity: sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA==} - '@sovpro/delimited-stream@1.1.0': - resolution: {integrity: sha512-kQpk267uxB19X3X2T1mvNMjyvIEonpNSHrMlK5ZaBU6aZxw7wPbpgKJOjHN3+/GPVpXgAV9soVT2oyHpLkLtyw==} - engines: {node: '>= 8'} + '@sphereon/kmp-mdoc-core@0.2.0-SNAPSHOT.26': + resolution: {integrity: sha512-QXJ6R8ENiZV2rPMbn06cw5JKwqUYN1kzVRbYfONqE1PEXx1noQ4md7uxr2zSczi0ubKkNcbyYDNtIMTZIhGzmQ==} '@sphereon/pex-models@1.2.2': resolution: {integrity: sha512-/pGDQGs4lSK4Fuf6WzaGengb1UqNYmjRdkIC+dJT89kMktIwJLoNB2PvQHcggn3nEbmwZFB/1dgJGumAnWPYsg==} @@ -2000,15 +1524,8 @@ packages: resolution: {integrity: sha512-9k+g3zDAfIwmzbmZ9sfdgIpm7OCTURDprmpgCNGda5aAxRvErEZOakn3vsT5y6ac3g8Os2QolZi4bEYyuvKq3w==} engines: {node: '>=10'} - '@sphereon/pex@3.3.3': - resolution: {integrity: sha512-CXwdEcMTUh2z/5AriBn3OuShEG06l2tgiIr7qDJthnkez8DQ3sZo2vr4NEQWKKAL+DeAWAI4FryQGO4KuK7yfg==} - engines: {node: '>=18'} - - '@sphereon/ssi-types@0.22.0': - resolution: {integrity: sha512-YPJAZlKmzNALXK8ohP3ETxj1oVzL4+M9ljj3fD5xrbacvYax1JPCVKc8BWSubGcQckKHPbgbpcS7LYEeghyT9Q==} - - '@sphereon/ssi-types@0.28.0': - resolution: {integrity: sha512-NkTkrsBoQUZzJutlk5XD3snBxL9kfsxKdQvBbGUEaUDOiW8siTNUoJuQFeA+bI0eJY99up95bmMKdJeDc1VDfg==} + '@sphereon/ssi-types@0.33.0': + resolution: {integrity: sha512-OQnWLKZQU6lHlMw3JS5308q5Kctv1eT/NNQthGNXETarsgJFiD711pWMOJvi0p5kLpU8N1e7/okaH3mXsVAW0A==} '@spruceid/didkit-wasm-node@0.2.1': resolution: {integrity: sha512-c8e3u5FIRS/2Gf6UHnRPnfRozgKgby4avZzlvIiaJRDVLl1LaX1SE13vEvKV2rAq6NMfZrV4YG908M4uVlT90Q==} @@ -2016,26 +1533,26 @@ packages: '@sqltools/formatter@1.2.5': resolution: {integrity: sha512-Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==} - '@stablelib/binary@1.0.1': - resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} + '@stablelib/binary@2.0.1': + resolution: {integrity: sha512-U9iAO8lXgEDONsA0zPPSgcf3HUBNAqHiJmSHgZz62OvC3Hi2Bhc5kTnQ3S1/L+sthDTHtCMhcEiklmIly6uQ3w==} - '@stablelib/ed25519@1.0.3': - resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} + '@stablelib/ed25519@2.1.0': + resolution: {integrity: sha512-8GLWoJur9nJiErABKHs5MjceSiYJJ2n8QP9k8Q5x6GWU2y5oAQ6qzPh8kCgQy5aHlUxcmRA1frQ5Gu2bHoIDPw==} - '@stablelib/hash@1.0.1': - resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} + '@stablelib/hash@2.0.0': + resolution: {integrity: sha512-u3WPSqGido8lwJuMcrBgM5K54LrPGhkWAdtsyccf7dGsLixAZUds77zOAbu7bvKPwQlmoByH0txBi5rTmEKuHg==} - '@stablelib/int@1.0.1': - resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} + '@stablelib/int@2.0.1': + resolution: {integrity: sha512-Ht63fQp3wz/F8U4AlXEPb7hfJOIILs8Lq55jgtD7KueWtyjhVuzcsGLSTAWtZs3XJDZYdF1WcSKn+kBtbzupww==} - '@stablelib/random@1.0.2': - resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} + '@stablelib/random@2.0.1': + resolution: {integrity: sha512-W6GAtXEEs7r+dSbuBsvoFmlyL3gLxle41tQkjKu17dDWtDdjhVUbtRfRCQcCUeczwkgjQxMPopgwYEvxXtHXGw==} - '@stablelib/sha512@1.0.1': - resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} + '@stablelib/sha512@2.0.1': + resolution: {integrity: sha512-DUNe5cbnoH3sSIN+MG04RvTCLXtkbyy/SnQxiNO+GgF/KSXkkUSlF6mUVvCUdZBZ2X3NgogR+tAvaRSn8wxnLw==} - '@stablelib/wipe@1.0.1': - resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} + '@stablelib/wipe@2.0.1': + resolution: {integrity: sha512-1eU2K9EgOcV4qc9jcP6G72xxZxEm5PfeI5H55l08W95b4oRJaqhmlWRc4xZAm6IVSKhVNxMi66V67hCzzuMTAg==} '@tokenizer/inflate@0.4.1': resolution: {integrity: sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==} @@ -2099,15 +1616,9 @@ packages: '@types/estree@1.0.9': resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} - '@types/express-serve-static-core@4.19.8': - resolution: {integrity: sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==} - '@types/express-serve-static-core@5.1.1': resolution: {integrity: sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==} - '@types/express@4.17.25': - resolution: {integrity: sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==} - '@types/express@5.0.6': resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} @@ -2135,9 +1646,6 @@ packages: '@types/methods@1.1.4': resolution: {integrity: sha512-ymXWVrDiCxTBE3+RIrrP533E70eA+9qu7zdWoHuOmGujkYtzf4HQF96b8nwHLqhuf4ykX61IGRIB38CC6/sImQ==} - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/node@18.15.13': resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} @@ -2150,15 +1658,9 @@ packages: '@types/range-parser@1.2.7': resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - '@types/send@0.17.6': - resolution: {integrity: sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==} - '@types/send@1.2.1': resolution: {integrity: sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==} - '@types/serve-static@1.15.10': - resolution: {integrity: sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==} - '@types/serve-static@2.2.0': resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} @@ -2245,14 +1747,6 @@ packages: '@ungap/structured-clone@1.3.2': resolution: {integrity: sha512-5jsZFwgR5rTdKwidH9Qmat75RKwqfpKlWWB1frDkljN127mwqBu8K0PYo7/hFpF03IEJpfVPpCQDY/eDx3iHvA==} - '@unimodules/core@7.1.2': - resolution: {integrity: sha512-lY+e2TAFuebD3vshHMIRqru3X4+k7Xkba4Wa7QsDBd+ex4c4N2dHAO61E2SrGD9+TRBD8w/o7mzK6ljbqRnbyg==} - deprecated: 'replaced by the ''expo'' package, learn more: https://blog.expo.dev/whats-new-in-expo-modules-infrastructure-7a7cdda81ebc' - - '@unimodules/react-native-adapter@6.3.9': - resolution: {integrity: sha512-i9/9Si4AQ8awls+YGAKkByFbeAsOPgUNeLoYeh2SQ3ddjxJ5ZJDtq/I74clDnpDcn8zS9pYlcDJ9fgVJa39Glw==} - deprecated: 'replaced by the ''expo'' package, learn more: https://blog.expo.dev/whats-new-in-expo-modules-infrastructure-7a7cdda81ebc' - '@unrs/resolver-binding-android-arm-eabi@1.12.2': resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} cpu: [arm] @@ -2373,6 +1867,15 @@ packages: cpu: [x64] os: [win32] + '@verifiables/request-converter@0.2.0': + resolution: {integrity: sha512-afhFYBSYf0zqLkHu1xlLJ8DUAV/ved5yD9MKnPPaG9tH68winV10eBBH4/2eoi2qK6hvAtWPjoZ+1pRF6jLUJw==} + engines: {node: '>=18.0.0'} + peerDependencies: + dcql: '>=2.0.0' + peerDependenciesMeta: + dcql: + optional: true + '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -2418,14 +1921,6 @@ packages: '@webassemblyjs/wast-printer@1.14.1': resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - '@xmldom/xmldom@0.8.13': - resolution: {integrity: sha512-KRYzxepc14G/CEpEGc3Yn+JKaAeT63smlDr+vjB8jRfgTBBI9wRj/nkQEO+ucV8p8I9bfKLWp37uHgFrbntPvw==} - engines: {node: '>=10.0.0'} - - '@xmldom/xmldom@0.9.10': - resolution: {integrity: sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==} - engines: {node: '>=14.6'} - '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -2435,14 +1930,6 @@ packages: abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - accepts@2.0.0: resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} engines: {node: '>= 0.6'} @@ -2474,10 +1961,6 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - agent-base@7.1.4: - resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} - engines: {node: '>= 14'} - agentkeepalive@4.6.0: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} engines: {node: '>= 8.0.0'} @@ -2521,9 +2004,6 @@ packages: ajv@8.20.0: resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==} - anser@1.4.10: - resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -2532,10 +2012,6 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -2544,10 +2020,6 @@ packages: resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -2582,11 +2054,6 @@ packages: aproba@2.1.0: resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==} - are-we-there-yet@2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} - deprecated: This package is no longer supported. - are-we-there-yet@3.0.1: resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -2595,9 +2062,6 @@ packages: arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -2608,12 +2072,6 @@ packages: resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} engines: {node: '>= 0.4'} - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - - array-index@1.0.0: - resolution: {integrity: sha512-jesyNbBkLQgGZMSwA1FanaFjalb1mZUGxGeUEkSDidzgrbjBGhvizJkaItdhkt8eIHFOJC7nDsrXk+BaehTdRw==} - array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} @@ -2624,9 +2082,6 @@ packages: asap@2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - asmcrypto.js@0.22.0: - resolution: {integrity: sha512-usgMoyXjMbx/ZPdzTSXExhMPur2FTdz/Vo5PVx2gIaBcdAAJNOFlsdgqveM8Cff7W0v+xrf9BwjOV26JSAF9qA==} - asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} @@ -2641,10 +2096,6 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} @@ -2652,12 +2103,6 @@ packages: axios@1.18.1: resolution: {integrity: sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==} - b64-lite@1.4.0: - resolution: {integrity: sha512-aHe97M7DXt+dkpa8fHlCcm1CnskAHrJqEfMI0KN7dwqlzml/aUe1AGt6lk51HzrSfVD67xOso84sOpr+0wIe2w==} - - b64u-lite@1.1.0: - resolution: {integrity: sha512-929qWGDVCRph7gQVTC6koHqQIpF4vtVaSbwLltFQo44B1bYUquALswZdBKFfrJCPEnsCOvWkJsPdQYZ/Ukhw8A==} - babel-jest@29.5.0: resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2686,56 +2131,11 @@ packages: resolution: {integrity: sha512-9EdtWM/sSfXLOGLwSn+GS6pIXyBnL07/8gyJlwFXjWy4DxMOyItqyUT29d4lQiS380EZwYlX7/At4PgBS+m2aA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - babel-plugin-polyfill-corejs2@0.4.17: - resolution: {integrity: sha512-aTyf30K/rqAsNwN76zYrdtx8obu0E4KoUME29B1xj+B3WxgvWkp943vYQ+z8Mv3lw9xHXMHpvSPOBxzAkIa94w==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-corejs3@0.13.0: - resolution: {integrity: sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-polyfill-regenerator@0.6.8: - resolution: {integrity: sha512-M762rNHfSF1EV3SLtnCJXFoQbbIIz0OyRwnCmV0KPC7qosSfCO0QLTSuJX3ayAebubhE6oYBAYPrBA5ljowaZg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - - babel-plugin-react-compiler@1.0.0: - resolution: {integrity: sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==} - - babel-plugin-react-native-web@0.21.2: - resolution: {integrity: sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA==} - - babel-plugin-syntax-hermes-parser@0.36.0: - resolution: {integrity: sha512-LhD0xdoedDw7ansQgXbB2DADLZIK/LRXuWNBPuVzMc5S2WK5GyT89tCM+cQzxFGO0mGyLK6D5TrVOJJzAoDy8Q==} - - babel-plugin-syntax-hermes-parser@0.36.1: - resolution: {integrity: sha512-ycduwJbvdvIMmVvlAZqGggS+pm5Eu4Bk9pcV9Sm2Z4PJNRVsKkv0g7vHj+LeuC1gHTeF67sJXFOq61IlqCa2hA==} - - babel-plugin-transform-flow-enums@0.0.2: - resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} - babel-preset-current-node-syntax@1.2.0: resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==} peerDependencies: '@babel/core': ^7.0.0 || ^8.0.0-0 - babel-preset-expo@57.0.1: - resolution: {integrity: sha512-ClW79dx27GJVwKf/YMKCrR18uer6jlREZtKVB00HQMIoyeM5Qxh9axKTT0GUNFkFq596wi216ovp1zcGMUhE8g==} - peerDependencies: - '@babel/runtime': ^7.20.0 - expo: '*' - expo-widgets: ^57.0.1 - react-refresh: '>=0.14.0 <1.0.0' - peerDependenciesMeta: - '@babel/runtime': - optional: true - expo: - optional: true - expo-widgets: - optional: true - babel-preset-jest@29.6.3: resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2755,20 +2155,9 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - base-64@0.1.0: - resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==} - base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - base64url-universal@1.1.0: - resolution: {integrity: sha512-WyftvZqye29YQ10ZnuiBeEj0lk8SN8xHU9hOznkLc85wS1cLTp6RpzlMrHxMPD9nH7S55gsBqMqgGyz93rqmkA==} - engines: {node: '>=8.3.0'} - - base64url-universal@2.0.0: - resolution: {integrity: sha512-6Hpg7EBf3t148C3+fMzjf+CHnADVDafWzlJUXAqqqbm4MKNXbsoPdOkWeRTjNlkYG7TpyjIpRO1Gk0SnsFD1rw==} - engines: {node: '>=14'} - base64url@3.0.1: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} @@ -2781,13 +2170,6 @@ packages: bech32@1.1.4: resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} - big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - - bignumber.js@9.3.1: - resolution: {integrity: sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==} - bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} @@ -2800,30 +2182,10 @@ packages: bn.js@5.2.4: resolution: {integrity: sha512-QL7sb18rJ1PbdsKsqPA0guxL563vIMwRHgzNrW/uzQuRGN1Cjqd/wonUBAVqHox9KwzHA6vCbM0lXx3k4iQMow==} - body-parser@1.20.5: - resolution: {integrity: sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@2.3.0: resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} engines: {node: '>=18'} - borc@3.0.0: - resolution: {integrity: sha512-ec4JmVC46kE0+layfnwM3l15O70MlFiEbmQHY/vpqIKiUtPVntv4BY4NVnz3N4vb21edV3mY97XVckFvYHWF9g==} - engines: {node: '>=4'} - hasBin: true - - bplist-creator@0.1.0: - resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} - - bplist-parser@0.3.1: - resolution: {integrity: sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==} - engines: {node: '>= 5.10.0'} - - bplist-parser@0.3.2: - resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==} - engines: {node: '>= 5.10.0'} - brace-expansion@1.1.15: resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==} @@ -2904,13 +2266,12 @@ packages: canonicalize@1.0.8: resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} - canonicalize@2.1.0: - resolution: {integrity: sha512-F705O3xrsUtgt98j7leetNhTWPe+5S72rlL5O4jA1pKqBVQ/dT1O1D6PFxmSXvc0SUOinWS57DKx0I3CHrXJHQ==} + cbor-extract@2.2.2: + resolution: {integrity: sha512-hlSxxI9XO2yQfe9g6msd3g4xCfDqK5T5P0fRMLuaLHhxn4ViPrm+a+MUfhrvH2W962RGxcBwEGzLQyjbDG1gng==} hasBin: true - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + cbor-x@1.6.4: + resolution: {integrity: sha512-UGKHjp6RHC6QuZ2yy5LCKm7MojM4716DwoSaqwQpaH4DvZvbBTGcoDNTiG9Y2lByXZYFEs9WRkS5tLl96IrF1Q==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -2934,21 +2295,14 @@ packages: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - chrome-launcher@0.15.2: - resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} - engines: {node: '>=12.13.0'} - hasBin: true + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} chrome-trace-event@1.0.4: resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} engines: {node: '>=6.0'} - chromium-edge-launcher@0.3.0: - resolution: {integrity: sha512-p03azHlGjtyRvFEee3cyvtsRYdniSkwjkzmM/KmVnqT5d7QkkwpJBhis/zCLMYdQMVJ5tt140TBNqqrZPaWeFA==} - - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -2970,10 +2324,6 @@ packages: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} - cli-cursor@2.1.0: - resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} - engines: {node: '>=4'} - cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -3005,16 +2355,10 @@ packages: collect-v8-coverage@1.0.3: resolution: {integrity: sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==} - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -3026,10 +2370,6 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - commander@12.1.0: - resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} - engines: {node: '>=18'} - commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -3037,28 +2377,16 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - comment-json@5.0.0: resolution: {integrity: sha512-uiqLcOiVDJtBP8WGkZHEP+FZIhTzP1dxvn59EfoYUi9gqupjrBWVQkO2atDrbnKPwLeotFYDsuNb26uBMqB+hw==} engines: {node: '>= 6'} - compare-versions@3.6.0: - resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==} + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} component-emitter@1.3.1: resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.8.1: - resolution: {integrity: sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==} - engines: {node: '>= 0.8.0'} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -3066,17 +2394,9 @@ packages: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} engines: {'0': node >= 6.0} - connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} - console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - content-disposition@1.1.0: resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==} engines: {node: '>=18'} @@ -3092,9 +2412,6 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-signature@1.0.7: - resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} - cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} @@ -3106,9 +2423,6 @@ packages: cookiejar@2.1.4: resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==} - core-js-compat@3.49.0: - resolution: {integrity: sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==} - cors@2.8.6: resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} engines: {node: '>= 0.10'} @@ -3128,6 +2442,11 @@ packages: credentials-context@2.0.0: resolution: {integrity: sha512-/mFKax6FK26KjgV2KW2D4YqKgoJ5DVJpNt87X2Jc9IxT2HBMy7nEIlc+n7pEi+YFFe721XqrvZPd+jbyyBjsvQ==} + cross-env@10.1.0: + resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} + engines: {node: '>=20'} + hasBin: true + cross-fetch@4.1.0: resolution: {integrity: sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==} @@ -3135,22 +2454,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - crypto-ld@6.0.0: - resolution: {integrity: sha512-XWL1LslqggNoaCI/m3I7HcvaSt9b2tYzdrXO+jHLUj9G1BvRfvV7ZTFDVY5nifYuIGAPdAGu7unPxLRustw3VA==} - engines: {node: '>=8.3.0'} - - d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - - data-uri-to-buffer@3.0.1: - resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} - engines: {node: '>= 6'} - - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} engines: {node: '>= 0.4'} @@ -3166,21 +2469,8 @@ packages: dayjs@1.11.21: resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + dcql@3.0.0: + resolution: {integrity: sha512-Z1Iq+tDQqPCqWzQVevUVOaYa+NfoplwrwSPvV0JINZpniiN5jq32C4CXsrmELAgSa5Ja7hBKiuYkpZjQFkeHyw==} debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} @@ -3191,9 +2481,9 @@ packages: supports-color: optional: true - decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} + decode-uri-component@0.4.1: + resolution: {integrity: sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==} + engines: {node: '>=14.16'} decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} @@ -3240,10 +2530,6 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} engines: {node: '>=8'} @@ -3262,9 +2548,6 @@ packages: resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} engines: {node: '>=0.3.1'} - dnssd-advertise@1.1.6: - resolution: {integrity: sha512-Ndrrf6BMPalkQPd/zubL+4YghH2J9NspapQ09uDXwYbvOPkP0oaqf5CkcwJ0b50kS2O3ul6yVu+jz+RY62Cejg==} - dotenv-expand@12.0.3: resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==} engines: {node: '>=12'} @@ -3284,12 +2567,12 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + ec-compression@0.0.1-alpha.12: + resolution: {integrity: sha512-rfsgHPnS/q8SiiJyaJ5w+qpkLtvtvEFOXoh40VmjH+Xs1pjzCCKwhd9Un3BQV+1+Qg0es5VQnzwZVJ7fjzfN+A==} + ed25519-signature-2018-context@1.1.0: resolution: {integrity: sha512-ppDWYMNwwp9bploq0fS4l048vHIq41nWsAbPq6H4mNVx9G/GxW3fwg4Ln0mqctP13MoEpREK7Biz8TbVVdYXqA==} - ed25519-signature-2020-context@1.1.0: - resolution: {integrity: sha512-dBGSmoUIK6h2vadDctrDnhhTO01PR2hJk0mRNEfrRDPCjaIwrfy4J+eziEQ9Q1m8By4f/CSRgKM1h53ydKfdNg==} - ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} @@ -3309,10 +2592,6 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - encodeurl@2.0.0: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} @@ -3337,9 +2616,6 @@ packages: error-ex@1.3.4: resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} - error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} - es-abstract-get@1.0.0: resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} engines: {node: '>= 0.4'} @@ -3371,17 +2647,6 @@ packages: resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} engines: {node: '>= 0.4'} - es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - - es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - - es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -3389,10 +2654,6 @@ packages: escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - escape-string-regexp@2.0.0: resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} engines: {node: '>=8'} @@ -3447,10 +2708,6 @@ packages: jiti: optional: true - esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - espree@11.2.0: resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -3496,13 +2753,6 @@ packages: ethr-did-resolver@8.0.0: resolution: {integrity: sha512-iOsWa4qJAIt0kl6ilX1usOGq5j+Sqq5YR3OjmPSaaquvJNQUv0DjOn9656WSHvkknELmZAoXZH9naPGarTqldQ==} - event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} @@ -3523,115 +2773,13 @@ packages: resolution: {integrity: sha512-PMARsyh/JtqC20HoGqlFcIlQAyqUtW4PlI1rup1uhYJtKuwAjbvWi3GQMAn+STdHum/dk8xrKfUM1+5SAwpolA==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - expo-asset@57.0.2: - resolution: {integrity: sha512-58QjXdeklQmauYS7VlxFAk2O/KNsHqpfplHKLcgDQhg3ek26+3LL+lxWwha92JOBcHNUQoqPN47SoEsD2Yjj8A==} - peerDependencies: - expo: '*' - react: '*' - react-native: '*' - - expo-constants@57.0.2: - resolution: {integrity: sha512-Bq0lIOB+olAQrYCS/fZi0cu1i8V0lo/YNr9fqMELerOfYYFkg8zTVrVaRjdFdMYBmz3dtym26UEBxV5dyUYZOg==} - peerDependencies: - expo: '*' - react-native: '*' - - expo-file-system@57.0.0: - resolution: {integrity: sha512-G+eytNuNGMiS7dbdj1j0nAYMowXnNr1vpO+jss6nQvBlRxshcGBFMtk8xfc67ynz0MUVkzod7WwKO7Vf1iOaJw==} - peerDependencies: - expo: '*' - react-native: '*' - - expo-font@57.0.0: - resolution: {integrity: sha512-zF+J7WrNFjqyAADwdvDgkFEoIQv9DqcjJ57HVstNEH7/7Tx1ThPEhKraodEQOwSjMYWirP+4BYsVbdb+/Zr4QQ==} - peerDependencies: - expo: '*' - react: '*' - react-native: '*' - - expo-keep-awake@57.0.0: - resolution: {integrity: sha512-WqEoyDNSmUeAI9Gu7UaWKDjOhfaV+jGcms7N0hh/EAr7sqJrI2s0HpLSC3P9cWfXFUZCL1zZjd22m/NbsJYCKg==} - peerDependencies: - expo: '*' - react: '*' - - expo-modules-autolinking@0.0.3: - resolution: {integrity: sha512-azkCRYj/DxbK4udDuDxA9beYzQTwpJ5a9QA0bBgha2jHtWdFGF4ZZWSY+zNA5mtU3KqzYt8jWHfoqgSvKyu1Aw==} - hasBin: true - - expo-modules-autolinking@57.0.3: - resolution: {integrity: sha512-qPMu2o/xXJFFZY0+gYDspPti6jTRynnqe4Spl1c/XM7e37p2/Bw+Ed8WX7AA5+bMg7H1gIke8P2IzvQiU3UqaA==} - hasBin: true - - expo-modules-core@57.0.1: - resolution: {integrity: sha512-i7HU4tbIeH6T9RW1xsD6B/Qw4itiI2rjVv+0CUWBnWe/7qx7L6GXZTsHho1G1K9wks5Q4i6dGaCsoK+/hEBrsg==} - peerDependencies: - react: '*' - react-native: '*' - react-native-worklets: ^0.7.4 || ^0.8.0 || ^0.9.0 || ^0.10.0 - peerDependenciesMeta: - react-native-worklets: - optional: true - - expo-modules-jsi@57.0.0: - resolution: {integrity: sha512-lNcA2XLKpbG/Qr3CZ6yCgzlK8oT+zwuD19QKYoRfN5ZurkVhnSA3QdTR5K32n9AxohcENYtZRtnHr2pZoG7W4w==} - peerDependencies: - react-native: '*' - - expo-random@14.0.1: - resolution: {integrity: sha512-gX2mtR9o+WelX21YizXUCD/y+a4ZL+RDthDmFkHxaYbdzjSYTn8u/igoje/l3WEO+/RYspmqUFa8w/ckNbt6Vg==} - deprecated: This package is now deprecated in favor of expo-crypto, which provides the same functionality. To migrate, replace all imports from expo-random with imports from expo-crypto. - peerDependencies: - expo: '*' - - expo-server@57.0.0: - resolution: {integrity: sha512-18byjwFbHVFrGzI4IH1o2MZiiYwvO/y3d+JL3sq50Lg3Id1titwIRMh1fjbHbpM+wP6x14KJY0Ers1UYsjGq8Q==} - engines: {node: '>=20.16.0'} - - expo@57.0.1: - resolution: {integrity: sha512-cJCgOAojkuHKKSWVuH2LXQrvYGZNQO0fTDMLUP9gDv2JWEAwIoFHlWocgZ/8HUvUQwMaF+C/82ZbVLbtwsp3cg==} - hasBin: true - peerDependencies: - '@expo/dom-webview': '*' - '@expo/metro-runtime': '*' - react: '*' - react-dom: '*' - react-native: '*' - react-native-web: '*' - react-native-webview: '*' - peerDependenciesMeta: - '@expo/dom-webview': - optional: true - '@expo/metro-runtime': - optional: true - react-dom: - optional: true - react-native-web: - optional: true - react-native-webview: - optional: true - - exponential-backoff@3.1.3: - resolution: {integrity: sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==} - - express@4.22.2: - resolution: {integrity: sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==} - engines: {node: '>= 0.10.0'} - express@5.2.1: resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} engines: {node: '>= 18'} - ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -3647,14 +2795,6 @@ packages: fast-uri@3.1.3: resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==} - fastq@1.20.1: - resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} - - fb-dotslash@0.5.8: - resolution: {integrity: sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==} - engines: {node: '>=20'} - hasBin: true - fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} @@ -3667,22 +2807,6 @@ packages: picomatch: optional: true - fetch-blob@2.1.2: - resolution: {integrity: sha512-YKqtUDwqLyfyMnmbw8XD6Q8j9i/HggKtPEI+pZ1+8bvheBu78biSmNaXWusx1TauGqtUUGx/cBb1mKdq2rLYow==} - engines: {node: ^10.17.0 || >=12.3.0} - peerDependencies: - domexception: '*' - peerDependenciesMeta: - domexception: - optional: true - - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - - fetch-nodeshim@0.4.10: - resolution: {integrity: sha512-m6I8ALe4L4XpdETy7MJZWs6L1IVMbjs99bwbpIKphxX+0CTns4IKDWJY0LWfr4YsFjfg+z1TjzTMU8lKl8rG0w==} - file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -3698,17 +2822,9 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - filter-obj@1.1.0: - resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} - engines: {node: '>=0.10.0'} - - finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} - - finalhandler@1.3.2: - resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} - engines: {node: '>= 0.8'} + filter-obj@5.1.0: + resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} + engines: {node: '>=14.16'} finalhandler@2.1.1: resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} @@ -3722,9 +2838,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - fix-esm@1.0.1: - resolution: {integrity: sha512-EZtb7wPXZS54GaGxaWxMlhd1DUDCnAg5srlYdu/1ZVeW+7wwR3Tp59nu52dXByFs3MBRq+SByx1wDOJpRvLEXw==} - flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -3732,9 +2845,6 @@ packages: flatted@3.4.2: resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} - flow-enums-runtime@0.0.6: - resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - follow-redirects@1.16.0: resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} engines: {node: '>=4.0'} @@ -3744,9 +2854,6 @@ packages: debug: optional: true - fontfaceobserver@2.3.0: - resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} - for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} @@ -3766,9 +2873,8 @@ packages: resolution: {integrity: sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==} engines: {node: '>= 6'} - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + format-util@1.0.5: + resolution: {integrity: sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==} formidable@3.5.4: resolution: {integrity: sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==} @@ -3778,10 +2884,6 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - fresh@2.0.0: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} @@ -3793,10 +2895,6 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -3822,11 +2920,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} - deprecated: This package is no longer supported. - gauge@4.0.4: resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -3864,23 +2957,9 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-symbol-from-current-process-h@1.0.2: - resolution: {integrity: sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw==} - - get-uv-event-loop-napi-h@1.0.6: - resolution: {integrity: sha512-t5c9VNR84nRoF+eLiz6wFrEp1SE2Acg0wS+Ysa2zF0eROes+LzOfuTaVHxGy8AbS8rq7FHEJzjnCZo1BupwdJg==} - - getenv@2.0.0: - resolution: {integrity: sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==} - engines: {node: '>=6'} - github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -3930,10 +3009,6 @@ packages: resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} engines: {node: '>= 0.4'} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} @@ -3963,34 +3038,9 @@ packages: resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} engines: {node: '>= 0.4'} - hermes-compiler@250829098.0.14: - resolution: {integrity: sha512-5meXwsZxgiqFaJjNzwjzI9IyUkuGGBisu+z9BvQWmGVpjH6nz11hgqkyxe4dl8UAdyIV4lTbz91+Dlnjz0VxqA==} - - hermes-estree@0.35.0: - resolution: {integrity: sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg==} - - hermes-estree@0.36.0: - resolution: {integrity: sha512-A1+8zn5oss2CFP7pKsOaxorQG6FNIz1WU1VDqruLPPZl3LVgeE2C5xfFg8Ow6/Ow4mSslLLtYP1J3n38eKyW9w==} - - hermes-estree@0.36.1: - resolution: {integrity: sha512-guv1nQ6IJ7S83NRFPWc3SA7IBZrdNC9kapwOq6uXvF4wP+sDCgjzQbKPCoyYmoyZRzztF/n/c36l/rccCZSiCw==} - - hermes-parser@0.35.0: - resolution: {integrity: sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA==} - - hermes-parser@0.36.0: - resolution: {integrity: sha512-GdpwMmH5x6IpC1cijvcvYnlPB60Mh6kTSF/NFdYV/j56gYdi+0RIakYs+eqOV+bbO0SW7mgVVGSsTJxyPQfo3w==} - - hermes-parser@0.36.1: - resolution: {integrity: sha512-GApNk4zLHi2UWoWZZkx7LNCOSzLSc5lB55pZ/PhK7ycFeg7u5LcF88p/WbpIi1XUDtE0MpHE3uRR3u3KB7TjSQ==} - hmac-drbg@1.0.1: resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - hosted-git-info@7.0.2: - resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} - engines: {node: ^16.14.0 || >=18.0.0} - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -4009,10 +3059,6 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - https-proxy-agent@7.0.6: - resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} - engines: {node: '>= 14'} - human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -4020,10 +3066,6 @@ packages: humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -4043,11 +3085,6 @@ packages: resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} engines: {node: '>= 4'} - image-size@1.2.1: - resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} - engines: {node: '>=16.x'} - hasBin: true - import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -4082,9 +3119,6 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ip-address@10.2.0: resolution: {integrity: sha512-/+S6j4E9AHvW9SWMSEY9Xfy66O5PWvVEJ08O0y5JGyEKQpojb0K0GKpz/v5HJ/G0vi3D2sjGK78119oXZeE0qA==} engines: {node: '>= 12'} @@ -4116,10 +3150,6 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.16.2: - resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} - engines: {node: '>= 0.4'} - is-data-view@1.0.2: resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} engines: {node: '>= 0.4'} @@ -4128,11 +3158,6 @@ packages: resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} engines: {node: '>= 0.4'} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-document.all@1.0.0: resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} engines: {node: '>= 0.4'} @@ -4234,23 +3259,12 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - isarray@2.0.5: resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - iso-url@1.2.1: - resolution: {integrity: sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==} - engines: {node: '>=12'} - - isomorphic-webcrypto@2.3.8: - resolution: {integrity: sha512-XddQSI0WYlSCjxtm1AI8kWQOulf7hAN3k3DclF1sxDJZqOe0pcsOt675zvWW91cZH9hYs3nlA3Ev8QK5i80SxQ==} - istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -4331,10 +3345,6 @@ packages: resolution: {integrity: sha512-4FZYVOk85hz2AyT6BbarKy9u37g6DbrDyCdFhsnDdXqyrueYQvB+0zO4f/kqLCRD0BsPRXPMNJeQwihKZV8naw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-haste-map@29.7.0: resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4404,10 +3414,6 @@ packages: resolution: {integrity: sha512-vjQb1sACEiv13DKJMDToJpzVW0joCsIQrmbg0fi7CyOOt+g9jTuQl2A216pWRBYhOVt53XbL/2LbMKg1BECWOw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} - jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-validate@30.4.1: resolution: {integrity: sha512-PDWi4SOwLnwqNDfHZjOcsEFyZ4fc/2W2gVL3DEoyqnB6jCQMLRtfBong8s6omIw3lI0HWOus12xfnFmQtjW3fw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -4438,9 +3444,6 @@ packages: node-notifier: optional: true - jimp-compact@0.16.1: - resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==} - joi@17.13.4: resolution: {integrity: sha512-1RuuER6kmt8K8I3nIWvPZKi5RQCb568ZPyY4Pwjlua+yo+63ZTmIwxLZH0heBmiKN4uxjvCiarDrjaeH84xicQ==} @@ -4464,9 +3467,6 @@ packages: resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} hasBin: true - jsc-safe-url@0.2.4: - resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} - jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} @@ -4490,10 +3490,6 @@ packages: json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - json-text-sequence@0.3.0: - resolution: {integrity: sha512-7khKIYPKwXQem4lWXfpIN/FEnhztCeRPSxH4qm3fVlqulwujrRDD54xAwDDn/qVKpFtV550+QAkcWJcufzqQuA==} - engines: {node: '>=10.18.0'} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -4505,67 +3501,26 @@ packages: jsonfile@6.2.1: resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - jsonld-signatures@11.6.0: - resolution: {integrity: sha512-hzYNZXnfy4cUFf9aiFBtduUz+cknbfBLWtTKvoqVyP2ECPwqfsfkHWFlhccWfAKV/LJkPLyKZRwC1B4T5LO4ZQ==} - engines: {node: '>=18'} - - jsonld@8.3.3: - resolution: {integrity: sha512-9YcilrF+dLfg9NTEof/mJLMtbdX1RJ8dbWtJgE00cMOIohb1lIyJl710vFiTaiHTl6ZYODJuBd32xFvUhmv3kg==} - engines: {node: '>=14'} - - jsonld@9.0.0: - resolution: {integrity: sha512-pjMIdkXfC1T2wrX9B9i2uXhGdyCmgec3qgMht+TDj+S0qX3bjWMQUfL7NeqEhuRTi8G5ESzmL9uGlST7nzSEWg==} - engines: {node: '>=18'} - jsonpath@1.3.0: resolution: {integrity: sha512-0kjkYHJBkAy50Z5QzArZ7udmvxrJzkpKYW27fiF//BrMY7TQibYLl+FYIXN2BiYmwMIVzSfD8aDRj6IzgBX2/w==} jwt-decode@3.1.2: resolution: {integrity: sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==} + jwt-decode@4.0.0: + resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} + engines: {node: '>=18'} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - ky-universal@0.11.0: - resolution: {integrity: sha512-65KyweaWvk+uKKkCrfAf+xqN2/epw1IJDtlyCPxYffFCMR8u1sp2U65NtWpnozYfZxQ6IUzIlvUcw+hQ82U2Xw==} - engines: {node: '>=14.16'} - peerDependencies: - ky: '>=0.31.4' - web-streams-polyfill: '>=3.2.1' - peerDependenciesMeta: - web-streams-polyfill: - optional: true - - ky-universal@0.8.2: - resolution: {integrity: sha512-xe0JaOH9QeYxdyGLnzUOVGK4Z6FGvDVzcXFTdrYA1f33MZdEa45sUDaMBy98xQMcsd2XIBrTXRrRYnegcSdgVQ==} - engines: {node: '>=10.17'} - peerDependencies: - ky: '>=0.17.0' - web-streams-polyfill: '>=2.0.0' - peerDependenciesMeta: - web-streams-polyfill: - optional: true - - ky@0.25.1: - resolution: {integrity: sha512-PjpCEWlIU7VpiMVrTwssahkYXX1by6NCT0fhTUX34F3DTinARlgMpriuroolugFPcMgpPWrOW4mTb984Qm1RXA==} - engines: {node: '>=10'} - - ky@0.33.3: - resolution: {integrity: sha512-CasD9OCEQSFIam2U8efFK81Yeg8vNMTBUqtMOHlrcWQHqUX3HeCl9Dr31u4toV7emlH8Mymk5+9p0lL6mKb/Xw==} - engines: {node: '>=14.16'} + koffi@2.16.2: + resolution: {integrity: sha512-owU0MRwv6xkrVqCd+33uw6BaYppkTRXbO/rVdJNI2dvZG0gzyRhYwW25eWtc5pauwK8TGh3AbkFONSezdykfSA==} ky@1.14.3: resolution: {integrity: sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==} engines: {node: '>=18'} - lan-network@0.2.1: - resolution: {integrity: sha512-ONPnazC96VKDntab9j9JKwIWhZ4ZUceB4A9Epu4Ssg0hYFmtHZSeQ+n15nIwTFmcBUKtExOer8WTJ4GF9MO64A==} - hasBin: true - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -4581,83 +3536,6 @@ packages: libphonenumber-js@1.13.7: resolution: {integrity: sha512-rvr3HIMdOgzhz1RFGjftji+wjoAFlzhqCNqJOU/MKTZQ8d9NZxAR/tI+0weDicyoucqVR0U1GCniqHJ0f8aM2A==} - lighthouse-logger@1.4.2: - resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} - - lightningcss-android-arm64@1.32.0: - resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [android] - - lightningcss-darwin-arm64@1.32.0: - resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [darwin] - - lightningcss-darwin-x64@1.32.0: - resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [darwin] - - lightningcss-freebsd-x64@1.32.0: - resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [freebsd] - - lightningcss-linux-arm-gnueabihf@1.32.0: - resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} - engines: {node: '>= 12.0.0'} - cpu: [arm] - os: [linux] - - lightningcss-linux-arm64-gnu@1.32.0: - resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [glibc] - - lightningcss-linux-arm64-musl@1.32.0: - resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [linux] - libc: [musl] - - lightningcss-linux-x64-gnu@1.32.0: - resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [glibc] - - lightningcss-linux-x64-musl@1.32.0: - resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [linux] - libc: [musl] - - lightningcss-win32-arm64-msvc@1.32.0: - resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} - engines: {node: '>= 12.0.0'} - cpu: [arm64] - os: [win32] - - lightningcss-win32-x64-msvc@1.32.0: - resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} - engines: {node: '>= 12.0.0'} - cpu: [x64] - os: [win32] - - lightningcss@1.32.0: - resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} - engines: {node: '>= 12.0.0'} - lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -4677,30 +3555,16 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - lodash.throttle@4.1.1: - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - lodash@4.18.1: resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==} - log-symbols@2.2.0: - resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} - engines: {node: '>=4'} - log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -4725,10 +3589,6 @@ packages: magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -4743,9 +3603,6 @@ packages: makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - marky@1.3.0: - resolution: {integrity: sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==} - math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -4762,12 +3619,6 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - memoize-one@5.2.1: - resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - merge-descriptors@2.0.0: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} @@ -4775,72 +3626,10 @@ packages: merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - methods@1.1.2: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - metro-babel-transformer@0.84.4: - resolution: {integrity: sha512-rvCfz8snl9h20VcvpOHxZuHP1SlAkv4HXbzw7nyyVwu6Eqo5PRerbakQ9XmUCOsRy70spJ37O+G1TK8oMzo48g==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-cache-key@0.84.4: - resolution: {integrity: sha512-wVO79aGrkYImpnaVS4+d5RrRBRPX31QtvKB3wKGBuiNSznduZTQHzsrJZRroFJSwnygrzdsGUtDQPuqqFjFdvw==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-cache@0.84.4: - resolution: {integrity: sha512-gpcFQdSLUwUCk71saKoE64jLFbx2nwTfVCcPSULMNT8QYq0p1eZZE29Jvd0HtT/UlhC3ZOutLxJME5xqD2JUZg==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-config@0.84.4: - resolution: {integrity: sha512-PMotGDjXcXLWo2TMRH+VR99phFNgYTwqh4OoieIKK3yTJa1Jmkl+fZJxDO0jfBvNF+WESHciHvpNuBtXaF3B0Q==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-core@0.84.4: - resolution: {integrity: sha512-HONpWC5LGXZn3ffkd4Hu6AIrfE7j4Z0g0wMo/goV24WOB3lhuFZ40KgvaDiSw8iyQHloMYay5N/wPX+z8oN/PQ==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-file-map@0.84.4: - resolution: {integrity: sha512-KSVDi/u60hKPx++NLu3MTIvyjzNoJnFAF8PQFxaj1jiSka/wjw+Ua6sNuJ0TDHQv+7AAoFQxeMgaRAe8Yic5wQ==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-minify-terser@0.84.4: - resolution: {integrity: sha512-5qpbaVOMC7CPitIpuewzVeGw7E+C3ykbv2mqTjQLl85Z3annSVGlSCTcsZjqXZzjupfK4Ztj3dDc4kc44NZwtQ==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-resolver@0.84.4: - resolution: {integrity: sha512-1qLgbxQ5ZGhhutuPot1Yp348ofDsATL2WkrHF65TobqTT9K3P9qJXw38bomk7ncp5B7OYMfWwtyBZo1lCV792A==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-runtime@0.84.4: - resolution: {integrity: sha512-Jibypds4g7AhzdRKY+kDoj51s5EXMwgyp5ddtlreDAsWefMdOx+agWqgm0H2XSZ/ueanHHVM89fnf5OJnlxa8Q==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-source-map@0.84.4: - resolution: {integrity: sha512-jbWkPxIesVuo1IWkvezmMJld6iu8nD62GsrZiV6jP37AOdbo4OBq1FJ+qkOg8sV05wAHB//jAbziuW0SlJfW4g==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-symbolicate@0.84.4: - resolution: {integrity: sha512-OnfpacxUqGPZQ27t8qK9mFa7uqHIlVWeqRqkCbvMvreEBiamEeOn8krKtcwgP5M4cYDPwuSmCTopHMVthqG4zA==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - hasBin: true - - metro-transform-plugins@0.84.4: - resolution: {integrity: sha512-kehr6HbAecqD0/a3xLXobELdPaAmRAl8bel0qagPF4vhZtux93nS8S4eq2kgKt6J2GnQpVjSoW1PXdst04mwow==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro-transform-worker@0.84.4: - resolution: {integrity: sha512-W1IYMvvXTu4MxYr7d9h7CeG2vpIr3bmLLIavkPY4O1ilzDrvS8z/NEe6y+pC44Ff7raMXQgYSfdqDUwN/i39gg==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - - metro@0.84.4: - resolution: {integrity: sha512-8ETTubqfD6ornDy2zYDvRcKnVDOXdFJsjetYDBsY4oAsb6NJkiwFR+FaMESyGppFmQUyBQA4H4sFGxzcQSGtFA==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - hasBin: true - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -4861,20 +3650,11 @@ packages: resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} engines: {node: '>=18'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - mime@2.6.0: resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} engines: {node: '>=4.0.0'} hasBin: true - mimic-fn@1.2.0: - resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} - engines: {node: '>=4'} - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -4947,6 +3727,10 @@ packages: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} @@ -4959,15 +3743,9 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msrcrypto@1.5.8: - resolution: {integrity: sha512-ujZ0TRuozHKKm6eGbKHfXef7f+esIhEckmThVnz7RNyiOJd7a6MXj2JGBoL9cnPDW+JMG16MoTUh5X+XXjI66Q==} - multer@2.1.1: resolution: {integrity: sha512-mo+QTzKlx8R7E5ylSXxWzGoXoZbOsRMpyitcht8By2KHvMbf3tjwosZ/Mu/XYU6UuJ3VZnODIrak5ZrPiPyB6A==} engines: {node: '>= 10.16.0'} @@ -4975,9 +3753,6 @@ packages: multiformats@9.9.0: resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} - multitars@1.0.0: - resolution: {integrity: sha512-H/J4fMLedtudftaYMOg7ajzLYgT3/rwbWVJbqr/iUgB8DQztn38ys5HOqI1CzSxx8QhXXwOOnnBvd4v3jG5+Mg==} - mute-stream@2.0.0: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} @@ -4998,10 +3773,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - negotiator@0.6.4: resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} engines: {node: '>= 0.6'} @@ -5013,9 +3784,6 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - nock@14.0.0: resolution: {integrity: sha512-3Z2ZoZoYTR/y2I+NI16+6IzfZFKBX7MrADtoBAm7v/QKqxQUhKw+Dh+847PPS1j/FDutjfIXfrh3CJF74yITWg==} engines: {node: '>= 18'} @@ -5027,17 +3795,9 @@ packages: node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - deprecated: Use your platform's native DOMException instead - node-emoji@1.11.0: resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} @@ -5050,20 +3810,8 @@ packages: encoding: optional: true - node-fetch@3.0.0-beta.9: - resolution: {integrity: sha512-RdbZCEynH2tH46+tj0ua9caUHVWrd/RHnRfvly2EVdqGmI3ndS1Vn/xjm5KuGejDt2RNDQsVRLPNd2QPwcewVg==} - engines: {node: ^10.17 || >=12.3} - - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - node-forge@1.4.0: - resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} - engines: {node: '>= 6.13.0'} - - node-gyp-build@4.8.4: - resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + node-gyp-build-optional-packages@5.1.1: + resolution: {integrity: sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==} hasBin: true node-gyp@8.4.1: @@ -5087,30 +3835,15 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - npm-package-arg@11.0.3: - resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==} - engines: {node: ^16.14.0 || >=18.0.0} - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} - deprecated: This package is no longer supported. - npmlog@6.0.2: resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} deprecated: This package is no longer supported. - nullthrows@1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - - ob1@0.84.4: - resolution: {integrity: sha512-eJXMpz4aQHXF/YBB9ddqZDIS+ooO91hObo9FoW/xBkr54/zCwYYCDqT/O54vNo8kOkWs5Ou/y28NgdrV0edQNA==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -5127,33 +3860,17 @@ packages: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} engines: {node: '>= 0.4'} - on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - on-headers@1.1.0: - resolution: {integrity: sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==} - engines: {node: '>= 0.8'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@2.0.1: - resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} - engines: {node: '>=4'} - onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} - optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -5162,10 +3879,6 @@ packages: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} - ora@3.4.0: - resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} - engines: {node: '>=6'} - ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -5215,10 +3928,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parse-png@2.1.0: - resolution: {integrity: sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==} - engines: {node: '>=10'} - parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -5235,9 +3944,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -5246,9 +3952,6 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} - path-to-regexp@0.1.13: - resolution: {integrity: sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==} - path-to-regexp@8.4.2: resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} @@ -5275,26 +3978,14 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - plist@3.1.1: - resolution: {integrity: sha512-ZIfcLJC+7E7FBFnDxm9MPmt7D+DidyQ26lewieO75AdhA2ayMtsJSES0iWzqJQbcVRSrTufQoy0DR94xHue0oA==} - engines: {node: '>=10.4.0'} - pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - pngjs@3.4.0: - resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} - engines: {node: '>=4.0.0'} - possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - postcss@8.5.16: - resolution: {integrity: sha512-vuwillviilfKZsg0VGj5R/YwwcHx4SLsIOI/7K6mQkWx+l5cUHTjj5g0AasTBcyXsbfTgrwsUNmVUb5xVwyPwg==} - engines: {node: ^10 || ^12 || >=14} - prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} @@ -5314,10 +4005,6 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - pretty-format@30.4.1: resolution: {integrity: sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -5329,14 +4016,6 @@ packages: peerDependencies: prettier: ^3.0.0 - proc-log@4.2.0: - resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -5349,13 +4028,6 @@ packages: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} engines: {node: '>=10'} - promise@8.3.0: - resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - propagate@2.0.1: resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} engines: {node: '>= 8'} @@ -5389,24 +4061,14 @@ packages: resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==} engines: {node: '>=0.6'} - query-string@7.1.3: - resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} - engines: {node: '>=6'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - queue@6.0.2: - resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + query-string@9.4.1: + resolution: {integrity: sha512-lSyJeN3RuaG7DZGWThtYRhk96+kEyZ/+doZpERuWbjeFL+Ok3vEat/swU498rAI0NcVt5/RJp8UDuLz7FckxrA==} + engines: {node: '>=18'} range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - raw-body@2.5.3: - resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} - engines: {node: '>= 0.8'} - raw-body@3.0.2: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} engines: {node: '>= 0.10'} @@ -5419,46 +4081,12 @@ packages: resolution: {integrity: sha512-fUeWjrkOO0t1rg7B2fdyDTvngj+9RlUyL92vOdiB7c0FPguWVsniIMjEtHH+meLBO9rzkUlUzBVXgWrjI8P9LA==} engines: {node: '>=12'} - rdf-canonize@5.0.0: - resolution: {integrity: sha512-g8OUrgMXAR9ys/ZuJVfBr05sPPoMA7nHIVs8VEvg9QwM5W4GR2qSFEEHjsyHF1eWlBaf8Ev40WNjQFQ+nJTO3w==} - engines: {node: '>=18'} - - react-devtools-core@6.1.5: - resolution: {integrity: sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==} - react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} react-is@19.2.7: resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==} - react-native-securerandom@0.1.1: - resolution: {integrity: sha512-CozcCx0lpBLevxiXEb86kwLRalBCHNjiGPlw3P7Fi27U6ZLdfjOCNRHD1LtBKcvPvI3TvkBXB3GOtLvqaYJLGw==} - peerDependencies: - react-native: '*' - - react-native@0.86.0: - resolution: {integrity: sha512-17ALh/dd6AO4pgOVmOO5Axll5PbErEo3XFyLokyzW6usyi+OShIEPwUW26wLPlhVifgSOIfECCH0WN+0IqtJ1w==} - engines: {node: ^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0} - hasBin: true - peerDependencies: - '@react-native/jest-preset': 0.86.0 - '@types/react': ^19.1.1 - react: ^19.2.3 - peerDependenciesMeta: - '@react-native/jest-preset': - optional: true - '@types/react': - optional: true - - react-refresh@0.14.2: - resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==} - engines: {node: '>=0.10.0'} - - react@19.2.7: - resolution: {integrity: sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==} - engines: {node: '>=0.10.0'} - readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -5467,15 +4095,6 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - ref-array-di@1.2.2: - resolution: {integrity: sha512-jhCmhqWa7kvCVrWhR/d7RemkppqPUdxEil1CtTtm7FkZV8LcHHCK3Or9GinUiFP5WY3k0djUkMvhBhx49Jb2iA==} - - ref-struct-di@1.1.1: - resolution: {integrity: sha512-2Xyn/0Qgz89VT+++WP0sTosdm9oeowLP23wRJYhG4BFdMUrLj3jhwHZNEytYNYgtPKLNTP3KJX4HEgBvM1/Y2g==} - - reflect-metadata@0.1.14: - resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} - reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} @@ -5483,31 +4102,10 @@ packages: resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} engines: {node: '>= 0.4'} - regenerate-unicode-properties@10.2.2: - resolution: {integrity: sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - regexpu-core@6.4.0: - resolution: {integrity: sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==} - engines: {node: '>=4'} - - regjsgen@0.8.0: - resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==} - - regjsparser@0.13.2: - resolution: {integrity: sha512-NgRBy2Nx/bE+9F27nVHnqcN5HjyLmecqsqx2PJHu3/IEtADD4WuxuXIVExD5PoSDFVrl78dOonfcOe5O+5nbzQ==} - hasBin: true - require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} @@ -5528,18 +4126,6 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve-workspace-root@2.0.1: - resolution: {integrity: sha512-nR23LHAvaI6aHtMg6RWoaHpdR4D881Nydkzi2CixINyg9T00KgaJdJI6Vwty+Ps8WLxZHuxsS0BseWjxSA4C+w==} - - resolve@1.22.12: - resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} - engines: {node: '>= 0.4'} - hasBin: true - - restore-cursor@2.0.0: - resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} - engines: {node: '>=4'} - restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -5548,10 +4134,6 @@ packages: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -5566,9 +4148,6 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} @@ -5593,13 +4172,6 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sax@1.6.0: - resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} - engines: {node: '>=11.0.0'} - - scheduler@0.27.0: - resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - schema-utils@3.3.0: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} @@ -5617,26 +4189,14 @@ packages: engines: {node: '>=10'} hasBin: true - send@0.19.2: - resolution: {integrity: sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==} - engines: {node: '>= 0.8.0'} - send@1.2.1: resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} engines: {node: '>= 18'} - serialize-error@2.1.0: - resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} - engines: {node: '>=0.10.0'} - serialize-error@8.1.0: resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} engines: {node: '>=10'} - serve-static@1.16.3: - resolution: {integrity: sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==} - engines: {node: '>= 0.8.0'} - serve-static@2.2.1: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} @@ -5675,10 +4235,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shell-quote@1.9.0: - resolution: {integrity: sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==} - engines: {node: '>= 0.4'} - side-channel-list@1.0.1: resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} engines: {node: '>= 0.4'} @@ -5708,20 +4264,10 @@ packages: simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - simple-plist@1.3.1: - resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slugify@1.6.9: - resolution: {integrity: sha512-vZ7rfeehZui7wQs438JXBckYLkIIdfHOXsaVEUMyS5fHo1483l1bMdo0EDSWYclY0yZKFOipDy4KHuKs6ssvdg==} - engines: {node: '>=8.0.0'} - smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -5734,20 +4280,12 @@ packages: resolution: {integrity: sha512-LJhUYUvItdQ0LkJTmPeaEObWXAqFyfmP85x0tch/ez9cahmhlBBLbIqDFnvBnUJGagb0JbIQrkBs1wJ+yRYpEw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -5760,9 +4298,9 @@ packages: resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} engines: {node: '>= 12'} - split-on-first@1.1.0: - resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} - engines: {node: '>=6'} + split-on-first@3.0.0: + resolution: {integrity: sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==} + engines: {node: '>=12'} sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -5782,23 +4320,12 @@ packages: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} - stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} - - stacktrace-parser@0.1.11: - resolution: {integrity: sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==} - engines: {node: '>=6'} - static-eval@2.0.2: resolution: {integrity: sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==} static-eval@2.1.1: resolution: {integrity: sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==} - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - statuses@2.0.2: resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} engines: {node: '>= 0.8'} @@ -5807,13 +4334,6 @@ packages: resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} engines: {node: '>= 0.4'} - str2buf@1.3.0: - resolution: {integrity: sha512-xIBmHIUHYZDP4HyoXGHYNVmxlXLXDrtFHYT0eV6IOdEj3VO9ccaF1Ejl9Oq8iFjITllpT8FhaXb4KsNmw+3EuA==} - - stream-buffers@2.2.0: - resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} - engines: {node: '>= 0.10.0'} - streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -5821,10 +4341,6 @@ packages: strict-event-emitter@0.5.1: resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} - strict-uri-encode@2.0.0: - resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} - engines: {node: '>=4'} - string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -5856,10 +4372,6 @@ packages: string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -5892,9 +4404,6 @@ packages: resolution: {integrity: sha512-ki4hZQfh5rX0QDLLkOCj+h+CVNkqmp/CMf8v8kZpkNVK6jGQooMytqzLZYUVYIZcFZ6yDB70EfD8POcFXiF5oA==} engines: {node: '>=18'} - structured-headers@0.4.1: - resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} - superagent@10.3.0: resolution: {integrity: sha512-B+4Ik7ROgVKrQsXTV0Jwp2u+PXYLSlqtDAhYnkkD+zn3yg8s/zjA2MeGayPoY/KICrbitwneDHrjSotxKL+0XQ==} engines: {node: '>=14.18.0'} @@ -5903,10 +4412,6 @@ packages: resolution: {integrity: sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==} engines: {node: '>=14.18.0'} - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -5915,14 +4420,6 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - swagger-ui-dist@5.32.8: resolution: {integrity: sha512-dgMdWXIgnI4zX4OPhKEdWnlDODbgm8W3AX0Ivn/BBqcUh6xZsBxhZMnvk6DJyRz1BTrj8dPxtarmEGgkz30oyA==} @@ -5956,9 +4453,9 @@ packages: engines: {node: '>=10'} deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} + tar@7.5.19: + resolution: {integrity: sha512-4LeEWl96twnS2Q7Bz4MGqgazLqO+hJN63GZxXoIqh1T3VweYD997gbU1ItNsQafqqXTXd5WFyFdReLtwvRBNiw==} + engines: {node: '>=18'} terser-webpack-plugin@5.6.1: resolution: {integrity: sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ==} @@ -6012,9 +4509,6 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - throat@5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} @@ -6041,9 +4535,6 @@ packages: resolution: {integrity: sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==} engines: {node: '>=14.16'} - toqr@0.1.1: - resolution: {integrity: sha512-FWAPzCIHZHnrE/5/w9MPk0kK25hSQSH2IKhYh9PyjS3SG/+IEMvlwIHbhz+oF7xl54I+ueZlVnMjyzdSwLmAwA==} - tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -6149,10 +4640,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - type-fest@4.41.0: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} @@ -6165,9 +4652,6 @@ packages: resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} engines: {node: '>= 18'} - type@2.7.3: - resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} engines: {node: '>= 0.4'} @@ -6280,30 +4764,10 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici@5.29.0: - resolution: {integrity: sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==} - engines: {node: '>=14.0'} - undici@6.27.0: resolution: {integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==} engines: {node: '>=18.17'} - unicode-canonical-property-names-ecmascript@2.0.1: - resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.2.1: - resolution: {integrity: sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.2.0: - resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} - engines: {node: '>=4'} - unique-filename@1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} @@ -6333,17 +4797,12 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - uuid@11.1.1: resolution: {integrity: sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==} hasBin: true - uuid@7.0.3: - resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} - deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + uuid@13.0.2: + resolution: {integrity: sha512-vzi9uRZ926x4XV73S/4qQaTwPXM2JBj6/6lI/byHH1jOpCzb0zDbfytgA9LcN/hzb2l7WQSQnxITOVx5un/wGw==} hasBin: true uuid@9.0.1: @@ -6358,9 +4817,13 @@ packages: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} - validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + valibot@1.2.0: + resolution: {integrity: sha512-mm1rxUsmOxzrwnX5arGS+U4T25RdvpPjPN4yR0u9pUBov9+zGVtO84tif1eY4r6zWxVxu3KzIyknJy3rxfRZZg==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true validator@13.15.35: resolution: {integrity: sha512-TQ5pAGhd5whStmqWvYF4OjQROlmv9SMFVt37qoCBdqRffuuklWYQlCNnEs2ZaIBD1kZRNnikiZOS1eqgkar0iw==} @@ -6373,9 +4836,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vlq@1.0.1: - resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} - walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} @@ -6389,19 +4849,9 @@ packages: web-did-resolver@2.0.32: resolution: {integrity: sha512-L91/ApTmDjgzS0UDstTKn3kN/1hlQBnVcUN8K29e3xhVBpPktHYC6uvVAQ8ohbIg9D6wrrbaBQvfRArDxgJG2g==} - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - - webcrypto-core@1.8.0: - resolution: {integrity: sha512-kR1UQNH8MD42CYuLzvibfakG5Ew5seG85dMMoAM/1LqvckxaF6pUiidLuraIu4V+YCIFabYecUZAW0TuxAoaqw==} - webcrypto-core@1.9.2: resolution: {integrity: sha512-gsXecm82UQNlTBURJGuqOWy1Ww08S3kZUcr3aOJS02Pk0xLtkfeUAVC0u0xhgdonFme80edSJUIJyuvL/7250Q==} - webcrypto-shim@0.1.7: - resolution: {integrity: sha512-JAvAQR5mRNRxZW2jKigWMjCMkjSdmP5cColRP1U/pTg69VgHXEi1orv5vVpJ55Zc5MIaPc1aaurzd9pjv2bveg==} - webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -6423,12 +4873,6 @@ packages: webpack-cli: optional: true - whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} - - whatwg-url-minimum@0.1.2: - resolution: {integrity: sha512-XPEm0XFQWNVG292lII1PrRRJl3sItrs7CettZ4ncYxuDVpLyy+NwlGyut2hXI0JswcJUxeCH+CyOJK0ZzAXD6A==} - whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -6486,18 +4930,6 @@ packages: resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ws@7.5.11: - resolution: {integrity: sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -6534,22 +4966,6 @@ packages: utf-8-validate: optional: true - xcode@3.0.1: - resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==} - engines: {node: '>=10.0.0'} - - xml2js@0.6.0: - resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==} - engines: {node: '>=4.0.0'} - - xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} - - xmlbuilder@15.1.1: - resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} - engines: {node: '>=8.0'} - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -6560,10 +4976,9 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.9.0: - resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==} - engines: {node: '>= 14.6'} - hasBin: true + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} @@ -6585,30 +5000,16 @@ packages: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} - zod@3.25.76: - resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - -snapshots: + zod-validation-error@5.0.0: + resolution: {integrity: sha512-hmk+pkyKq7Q71PiWVSDUc3VfpzpvcRHZ3QPw9yEMVvmtCekaMeOHnbr3WbxfrgEnQTv6haGP4cmv0Ojmihzsxw==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 - '@2060.io/ffi-napi@4.0.9': - dependencies: - '@2060.io/ref-napi': 3.0.6 - debug: 4.4.3 - get-uv-event-loop-napi-h: 1.0.6 - node-addon-api: 3.2.1 - node-gyp-build: 4.8.4 - ref-struct-di: 1.1.1 - transitivePeerDependencies: - - supports-color + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} - '@2060.io/ref-napi@3.0.6': - dependencies: - debug: 4.4.3 - get-symbol-from-current-process-h: 1.0.2 - node-addon-api: 3.2.1 - node-gyp-build: 4.8.4 - transitivePeerDependencies: - - supports-color +snapshots: '@adraffy/ens-normalize@1.9.2': {} @@ -6666,6 +5067,27 @@ snapshots: transitivePeerDependencies: - chokidar + '@animo-id/mdoc@0.5.2': + dependencies: + compare-versions: 6.1.1 + + '@animo-id/pex@6.1.1': + dependencies: + '@animo-id/mdoc': 0.5.2 + '@astronautlabs/jsonpath': 1.1.2 + '@sd-jwt/decode': 0.7.2 + '@sd-jwt/present': 0.7.2 + '@sd-jwt/types': 0.7.2 + '@sphereon/pex-models': 2.3.2 + '@sphereon/ssi-types': 0.33.0 + ajv: 8.20.0 + ajv-formats: 2.1.1(ajv@8.20.0) + jwt-decode: 3.1.2 + nanoid: 3.3.15 + uint8arrays: 3.1.1 + transitivePeerDependencies: + - supports-color + '@astronautlabs/jsonpath@1.1.2': dependencies: static-eval: 2.0.2 @@ -6706,11 +5128,6 @@ snapshots: '@jridgewell/trace-mapping': 0.3.31 jsesc: 3.1.0 - '@babel/helper-annotate-as-pure@7.29.7': - dependencies: - '@babel/types': 7.29.7 - optional: true - '@babel/helper-compilation-targets@7.29.7': dependencies: '@babel/compat-data': 7.29.7 @@ -6719,50 +5136,8 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7 - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/traverse': 7.29.7 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/helper-create-regexp-features-plugin@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - regexpu-core: 6.4.0 - semver: 6.3.1 - optional: true - - '@babel/helper-define-polyfill-provider@0.6.8(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - debug: 4.4.3 - lodash.debounce: 4.0.8 - resolve: 1.22.12 - transitivePeerDependencies: - - supports-color - optional: true - '@babel/helper-globals@7.29.7': {} - '@babel/helper-member-expression-to-functions@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - '@babel/helper-module-imports@7.29.7': dependencies: '@babel/traverse': 7.29.7 @@ -6779,56 +5154,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-optimise-call-expression@7.29.7': - dependencies: - '@babel/types': 7.29.7 - optional: true - '@babel/helper-plugin-utils@7.29.7': {} - '@babel/helper-remap-async-to-generator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-wrap-function': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/helper-replace-supers@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-member-expression-to-functions': 7.29.7 - '@babel/helper-optimise-call-expression': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/helper-skip-transparent-expression-wrappers@7.29.7': - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - '@babel/helper-string-parser@7.29.7': {} '@babel/helper-validator-identifier@7.29.7': {} '@babel/helper-validator-option@7.29.7': {} - '@babel/helper-wrap-function@7.29.7': - dependencies: - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - '@babel/helpers@7.29.7': dependencies: '@babel/template': 7.29.7 @@ -6838,28 +5171,6 @@ snapshots: dependencies: '@babel/types': 7.29.7 - '@babel/plugin-proposal-decorators@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-decorators': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-proposal-export-default-from@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7 @@ -6880,35 +5191,6 @@ snapshots: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-decorators@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-syntax-export-default-from@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-syntax-flow@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - '@babel/plugin-syntax-import-attributes@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7 @@ -6974,254 +5256,7 @@ snapshots: '@babel/core': 7.29.7 '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-async-generator-functions@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-async-to-generator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-remap-async-to-generator': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-block-scoping@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-class-properties@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-class-static-block@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-classes@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-globals': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-replace-supers': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-destructuring@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-export-namespace-from@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-flow-strip-types@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.7) - optional: true - - '@babel/plugin-transform-for-of@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-logical-assignment-operators@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-modules-commonjs@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-nullish-coalescing-operator@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-object-rest-spread@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-compilation-targets': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) - '@babel/traverse': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-optional-catch-binding@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-optional-chaining@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-parameters@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-private-methods@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-private-property-in-object@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-react-display-name@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-react-jsx-development@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/types': 7.29.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-react-pure-annotations@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/plugin-transform-runtime@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - babel-plugin-polyfill-corejs2: 0.4.17(@babel/core@7.29.7) - babel-plugin-polyfill-corejs3: 0.13.0(@babel/core@7.29.7) - babel-plugin-polyfill-regenerator: 0.6.8(@babel/core@7.29.7) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-typescript@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-annotate-as-pure': 7.29.7 - '@babel/helper-create-class-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.29.7 - '@babel/plugin-syntax-typescript': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/plugin-transform-unicode-regex@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-create-regexp-features-plugin': 7.29.7(@babel/core@7.29.7) - '@babel/helper-plugin-utils': 7.29.7 - optional: true - - '@babel/preset-typescript@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/helper-validator-option': 7.29.7 - '@babel/plugin-syntax-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - optional: true - - '@babel/runtime@7.29.7': - optional: true - - '@babel/template@7.29.7': + '@babel/template@7.29.7': dependencies: '@babel/code-frame': 7.29.7 '@babel/parser': 7.29.7 @@ -7248,262 +5283,155 @@ snapshots: '@borewit/text-codec@0.2.2': {} + '@cbor-extract/cbor-extract-darwin-arm64@2.2.2': + optional: true + + '@cbor-extract/cbor-extract-darwin-x64@2.2.2': + optional: true + + '@cbor-extract/cbor-extract-linux-arm64@2.2.2': + optional: true + + '@cbor-extract/cbor-extract-linux-arm@2.2.2': + optional: true + + '@cbor-extract/cbor-extract-linux-x64@2.2.2': + optional: true + + '@cbor-extract/cbor-extract-win32-x64@2.2.2': + optional: true + '@colors/colors@1.5.0': optional: true - '@credo-ts/askar@0.5.10(@hyperledger/aries-askar-shared@0.2.3)(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': + '@credo-ts/askar@0.7.0(@openwallet-foundation/askar-shared@0.6.0)(encoding@0.1.13)(typescript@5.9.3)': dependencies: - '@credo-ts/core': 0.5.10(patch_hash=ff7a58d2281423a25cc51c4e192f04dd47c0d907fd4e3bead89504a62196b2fb)(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - '@hyperledger/aries-askar-shared': 0.2.3 - bn.js: 5.2.4 + '@credo-ts/core': 0.7.0(patch_hash=e28244cdcb459e535cdc3b770b74564b5fec423be574786a5e81a637e8f71aa7)(encoding@0.1.13)(typescript@5.9.3) + '@openwallet-foundation/askar-shared': 0.6.0 class-transformer: 0.5.1 class-validator: 0.14.1 rxjs: 7.8.2 tsyringe: 4.10.0 transitivePeerDependencies: - - domexception - encoding - - expo - - react-native - supports-color - - web-streams-polyfill + - typescript - '@credo-ts/core@0.5.10(patch_hash=ff7a58d2281423a25cc51c4e192f04dd47c0d907fd4e3bead89504a62196b2fb)(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': + '@credo-ts/core@0.7.0(patch_hash=e28244cdcb459e535cdc3b770b74564b5fec423be574786a5e81a637e8f71aa7)(encoding@0.1.13)(typescript@5.9.3)': dependencies: - '@digitalcredentials/jsonld': 6.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - '@digitalcredentials/jsonld-signatures': 9.4.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - '@digitalcredentials/vc': 6.0.1(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) + '@animo-id/pex': 6.1.1 + '@astronautlabs/jsonpath': 1.1.2 + '@digitalcredentials/jsonld': 9.0.0 + '@digitalcredentials/jsonld-signatures': 12.0.1 + '@digitalcredentials/vc': 10.0.2 '@multiformats/base-x': 4.0.1 - '@noble/hashes': 1.8.0 + '@noble/curves': 2.2.0 + '@noble/hashes': 2.2.0 + '@owf/mdoc': 0.6.0 '@peculiar/asn1-ecc': 2.8.0 - '@peculiar/asn1-schema': 2.3.13 + '@peculiar/asn1-rsa': 2.8.0 + '@peculiar/asn1-schema': 2.8.0 '@peculiar/asn1-x509': 2.8.0 '@peculiar/x509': 1.14.3 - '@sd-jwt/core': 0.7.2 - '@sd-jwt/decode': 0.7.2 - '@sd-jwt/jwt-status-list': 0.7.2 - '@sd-jwt/sd-jwt-vc': 0.7.2 - '@sd-jwt/types': 0.7.2 - '@sd-jwt/utils': 0.7.2 - '@sphereon/pex': 3.3.3 + '@scure/base': 2.2.0 + '@sd-jwt/core': 0.19.0 + '@sd-jwt/decode': 0.19.0 + '@sd-jwt/jwt-status-list': 0.19.0 + '@sd-jwt/present': 0.19.0 + '@sd-jwt/sd-jwt-vc': 0.19.0 + '@sd-jwt/types': 0.19.0 + '@sd-jwt/utils': 0.19.0 '@sphereon/pex-models': 2.3.2 - '@sphereon/ssi-types': 0.28.0 - '@stablelib/ed25519': 1.0.3 + '@sphereon/ssi-types': 0.33.0 + '@stablelib/ed25519': 2.1.0 '@types/ws': 8.18.1 - abort-controller: 3.0.0 - big-integer: 1.6.52 - borc: 3.0.0 - buffer: 6.0.3 + '@verifiables/request-converter': 0.2.0(dcql@3.0.0(typescript@5.9.3)) class-transformer: 0.5.1 class-validator: 0.14.1 + dcql: 3.0.0(typescript@5.9.3) did-resolver: 4.1.0 - jsonpath: 1.3.0 + ec-compression: 0.0.1-alpha.12 lru_map: 0.4.1 - luxon: 3.7.2 make-error: 1.3.6 object-inspect: 1.13.4 - query-string: 7.1.3 - reflect-metadata: 0.1.14 + reflect-metadata: 0.2.2 rxjs: 7.8.2 tsyringe: 4.10.0 - uuid: 9.0.1 + uuid: 13.0.2 varint: 6.0.0 web-did-resolver: 2.0.32(encoding@0.1.13) - webcrypto-core: 1.8.0 + webcrypto-core: 1.9.2 + zod: 4.4.3 + transitivePeerDependencies: + - encoding + - supports-color + - typescript + + '@credo-ts/didcomm@0.7.0(encoding@0.1.13)(typescript@5.9.3)': + dependencies: + '@credo-ts/core': 0.7.0(patch_hash=e28244cdcb459e535cdc3b770b74564b5fec423be574786a5e81a637e8f71aa7)(encoding@0.1.13)(typescript@5.9.3) + class-transformer: 0.5.1 + class-validator: 0.14.1 + luxon: 3.7.2 + query-string: 9.4.1 + rxjs: 7.8.2 transitivePeerDependencies: - - domexception - encoding - - expo - - react-native - supports-color - - web-streams-polyfill + - typescript - '@credo-ts/node@0.5.10(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': + '@credo-ts/node@0.7.0(encoding@0.1.13)(typescript@5.9.3)': dependencies: - '@2060.io/ffi-napi': 4.0.9 - '@2060.io/ref-napi': 3.0.6 - '@credo-ts/core': 0.5.10(patch_hash=ff7a58d2281423a25cc51c4e192f04dd47c0d907fd4e3bead89504a62196b2fb)(encoding@0.1.13)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - '@types/express': 4.17.25 - express: 4.22.2 + '@credo-ts/core': 0.7.0(patch_hash=e28244cdcb459e535cdc3b770b74564b5fec423be574786a5e81a637e8f71aa7)(encoding@0.1.13)(typescript@5.9.3) + '@credo-ts/didcomm': 0.7.0(encoding@0.1.13)(typescript@5.9.3) + '@types/express': 5.0.6 + express: 5.2.1 + rxjs: 7.8.2 ws: 8.21.0 transitivePeerDependencies: - bufferutil - - domexception - encoding - - expo - - react-native - supports-color + - typescript - utf-8-validate - - web-streams-polyfill '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@digitalbazaar/bitstring@3.1.0': - dependencies: - base64url-universal: 2.0.0 - pako: 2.2.0 + '@digitalbazaar/security-context@1.0.1': {} - '@digitalbazaar/http-client@3.4.1(web-streams-polyfill@3.3.3)': - dependencies: - ky: 0.33.3 - ky-universal: 0.11.0(ky@0.33.3)(web-streams-polyfill@3.3.3) - undici: 5.29.0 - transitivePeerDependencies: - - web-streams-polyfill + '@digitalcredentials/credentials-v2-context@0.0.1-beta.0': {} - '@digitalbazaar/http-client@4.3.0': + '@digitalcredentials/http-client@5.0.4': dependencies: ky: 1.14.3 undici: 6.27.0 - '@digitalbazaar/security-context@1.0.1': {} - - '@digitalbazaar/vc-status-list-context@3.1.1': {} - - '@digitalbazaar/vc-status-list@7.1.0(web-streams-polyfill@3.3.3)': - dependencies: - '@digitalbazaar/bitstring': 3.1.0 - '@digitalbazaar/vc': 5.0.0(web-streams-polyfill@3.3.3) - '@digitalbazaar/vc-status-list-context': 3.1.1 - credentials-context: 2.0.0 - transitivePeerDependencies: - - web-streams-polyfill - - '@digitalbazaar/vc@5.0.0(web-streams-polyfill@3.3.3)': - dependencies: - credentials-context: 2.0.0 - jsonld: 8.3.3(web-streams-polyfill@3.3.3) - jsonld-signatures: 11.6.0 - transitivePeerDependencies: - - web-streams-polyfill - - '@digitalcredentials/base58-universal@1.0.1': {} - - '@digitalcredentials/base64url-universal@2.0.6': - dependencies: - base64url: 3.0.1 - - '@digitalcredentials/bitstring@2.0.1': - dependencies: - '@digitalcredentials/base64url-universal': 2.0.6 - pako: 2.2.0 - - '@digitalcredentials/ed25519-signature-2020@3.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': - dependencies: - '@digitalcredentials/base58-universal': 1.0.1 - '@digitalcredentials/ed25519-verification-key-2020': 3.2.2 - '@digitalcredentials/jsonld-signatures': 9.4.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - ed25519-signature-2018-context: 1.1.0 - ed25519-signature-2020-context: 1.1.0 - transitivePeerDependencies: - - domexception - - expo - - react-native - - web-streams-polyfill - - '@digitalcredentials/ed25519-verification-key-2020@3.2.2': - dependencies: - '@digitalcredentials/base58-universal': 1.0.1 - '@stablelib/ed25519': 1.0.3 - base64url-universal: 1.1.0 - crypto-ld: 6.0.0 - - '@digitalcredentials/http-client@1.2.2(web-streams-polyfill@3.3.3)': - dependencies: - ky: 0.25.1 - ky-universal: 0.8.2(ky@0.25.1)(web-streams-polyfill@3.3.3) - transitivePeerDependencies: - - domexception - - web-streams-polyfill - - '@digitalcredentials/jsonld-signatures@9.4.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': + '@digitalcredentials/jsonld-signatures@12.0.1': dependencies: '@digitalbazaar/security-context': 1.0.1 - '@digitalcredentials/jsonld': 6.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) + '@digitalcredentials/jsonld': 9.0.0 fast-text-encoding: 1.0.6 - isomorphic-webcrypto: 2.3.8(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - serialize-error: 8.1.0 - transitivePeerDependencies: - - domexception - - expo - - react-native - - web-streams-polyfill - - '@digitalcredentials/jsonld@5.2.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': - dependencies: - '@digitalcredentials/http-client': 1.2.2(web-streams-polyfill@3.3.3) - '@digitalcredentials/rdf-canonize': 1.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - canonicalize: 1.0.8 - lru-cache: 6.0.0 - transitivePeerDependencies: - - domexception - - expo - - react-native - - web-streams-polyfill - - '@digitalcredentials/jsonld@6.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': - dependencies: - '@digitalcredentials/http-client': 1.2.2(web-streams-polyfill@3.3.3) - '@digitalcredentials/rdf-canonize': 1.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - canonicalize: 1.0.8 - lru-cache: 6.0.0 - transitivePeerDependencies: - - domexception - - expo - - react-native - - web-streams-polyfill - - '@digitalcredentials/open-badges-context@2.1.0': {} - - '@digitalcredentials/rdf-canonize@1.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))': - dependencies: - fast-text-encoding: 1.0.6 - isomorphic-webcrypto: 2.3.8(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - transitivePeerDependencies: - - expo - - react-native - - '@digitalcredentials/vc-status-list@5.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': - dependencies: - '@digitalbazaar/vc-status-list-context': 3.1.1 - '@digitalcredentials/bitstring': 2.0.1 - '@digitalcredentials/vc': 4.2.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - credentials-context: 2.0.0 - transitivePeerDependencies: - - domexception - - expo - - react-native - - web-streams-polyfill + serialize-error: 8.1.0 - '@digitalcredentials/vc@4.2.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': + '@digitalcredentials/jsonld@9.0.0': dependencies: - '@digitalcredentials/jsonld': 5.2.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - '@digitalcredentials/jsonld-signatures': 9.4.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - credentials-context: 2.0.0 - transitivePeerDependencies: - - domexception - - expo - - react-native - - web-streams-polyfill + '@digitalcredentials/http-client': 5.0.4 + canonicalize: 1.0.8 + lru-cache: 6.0.0 + rdf-canonize: 3.4.0 + + '@digitalcredentials/open-badges-context@2.1.0': {} - '@digitalcredentials/vc@6.0.1(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3)': + '@digitalcredentials/vc@10.0.2': dependencies: - '@digitalbazaar/vc-status-list': 7.1.0(web-streams-polyfill@3.3.3) - '@digitalcredentials/ed25519-signature-2020': 3.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - '@digitalcredentials/jsonld': 6.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) - '@digitalcredentials/jsonld-signatures': 9.4.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) + '@digitalcredentials/credentials-v2-context': 0.0.1-beta.0 + '@digitalcredentials/jsonld': 9.0.0 + '@digitalcredentials/jsonld-signatures': 12.0.1 '@digitalcredentials/open-badges-context': 2.1.0 - '@digitalcredentials/vc-status-list': 5.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(web-streams-polyfill@3.3.3) credentials-context: 2.0.0 - fix-esm: 1.0.1 - transitivePeerDependencies: - - domexception - - expo - - react-native - - supports-color - - web-streams-polyfill + ed25519-signature-2018-context: 1.1.0 '@emnapi/core@1.10.0': dependencies: @@ -7521,6 +5449,8 @@ snapshots: tslib: 2.8.1 optional: true + '@epic-web/invariant@1.0.0': {} + '@eslint-community/eslint-utils@4.9.1(eslint@10.6.0)': dependencies: eslint: 10.6.0 @@ -7733,384 +5663,6 @@ snapshots: '@ethersproject/properties': 5.8.0 '@ethersproject/strings': 5.8.0 - '@expo/cli@57.0.3(@expo/dom-webview@57.0.0)(expo-constants@57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)))(expo-font@57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7))(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3)': - dependencies: - '@expo/code-signing-certificates': 0.0.6 - '@expo/config': 57.0.1(typescript@5.9.3) - '@expo/config-plugins': 57.0.1(typescript@5.9.3) - '@expo/devcert': 1.2.1 - '@expo/env': 2.4.0 - '@expo/image-utils': 0.11.0(typescript@5.9.3) - '@expo/inline-modules': 0.1.1(typescript@5.9.3) - '@expo/json-file': 11.0.0 - '@expo/log-box': 57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - '@expo/metro': 56.0.0 - '@expo/metro-config': 57.0.2(expo@57.0.1)(typescript@5.9.3) - '@expo/metro-file-map': 57.0.0 - '@expo/osascript': 2.7.0 - '@expo/package-manager': 1.13.0 - '@expo/plist': 0.8.0 - '@expo/prebuild-config': 57.0.3(typescript@5.9.3) - '@expo/require-utils': 57.0.0(typescript@5.9.3) - '@expo/router-server': 57.0.1(expo-constants@57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)))(expo-font@57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7))(expo-server@57.0.0)(expo@57.0.1)(react@19.2.7) - '@expo/schema-utils': 57.0.0 - '@expo/spawn-async': 1.8.0 - '@expo/ws-tunnel': 2.0.0(ws@8.21.0) - '@expo/xcpretty': 4.4.4 - '@react-native/dev-middleware': 0.86.0 - accepts: 1.3.8 - arg: 5.0.2 - bplist-creator: 0.1.0 - bplist-parser: 0.3.2 - chalk: 4.1.2 - ci-info: 3.9.0 - compression: 1.8.1 - connect: 3.7.0 - debug: 4.4.3 - dnssd-advertise: 1.1.6 - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - expo-server: 57.0.0 - fetch-nodeshim: 0.4.10 - getenv: 2.0.0 - glob: 13.0.6 - lan-network: 0.2.1 - multitars: 1.0.0 - node-forge: 1.4.0 - npm-package-arg: 11.0.3 - ora: 3.4.0 - picomatch: 4.0.4 - pretty-format: 29.7.0 - progress: 2.0.3 - prompts: 2.4.2 - resolve-from: 5.0.0 - semver: 7.8.5 - send: 0.19.2 - slugify: 1.6.9 - stacktrace-parser: 0.1.11 - structured-headers: 0.4.1 - terminal-link: 2.1.1 - toqr: 0.1.1 - wrap-ansi: 7.0.0 - ws: 8.21.0 - zod: 3.25.76 - optionalDependencies: - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - transitivePeerDependencies: - - '@expo/dom-webview' - - '@expo/metro-runtime' - - bufferutil - - expo-constants - - expo-font - - react - - react-dom - - react-server-dom-webpack - - supports-color - - typescript - - utf-8-validate - optional: true - - '@expo/code-signing-certificates@0.0.6': - dependencies: - node-forge: 1.4.0 - optional: true - - '@expo/config-plugins@57.0.1(typescript@5.9.3)': - dependencies: - '@expo/config-types': 57.0.1 - '@expo/json-file': 11.0.0 - '@expo/plist': 0.8.0 - '@expo/require-utils': 57.0.0(typescript@5.9.3) - '@expo/sdk-runtime-versions': 1.0.0 - chalk: 4.1.2 - debug: 4.4.3 - getenv: 2.0.0 - glob: 13.0.6 - semver: 7.8.5 - slugify: 1.6.9 - xcode: 3.0.1 - xml2js: 0.6.0 - transitivePeerDependencies: - - supports-color - - typescript - optional: true - - '@expo/config-types@57.0.1': - optional: true - - '@expo/config@57.0.1(typescript@5.9.3)': - dependencies: - '@expo/config-plugins': 57.0.1(typescript@5.9.3) - '@expo/config-types': 57.0.1 - '@expo/json-file': 11.0.0 - '@expo/require-utils': 57.0.0(typescript@5.9.3) - deepmerge: 4.3.1 - getenv: 2.0.0 - glob: 13.0.6 - resolve-workspace-root: 2.0.1 - semver: 7.8.5 - slugify: 1.6.9 - transitivePeerDependencies: - - supports-color - - typescript - optional: true - - '@expo/devcert@1.2.1': - dependencies: - '@expo/sudo-prompt': 9.3.2 - debug: 3.2.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@expo/devtools@57.0.0(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)': - dependencies: - chalk: 4.1.2 - optionalDependencies: - react: 19.2.7 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - optional: true - - '@expo/dom-webview@57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)': - dependencies: - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - react: 19.2.7 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - optional: true - - '@expo/env@2.4.0': - dependencies: - chalk: 4.1.2 - debug: 4.4.3 - getenv: 2.0.0 - transitivePeerDependencies: - - supports-color - optional: true - - '@expo/expo-modules-macros-plugin@0.3.0': - optional: true - - '@expo/fingerprint@0.20.1': - dependencies: - '@expo/env': 2.4.0 - '@expo/spawn-async': 1.8.0 - arg: 5.0.2 - chalk: 4.1.2 - debug: 4.4.3 - getenv: 2.0.0 - glob: 13.0.6 - ignore: 5.3.2 - minimatch: 10.2.5 - resolve-from: 5.0.0 - semver: 7.8.5 - transitivePeerDependencies: - - supports-color - optional: true - - '@expo/image-utils@0.11.0(typescript@5.9.3)': - dependencies: - '@expo/require-utils': 57.0.0(typescript@5.9.3) - '@expo/spawn-async': 1.8.0 - chalk: 4.1.2 - getenv: 2.0.0 - jimp-compact: 0.16.1 - parse-png: 2.1.0 - semver: 7.8.5 - transitivePeerDependencies: - - supports-color - - typescript - optional: true - - '@expo/inline-modules@0.1.1(typescript@5.9.3)': - dependencies: - '@expo/config-plugins': 57.0.1(typescript@5.9.3) - transitivePeerDependencies: - - supports-color - - typescript - optional: true - - '@expo/json-file@11.0.0': - dependencies: - '@babel/code-frame': 7.29.7 - json5: 2.2.3 - optional: true - - '@expo/local-build-cache-provider@57.0.1(typescript@5.9.3)': - dependencies: - '@expo/config': 57.0.1(typescript@5.9.3) - chalk: 4.1.2 - transitivePeerDependencies: - - supports-color - - typescript - optional: true - - '@expo/log-box@57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)': - dependencies: - '@expo/dom-webview': 57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - anser: 1.4.10 - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - react: 19.2.7 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - stacktrace-parser: 0.1.11 - optional: true - - '@expo/metro-config@57.0.2(expo@57.0.1)(typescript@5.9.3)': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@expo/config': 57.0.1(typescript@5.9.3) - '@expo/env': 2.4.0 - '@expo/json-file': 11.0.0 - '@expo/metro': 56.0.0 - '@expo/require-utils': 57.0.0(typescript@5.9.3) - '@expo/spawn-async': 1.8.0 - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/remapping': 2.3.5 - '@jridgewell/sourcemap-codec': 1.5.5 - browserslist: 4.28.4 - chalk: 4.1.2 - debug: 4.4.3 - getenv: 2.0.0 - glob: 13.0.6 - hermes-parser: 0.36.1 - jsc-safe-url: 0.2.4 - lightningcss: 1.32.0 - picomatch: 4.0.4 - postcss: 8.5.16 - resolve-from: 5.0.0 - optionalDependencies: - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - transitivePeerDependencies: - - bufferutil - - supports-color - - typescript - - utf-8-validate - optional: true - - '@expo/metro-file-map@57.0.0': - dependencies: - debug: 4.4.3 - fb-watchman: 2.0.2 - invariant: 2.2.4 - jest-worker: 29.7.0 - micromatch: 4.0.8 - walker: 1.0.8 - transitivePeerDependencies: - - supports-color - optional: true - - '@expo/metro@56.0.0': - dependencies: - metro: 0.84.4 - metro-babel-transformer: 0.84.4 - metro-cache: 0.84.4 - metro-cache-key: 0.84.4 - metro-config: 0.84.4 - metro-core: 0.84.4 - metro-file-map: 0.84.4 - metro-minify-terser: 0.84.4 - metro-resolver: 0.84.4 - metro-runtime: 0.84.4 - metro-source-map: 0.84.4 - metro-symbolicate: 0.84.4 - metro-transform-plugins: 0.84.4 - metro-transform-worker: 0.84.4 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - - '@expo/osascript@2.7.0': - dependencies: - '@expo/spawn-async': 1.8.0 - optional: true - - '@expo/package-manager@1.13.0': - dependencies: - '@expo/json-file': 11.0.0 - '@expo/spawn-async': 1.8.0 - chalk: 4.1.2 - npm-package-arg: 11.0.3 - ora: 3.4.0 - resolve-workspace-root: 2.0.1 - optional: true - - '@expo/plist@0.8.0': - dependencies: - '@xmldom/xmldom': 0.8.13 - base64-js: 1.5.1 - xmlbuilder: 15.1.1 - optional: true - - '@expo/prebuild-config@57.0.3(typescript@5.9.3)': - dependencies: - '@expo/config': 57.0.1(typescript@5.9.3) - '@expo/config-plugins': 57.0.1(typescript@5.9.3) - '@expo/config-types': 57.0.1 - '@expo/image-utils': 0.11.0(typescript@5.9.3) - '@expo/json-file': 11.0.0 - '@react-native/normalize-colors': 0.86.0 - debug: 4.4.3 - expo-modules-autolinking: 57.0.3(typescript@5.9.3) - resolve-from: 5.0.0 - semver: 7.8.5 - transitivePeerDependencies: - - supports-color - - typescript - optional: true - - '@expo/require-utils@57.0.0(typescript@5.9.3)': - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/core': 7.29.7 - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - optionalDependencies: - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - optional: true - - '@expo/router-server@57.0.1(expo-constants@57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)))(expo-font@57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7))(expo-server@57.0.0)(expo@57.0.1)(react@19.2.7)': - dependencies: - debug: 4.4.3 - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - expo-constants: 57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - expo-font: 57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - expo-server: 57.0.0 - react: 19.2.7 - transitivePeerDependencies: - - supports-color - optional: true - - '@expo/schema-utils@57.0.0': - optional: true - - '@expo/sdk-runtime-versions@1.0.0': - optional: true - - '@expo/spawn-async@1.8.0': - dependencies: - cross-spawn: 7.0.6 - optional: true - - '@expo/sudo-prompt@9.3.2': - optional: true - - '@expo/ws-tunnel@2.0.0(ws@8.21.0)': - dependencies: - ws: 8.21.0 - optional: true - - '@expo/xcpretty@4.4.4': - dependencies: - '@babel/code-frame': 7.29.7 - chalk: 4.1.2 - js-yaml: 4.3.0 - optional: true - - '@fastify/busboy@2.1.1': {} - '@gar/promisify@1.1.3': optional: true @@ -8136,22 +5688,6 @@ snapshots: '@humanwhocodes/retry@0.4.3': {} - '@hyperledger/aries-askar-nodejs@0.2.3(encoding@0.1.13)': - dependencies: - '@2060.io/ffi-napi': 4.0.9 - '@2060.io/ref-napi': 3.0.6 - '@hyperledger/aries-askar-shared': 0.2.3 - '@mapbox/node-pre-gyp': 1.0.11(encoding@0.1.13) - ref-array-di: 1.2.2 - ref-struct-di: 1.1.1 - transitivePeerDependencies: - - encoding - - supports-color - - '@hyperledger/aries-askar-shared@0.2.3': - dependencies: - buffer: 6.0.3 - '@inquirer/ansi@1.0.2': {} '@inquirer/checkbox@4.3.2(@types/node@24.13.2)': @@ -8301,8 +5837,9 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/ttlcache@1.4.1': - optional: true + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.3 '@istanbuljs/load-nyc-config@1.1.0': dependencies: @@ -8554,22 +6091,13 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@lukeed/csprng@1.1.0': {} + '@js-joda/core@5.6.3': {} - '@mapbox/node-pre-gyp@1.0.11(encoding@0.1.13)': + '@js-joda/timezone@2.3.0(@js-joda/core@5.6.3)': dependencies: - detect-libc: 2.1.2 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.7.0(encoding@0.1.13) - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 - semver: 7.8.5 - tar: 6.2.1 - transitivePeerDependencies: - - encoding - - supports-color + '@js-joda/core': 5.6.3 + + '@lukeed/csprng@1.1.0': {} '@microsoft/tsdoc@0.16.0': {} @@ -8741,26 +6269,19 @@ snapshots: rxjs: 7.8.2 typeorm: 0.3.30(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@24.13.2)(typescript@5.9.3)) - '@noble/hashes@1.1.2': {} + '@noble/curves@2.2.0': + dependencies: + '@noble/hashes': 2.2.0 - '@noble/hashes@1.8.0': {} + '@noble/hashes@1.1.2': {} - '@noble/secp256k1@1.7.1': {} + '@noble/hashes@1.6.1': {} - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - optional: true + '@noble/hashes@1.8.0': {} - '@nodelib/fs.stat@2.0.5': - optional: true + '@noble/hashes@2.2.0': {} - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.1 - optional: true + '@noble/secp256k1@1.7.1': {} '@npmcli/fs@1.1.1': dependencies: @@ -8783,6 +6304,22 @@ snapshots: '@open-draft/until@2.1.0': {} + '@openwallet-foundation/askar-nodejs@0.6.0': + dependencies: + '@openwallet-foundation/askar-shared': 0.6.0 + koffi: 2.16.2 + + '@openwallet-foundation/askar-shared@0.6.0': + dependencies: + buffer: 6.0.3 + tar: 7.5.19 + + '@owf/mdoc@0.6.0': + dependencies: + cbor-x: 1.6.4 + zod: 4.4.3 + zod-validation-error: 5.0.0(zod@4.4.3) + '@paralleldrive/cuid2@2.3.1': dependencies: '@noble/hashes': 1.8.0 @@ -8843,12 +6380,6 @@ snapshots: asn1js: 3.0.10 tslib: 2.8.1 - '@peculiar/asn1-schema@2.3.13': - dependencies: - asn1js: 3.0.10 - pvtsutils: 1.3.6 - tslib: 2.8.1 - '@peculiar/asn1-schema@2.8.0': dependencies: '@peculiar/utils': 2.0.3 @@ -8877,14 +6408,6 @@ snapshots: dependencies: tslib: 2.8.1 - '@peculiar/webcrypto@1.7.1': - dependencies: - '@peculiar/asn1-schema': 2.8.0 - '@peculiar/json-schema': 1.1.12 - '@peculiar/utils': 2.0.3 - tslib: 2.8.1 - webcrypto-core: 1.9.2 - '@peculiar/x509@1.14.3': dependencies: '@peculiar/asn1-cms': 2.8.0 @@ -8906,123 +6429,43 @@ snapshots: '@pkgr/core@0.3.6': {} - '@react-native/assets-registry@0.86.0': - optional: true - - '@react-native/babel-plugin-codegen@0.86.0(@babel/core@7.29.7)': - dependencies: - '@babel/traverse': 7.29.7 - '@react-native/codegen': 0.86.0(@babel/core@7.29.7) - transitivePeerDependencies: - - '@babel/core' - - supports-color - optional: true - - '@react-native/codegen@0.86.0(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/parser': 7.29.7 - hermes-parser: 0.36.0 - invariant: 2.2.4 - nullthrows: 1.1.1 - tinyglobby: 0.2.17 - yargs: 17.7.3 - optional: true - - '@react-native/community-cli-plugin@0.86.0': - dependencies: - '@react-native/dev-middleware': 0.86.0 - debug: 4.4.3 - invariant: 2.2.4 - metro: 0.84.4 - metro-config: 0.84.4 - metro-core: 0.84.4 - semver: 7.8.5 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - - '@react-native/debugger-frontend@0.86.0': - optional: true + '@scarf/scarf@1.4.0': {} - '@react-native/debugger-shell@0.86.0': - dependencies: - cross-spawn: 7.0.6 - debug: 4.4.3 - fb-dotslash: 0.5.8 - transitivePeerDependencies: - - supports-color - optional: true + '@scure/base@2.2.0': {} - '@react-native/dev-middleware@0.86.0': + '@sd-jwt/core@0.19.0': dependencies: - '@isaacs/ttlcache': 1.4.1 - '@react-native/debugger-frontend': 0.86.0 - '@react-native/debugger-shell': 0.86.0 - chrome-launcher: 0.15.2 - chromium-edge-launcher: 0.3.0 - connect: 3.7.0 - debug: 4.4.3 - invariant: 2.2.4 - nullthrows: 1.1.1 - open: 7.4.2 - serve-static: 1.16.3 - ws: 7.5.11 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - - '@react-native/gradle-plugin@0.86.0': - optional: true + '@sd-jwt/decode': 0.19.0 + '@sd-jwt/present': 0.19.0 + '@sd-jwt/types': 0.19.0 + '@sd-jwt/utils': 0.19.0 - '@react-native/js-polyfills@0.86.0': - optional: true - - '@react-native/normalize-colors@0.86.0': - optional: true - - '@react-native/virtualized-lists@0.86.0(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)': + '@sd-jwt/decode@0.19.0': dependencies: - invariant: 2.2.4 - nullthrows: 1.1.1 - react: 19.2.7 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - optional: true - - '@scarf/scarf@1.4.0': {} + '@sd-jwt/types': 0.19.0 + '@sd-jwt/utils': 0.19.0 - '@sd-jwt/core@0.7.2': + '@sd-jwt/decode@0.7.2': dependencies: - '@sd-jwt/decode': 0.7.2 - '@sd-jwt/present': 0.7.2 '@sd-jwt/types': 0.7.2 '@sd-jwt/utils': 0.7.2 - '@sd-jwt/decode@0.6.1': - dependencies: - '@sd-jwt/types': 0.6.1 - '@sd-jwt/utils': 0.6.1 - - '@sd-jwt/decode@0.7.2': + '@sd-jwt/decode@0.9.2': dependencies: - '@sd-jwt/types': 0.7.2 - '@sd-jwt/utils': 0.7.2 + '@sd-jwt/types': 0.9.2 + '@sd-jwt/utils': 0.9.2 - '@sd-jwt/jwt-status-list@0.7.2': + '@sd-jwt/jwt-status-list@0.19.0': dependencies: - '@sd-jwt/types': 0.7.2 - base64url: 3.0.1 + '@sd-jwt/types': 0.19.0 + '@sd-jwt/utils': 0.19.0 pako: 2.2.0 - '@sd-jwt/present@0.6.1': + '@sd-jwt/present@0.19.0': dependencies: - '@sd-jwt/decode': 0.6.1 - '@sd-jwt/types': 0.6.1 - '@sd-jwt/utils': 0.6.1 + '@sd-jwt/decode': 0.19.0 + '@sd-jwt/types': 0.19.0 + '@sd-jwt/utils': 0.19.0 '@sd-jwt/present@0.7.2': dependencies: @@ -9030,19 +6473,22 @@ snapshots: '@sd-jwt/types': 0.7.2 '@sd-jwt/utils': 0.7.2 - '@sd-jwt/sd-jwt-vc@0.7.2': + '@sd-jwt/sd-jwt-vc@0.19.0': dependencies: - '@sd-jwt/core': 0.7.2 - '@sd-jwt/jwt-status-list': 0.7.2 - '@sd-jwt/utils': 0.7.2 + '@sd-jwt/core': 0.19.0 + '@sd-jwt/jwt-status-list': 0.19.0 + '@sd-jwt/utils': 0.19.0 + zod: 4.4.3 - '@sd-jwt/types@0.6.1': {} + '@sd-jwt/types@0.19.0': {} '@sd-jwt/types@0.7.2': {} - '@sd-jwt/utils@0.6.1': + '@sd-jwt/types@0.9.2': {} + + '@sd-jwt/utils@0.19.0': dependencies: - '@sd-jwt/types': 0.6.1 + '@sd-jwt/types': 0.19.0 js-base64: 3.8.0 '@sd-jwt/utils@0.7.2': @@ -9050,6 +6496,11 @@ snapshots: '@sd-jwt/types': 0.7.2 js-base64: 3.8.0 + '@sd-jwt/utils@0.9.2': + dependencies: + '@sd-jwt/types': 0.9.2 + js-base64: 3.8.0 + '@sideway/address@4.1.5': dependencies: '@hapi/hoek': 9.3.0 @@ -9070,7 +6521,11 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@sovpro/delimited-stream@1.1.0': {} + '@sphereon/kmp-mdoc-core@0.2.0-SNAPSHOT.26': + dependencies: + '@js-joda/core': 5.6.3 + '@js-joda/timezone': 2.3.0(@js-joda/core@5.6.3) + format-util: 1.0.5 '@sphereon/pex-models@1.2.2': {} @@ -9088,32 +6543,15 @@ snapshots: nanoid: 3.3.15 string.prototype.matchall: 4.0.12 - '@sphereon/pex@3.3.3': - dependencies: - '@astronautlabs/jsonpath': 1.1.2 - '@sd-jwt/decode': 0.6.1 - '@sd-jwt/present': 0.6.1 - '@sd-jwt/types': 0.6.1 - '@sphereon/pex-models': 2.3.2 - '@sphereon/ssi-types': 0.22.0 - ajv: 8.20.0 - ajv-formats: 2.1.1(ajv@8.20.0) - jwt-decode: 3.1.2 - nanoid: 3.3.15 - string.prototype.matchall: 4.0.12 - uint8arrays: 3.1.1 - - '@sphereon/ssi-types@0.22.0': - dependencies: - '@sd-jwt/decode': 0.6.1 - jwt-decode: 3.1.2 - - '@sphereon/ssi-types@0.28.0': + '@sphereon/ssi-types@0.33.0': dependencies: - '@sd-jwt/decode': 0.6.1 + '@noble/hashes': 1.6.1 + '@sd-jwt/decode': 0.9.2 + '@sphereon/kmp-mdoc-core': 0.2.0-SNAPSHOT.26 debug: 4.4.3 events: 3.3.0 - jwt-decode: 3.1.2 + jwt-decode: 4.0.0 + uint8arrays: 3.1.1 transitivePeerDependencies: - supports-color @@ -9121,32 +6559,32 @@ snapshots: '@sqltools/formatter@1.2.5': {} - '@stablelib/binary@1.0.1': + '@stablelib/binary@2.0.1': dependencies: - '@stablelib/int': 1.0.1 + '@stablelib/int': 2.0.1 - '@stablelib/ed25519@1.0.3': + '@stablelib/ed25519@2.1.0': dependencies: - '@stablelib/random': 1.0.2 - '@stablelib/sha512': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@stablelib/random': 2.0.1 + '@stablelib/sha512': 2.0.1 + '@stablelib/wipe': 2.0.1 - '@stablelib/hash@1.0.1': {} + '@stablelib/hash@2.0.0': {} - '@stablelib/int@1.0.1': {} + '@stablelib/int@2.0.1': {} - '@stablelib/random@1.0.2': + '@stablelib/random@2.0.1': dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@stablelib/binary': 2.0.1 + '@stablelib/wipe': 2.0.1 - '@stablelib/sha512@1.0.1': + '@stablelib/sha512@2.0.1': dependencies: - '@stablelib/binary': 1.0.1 - '@stablelib/hash': 1.0.1 - '@stablelib/wipe': 1.0.1 + '@stablelib/binary': 2.0.1 + '@stablelib/hash': 2.0.0 + '@stablelib/wipe': 2.0.1 - '@stablelib/wipe@1.0.1': {} + '@stablelib/wipe@2.0.1': {} '@tokenizer/inflate@0.4.1': dependencies: @@ -9225,13 +6663,6 @@ snapshots: '@types/estree@1.0.9': {} - '@types/express-serve-static-core@4.19.8': - dependencies: - '@types/node': 24.13.2 - '@types/qs': 6.15.1 - '@types/range-parser': 1.2.7 - '@types/send': 1.2.1 - '@types/express-serve-static-core@5.1.1': dependencies: '@types/node': 24.13.2 @@ -9239,13 +6670,6 @@ snapshots: '@types/range-parser': 1.2.7 '@types/send': 1.2.1 - '@types/express@4.17.25': - dependencies: - '@types/body-parser': 1.19.6 - '@types/express-serve-static-core': 4.19.8 - '@types/qs': 6.15.1 - '@types/serve-static': 1.15.10 - '@types/express@5.0.6': dependencies: '@types/body-parser': 1.19.6 @@ -9277,8 +6701,6 @@ snapshots: '@types/methods@1.1.4': {} - '@types/mime@1.3.5': {} - '@types/node@18.15.13': {} '@types/node@24.13.2': @@ -9289,21 +6711,10 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/send@0.17.6': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 24.13.2 - '@types/send@1.2.1': dependencies: '@types/node': 24.13.2 - '@types/serve-static@1.15.10': - dependencies: - '@types/http-errors': 2.0.5 - '@types/node': 24.13.2 - '@types/send': 0.17.6 - '@types/serve-static@2.2.0': dependencies: '@types/http-errors': 2.0.5 @@ -9428,17 +6839,6 @@ snapshots: '@ungap/structured-clone@1.3.2': {} - '@unimodules/core@7.1.2': - dependencies: - compare-versions: 3.6.0 - optional: true - - '@unimodules/react-native-adapter@6.3.9': - dependencies: - expo-modules-autolinking: 0.0.3 - invariant: 2.2.4 - optional: true - '@unrs/resolver-binding-android-arm-eabi@1.12.2': optional: true @@ -9509,6 +6909,10 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.12.2': optional: true + '@verifiables/request-converter@0.2.0(dcql@3.0.0(typescript@5.9.3))': + optionalDependencies: + dcql: 3.0.0(typescript@5.9.3) + '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 @@ -9585,26 +6989,12 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@xmldom/xmldom@0.8.13': - optional: true - - '@xmldom/xmldom@0.9.10': - optional: true - '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} - abbrev@1.1.1: {} - - abort-controller@3.0.0: - dependencies: - event-target-shim: 5.0.1 - - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 + abbrev@1.1.1: + optional: true accepts@2.0.0: dependencies: @@ -9633,9 +7023,6 @@ snapshots: transitivePeerDependencies: - supports-color - agent-base@7.1.4: - optional: true - agentkeepalive@4.6.0: dependencies: humanize-ms: 1.2.1 @@ -9685,27 +7072,16 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - anser@1.4.10: - optional: true - ansi-colors@4.1.3: {} ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - ansi-regex@4.1.1: - optional: true - ansi-regex@5.0.1: {} ansi-regex@6.2.2: {} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - optional: true - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 @@ -9727,12 +7103,8 @@ snapshots: append-field@1.0.0: {} - aproba@2.1.0: {} - - are-we-there-yet@2.0.0: - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 + aproba@2.1.0: + optional: true are-we-there-yet@3.0.1: dependencies: @@ -9742,9 +7114,6 @@ snapshots: arg@4.1.3: {} - arg@5.0.2: - optional: true - argparse@1.0.10: dependencies: sprintf-js: 1.0.3 @@ -9756,15 +7125,6 @@ snapshots: call-bound: 1.0.4 is-array-buffer: 3.0.5 - array-flatten@1.1.1: {} - - array-index@1.0.0: - dependencies: - debug: 2.6.9 - es6-symbol: 3.1.4 - transitivePeerDependencies: - - supports-color - array-timsort@1.0.3: {} arraybuffer.prototype.slice@1.0.4: @@ -9779,8 +7139,6 @@ snapshots: asap@2.0.6: {} - asmcrypto.js@0.22.0: {} - asn1.js@5.4.1: dependencies: bn.js: 4.12.4 @@ -9798,9 +7156,6 @@ snapshots: asynckit@0.4.0: {} - at-least-node@1.0.0: - optional: true - available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.1.0 @@ -9815,14 +7170,6 @@ snapshots: - debug - supports-color - b64-lite@1.4.0: - dependencies: - base-64: 0.1.0 - - b64u-lite@1.1.0: - dependencies: - b64-lite: 1.4.0 - babel-jest@29.5.0(@babel/core@7.29.7): dependencies: '@babel/core': 7.29.7 @@ -9880,58 +7227,6 @@ snapshots: dependencies: '@types/babel__core': 7.20.5 - babel-plugin-polyfill-corejs2@0.4.17(@babel/core@7.29.7): - dependencies: - '@babel/compat-data': 7.29.7 - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - optional: true - - babel-plugin-polyfill-corejs3@0.13.0(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - core-js-compat: 3.49.0 - transitivePeerDependencies: - - supports-color - optional: true - - babel-plugin-polyfill-regenerator@0.6.8(@babel/core@7.29.7): - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-define-polyfill-provider': 0.6.8(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - optional: true - - babel-plugin-react-compiler@1.0.0: - dependencies: - '@babel/types': 7.29.7 - optional: true - - babel-plugin-react-native-web@0.21.2: - optional: true - - babel-plugin-syntax-hermes-parser@0.36.0: - dependencies: - hermes-parser: 0.36.0 - optional: true - - babel-plugin-syntax-hermes-parser@0.36.1: - dependencies: - hermes-parser: 0.36.1 - optional: true - - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.29.7): - dependencies: - '@babel/plugin-syntax-flow': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - '@babel/core' - optional: true - babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7): dependencies: '@babel/core': 7.29.7 @@ -9951,59 +7246,6 @@ snapshots: '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7) - babel-preset-expo@57.0.1(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo@57.0.1)(react-refresh@0.14.2): - dependencies: - '@babel/generator': 7.29.7 - '@babel/helper-module-imports': 7.29.7 - '@babel/plugin-proposal-decorators': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-proposal-export-default-from': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-export-default-from': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7) - '@babel/plugin-transform-async-generator-functions': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-async-to-generator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-block-scoping': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-class-properties': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-class-static-block': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-classes': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-destructuring': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-export-namespace-from': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-flow-strip-types': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-for-of': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-logical-assignment-operators': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-object-rest-spread': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-optional-catch-binding': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-optional-chaining': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-parameters': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-private-methods': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-private-property-in-object': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-display-name': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx-development': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-pure-annotations': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-runtime': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-typescript': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-unicode-regex': 7.29.7(@babel/core@7.29.7) - '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) - '@react-native/babel-plugin-codegen': 0.86.0(@babel/core@7.29.7) - babel-plugin-react-compiler: 1.0.0 - babel-plugin-react-native-web: 0.21.2 - babel-plugin-syntax-hermes-parser: 0.36.1 - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.29.7) - debug: 4.4.3 - react-refresh: 0.14.2 - optionalDependencies: - '@babel/runtime': 7.29.7 - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - transitivePeerDependencies: - - '@babel/core' - - supports-color - optional: true - babel-preset-jest@29.6.3(@babel/core@7.29.7): dependencies: '@babel/core': 7.29.7 @@ -10020,28 +7262,14 @@ snapshots: balanced-match@4.0.4: {} - base-64@0.1.0: {} - base64-js@1.5.1: {} - base64url-universal@1.1.0: - dependencies: - base64url: 3.0.1 - - base64url-universal@2.0.0: - dependencies: - base64url: 3.0.1 - base64url@3.0.1: {} baseline-browser-mapping@2.10.40: {} bech32@1.1.4: {} - big-integer@1.6.52: {} - - bignumber.js@9.3.1: {} - bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 @@ -10056,23 +7284,6 @@ snapshots: bn.js@5.2.4: {} - body-parser@1.20.5: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.15.3 - raw-body: 2.5.3 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - body-parser@2.3.0: dependencies: bytes: 3.1.2 @@ -10087,31 +7298,6 @@ snapshots: transitivePeerDependencies: - supports-color - borc@3.0.0: - dependencies: - bignumber.js: 9.3.1 - buffer: 6.0.3 - commander: 2.20.3 - ieee754: 1.2.1 - iso-url: 1.2.1 - json-text-sequence: 0.3.0 - readable-stream: 3.6.2 - - bplist-creator@0.1.0: - dependencies: - stream-buffers: 2.2.0 - optional: true - - bplist-parser@0.3.1: - dependencies: - big-integer: 1.6.52 - optional: true - - bplist-parser@0.3.2: - dependencies: - big-integer: 1.6.52 - optional: true - brace-expansion@1.1.15: dependencies: balanced-match: 1.0.2 @@ -10216,15 +7402,22 @@ snapshots: canonicalize@1.0.8: {} - canonicalize@2.1.0: {} - - chalk@2.4.2: + cbor-extract@2.2.2: dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 + node-gyp-build-optional-packages: 5.1.1 + optionalDependencies: + '@cbor-extract/cbor-extract-darwin-arm64': 2.2.2 + '@cbor-extract/cbor-extract-darwin-x64': 2.2.2 + '@cbor-extract/cbor-extract-linux-arm': 2.2.2 + '@cbor-extract/cbor-extract-linux-arm64': 2.2.2 + '@cbor-extract/cbor-extract-linux-x64': 2.2.2 + '@cbor-extract/cbor-extract-win32-x64': 2.2.2 optional: true + cbor-x@1.6.4: + optionalDependencies: + cbor-extract: 2.2.2 + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -10242,31 +7435,9 @@ snapshots: chownr@2.0.0: {} - chrome-launcher@0.15.2: - dependencies: - '@types/node': 24.13.2 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2 - transitivePeerDependencies: - - supports-color - optional: true - - chrome-trace-event@1.0.4: {} - - chromium-edge-launcher@0.3.0: - dependencies: - '@types/node': 24.13.2 - escape-string-regexp: 4.0.0 - is-wsl: 2.2.0 - lighthouse-logger: 1.4.2 - mkdirp: 1.0.4 - transitivePeerDependencies: - - supports-color - optional: true - - ci-info@2.0.0: - optional: true + chownr@3.0.0: {} + + chrome-trace-event@1.0.4: {} ci-info@3.9.0: {} @@ -10285,11 +7456,6 @@ snapshots: clean-stack@2.2.0: optional: true - cli-cursor@2.1.0: - dependencies: - restore-cursor: 2.0.0 - optional: true - cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -10316,64 +7482,32 @@ snapshots: collect-v8-coverage@1.0.3: {} - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - optional: true - color-convert@2.0.1: dependencies: color-name: 1.1.4 - color-name@1.1.3: - optional: true - color-name@1.1.4: {} - color-support@1.1.3: {} + color-support@1.1.3: + optional: true combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - commander@12.1.0: - optional: true - commander@2.20.3: {} commander@4.1.1: {} - commander@7.2.0: - optional: true - comment-json@5.0.0: dependencies: array-timsort: 1.0.3 esprima: 4.0.1 - compare-versions@3.6.0: - optional: true + compare-versions@6.1.1: {} component-emitter@1.3.1: {} - compressible@2.0.18: - dependencies: - mime-db: 1.54.0 - optional: true - - compression@1.8.1: - dependencies: - bytes: 3.1.2 - compressible: 2.0.18 - debug: 2.6.9 - negotiator: 0.6.4 - on-headers: 1.1.0 - safe-buffer: 5.2.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - optional: true - concat-map@0.0.1: {} concat-stream@2.0.0: @@ -10383,22 +7517,9 @@ snapshots: readable-stream: 3.6.2 typedarray: 0.0.6 - connect@3.7.0: - dependencies: - debug: 2.6.9 - finalhandler: 1.1.2 - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color + console-control-strings@1.1.0: optional: true - console-control-strings@1.1.0: {} - - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - content-disposition@1.1.0: {} content-type@1.0.5: {} @@ -10407,19 +7528,12 @@ snapshots: convert-source-map@2.0.0: {} - cookie-signature@1.0.7: {} - cookie-signature@1.2.2: {} cookie@0.7.2: {} cookiejar@2.1.4: {} - core-js-compat@3.49.0: - dependencies: - browserslist: 4.28.4 - optional: true - cors@2.8.6: dependencies: object-assign: 4.1.1 @@ -10438,6 +7552,11 @@ snapshots: credentials-context@2.0.0: {} + cross-env@10.1.0: + dependencies: + '@epic-web/invariant': 1.0.0 + cross-spawn: 7.0.6 + cross-fetch@4.1.0(encoding@0.1.13): dependencies: node-fetch: 2.7.0(encoding@0.1.13) @@ -10450,17 +7569,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crypto-ld@6.0.0: {} - - d@1.0.2: - dependencies: - es5-ext: 0.10.64 - type: 2.7.3 - - data-uri-to-buffer@3.0.1: {} - - data-uri-to-buffer@4.0.1: {} - data-view-buffer@1.0.2: dependencies: call-bound: 1.0.4 @@ -10481,19 +7589,17 @@ snapshots: dayjs@1.11.21: {} - debug@2.6.9: - dependencies: - ms: 2.0.0 - - debug@3.2.7: + dcql@3.0.0(typescript@5.9.3): dependencies: - ms: 2.1.3 + valibot: 1.2.0(typescript@5.9.3) + transitivePeerDependencies: + - typescript debug@4.4.3: dependencies: ms: 2.1.3 - decode-uri-component@0.2.2: {} + decode-uri-component@0.4.1: {} decompress-response@6.0.0: dependencies: @@ -10525,12 +7631,11 @@ snapshots: delayed-stream@1.0.0: {} - delegates@1.0.0: {} + delegates@1.0.0: + optional: true depd@2.0.0: {} - destroy@1.2.0: {} - detect-libc@2.1.2: {} detect-newline@3.1.0: {} @@ -10544,9 +7649,6 @@ snapshots: diff@4.0.4: {} - dnssd-advertise@1.1.6: - optional: true - dotenv-expand@12.0.3: dependencies: dotenv: 16.6.1 @@ -10563,9 +7665,9 @@ snapshots: eastasianwidth@0.2.0: {} - ed25519-signature-2018-context@1.1.0: {} + ec-compression@0.0.1-alpha.12: {} - ed25519-signature-2020-context@1.1.0: {} + ed25519-signature-2018-context@1.1.0: {} ee-first@1.1.1: {} @@ -10587,9 +7689,6 @@ snapshots: emoji-regex@9.2.2: {} - encodeurl@1.0.2: - optional: true - encodeurl@2.0.0: {} encoding@0.1.13: @@ -10616,11 +7715,6 @@ snapshots: dependencies: is-arrayish: 0.2.1 - error-stack-parser@2.1.4: - dependencies: - stackframe: 1.3.4 - optional: true - es-abstract-get@1.0.0: dependencies: es-errors: 1.3.0 @@ -10711,31 +7805,10 @@ snapshots: is-date-object: 1.1.0 is-symbol: 1.1.1 - es5-ext@0.10.64: - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 - next-tick: 1.1.0 - - es6-iterator@2.0.3: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 - - es6-symbol@3.1.4: - dependencies: - d: 1.0.2 - ext: 1.7.0 - escalade@3.2.0: {} escape-html@1.0.3: {} - escape-string-regexp@1.0.5: - optional: true - escape-string-regexp@2.0.0: {} escape-string-regexp@4.0.0: {} @@ -10814,13 +7887,6 @@ snapshots: transitivePeerDependencies: - supports-color - esniff@2.0.1: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.3 - espree@11.2.0: dependencies: acorn: 8.17.0 @@ -10878,13 +7944,6 @@ snapshots: - bufferutil - utf-8-validate - event-emitter@0.3.5: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - - event-target-shim@5.0.1: {} - events@3.3.0: {} execa@5.1.1: @@ -10912,169 +7971,6 @@ snapshots: jest-mock: 30.4.1 jest-util: 30.4.1 - expo-asset@57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3): - dependencies: - '@expo/image-utils': 0.11.0(typescript@5.9.3) - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - expo-constants: 57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - react: 19.2.7 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - transitivePeerDependencies: - - supports-color - - typescript - optional: true - - expo-constants@57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)): - dependencies: - '@expo/env': 2.4.0 - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - transitivePeerDependencies: - - supports-color - optional: true - - expo-file-system@57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)): - dependencies: - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - optional: true - - expo-font@57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7): - dependencies: - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - fontfaceobserver: 2.3.0 - react: 19.2.7 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - optional: true - - expo-keep-awake@57.0.0(expo@57.0.1)(react@19.2.7): - dependencies: - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - react: 19.2.7 - optional: true - - expo-modules-autolinking@0.0.3: - dependencies: - chalk: 4.1.2 - commander: 7.2.0 - fast-glob: 3.3.3 - find-up: 5.0.0 - fs-extra: 9.1.0 - optional: true - - expo-modules-autolinking@57.0.3(typescript@5.9.3): - dependencies: - '@expo/require-utils': 57.0.0(typescript@5.9.3) - '@expo/spawn-async': 1.8.0 - chalk: 4.1.2 - commander: 7.2.0 - transitivePeerDependencies: - - supports-color - - typescript - optional: true - - expo-modules-core@57.0.1(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7): - dependencies: - '@expo/expo-modules-macros-plugin': 0.3.0 - expo-modules-jsi: 57.0.0(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - invariant: 2.2.4 - react: 19.2.7 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - optional: true - - expo-modules-jsi@57.0.0(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)): - dependencies: - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - optional: true - - expo-random@14.0.1(expo@57.0.1): - dependencies: - base64-js: 1.5.1 - expo: 57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - optional: true - - expo-server@57.0.0: - optional: true - - expo@57.0.1(@babel/core@7.29.7)(@expo/dom-webview@57.0.0)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3): - dependencies: - '@babel/runtime': 7.29.7 - '@expo/cli': 57.0.3(@expo/dom-webview@57.0.0)(expo-constants@57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)))(expo-font@57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7))(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - '@expo/config': 57.0.1(typescript@5.9.3) - '@expo/config-plugins': 57.0.1(typescript@5.9.3) - '@expo/devtools': 57.0.0(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - '@expo/fingerprint': 0.20.1 - '@expo/local-build-cache-provider': 57.0.1(typescript@5.9.3) - '@expo/log-box': 57.0.0(@expo/dom-webview@57.0.0)(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - '@expo/metro': 56.0.0 - '@expo/metro-config': 57.0.2(expo@57.0.1)(typescript@5.9.3) - '@ungap/structured-clone': 1.3.2 - babel-preset-expo: 57.0.1(@babel/core@7.29.7)(@babel/runtime@7.29.7)(expo@57.0.1)(react-refresh@0.14.2) - expo-asset: 57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7)(typescript@5.9.3) - expo-constants: 57.0.2(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - expo-file-system: 57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - expo-font: 57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - expo-keep-awake: 57.0.0(expo@57.0.1)(react@19.2.7) - expo-modules-autolinking: 57.0.3(typescript@5.9.3) - expo-modules-core: 57.0.1(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - pretty-format: 29.7.0 - react: 19.2.7 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - react-refresh: 0.14.2 - whatwg-url-minimum: 0.1.2 - optionalDependencies: - '@expo/dom-webview': 57.0.0(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - transitivePeerDependencies: - - '@babel/core' - - bufferutil - - expo-router - - expo-widgets - - react-native-worklets - - react-server-dom-webpack - - supports-color - - typescript - - utf-8-validate - optional: true - - exponential-backoff@3.1.3: - optional: true - - express@4.22.2: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.5 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.2 - cookie-signature: 1.0.7 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.2 - fresh: 0.5.2 - http-errors: 2.0.1 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.13 - proxy-addr: 2.0.7 - qs: 6.15.3 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.2 - serve-static: 1.16.3 - setprototypeof: 1.2.0 - statuses: 2.0.2 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - express@5.2.1: dependencies: accepts: 2.0.0 @@ -11108,21 +8004,8 @@ snapshots: transitivePeerDependencies: - supports-color - ext@1.7.0: - dependencies: - type: 2.7.3 - fast-deep-equal@3.1.3: {} - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - optional: true - fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -11133,14 +8016,6 @@ snapshots: fast-uri@3.1.3: {} - fastq@1.20.1: - dependencies: - reusify: 1.1.0 - optional: true - - fb-dotslash@0.5.8: - optional: true - fb-watchman@2.0.2: dependencies: bser: 2.1.1 @@ -11149,16 +8024,6 @@ snapshots: optionalDependencies: picomatch: 4.0.4 - fetch-blob@2.1.2: {} - - fetch-blob@3.2.0: - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 - - fetch-nodeshim@0.4.10: - optional: true - file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -11178,32 +8043,7 @@ snapshots: dependencies: to-regex-range: 5.0.1 - filter-obj@1.1.0: {} - - finalhandler@1.1.2: - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - optional: true - - finalhandler@1.3.2: - dependencies: - debug: 2.6.9 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.2 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + filter-obj@5.1.0: {} finalhandler@2.1.1: dependencies: @@ -11226,14 +8066,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - fix-esm@1.0.1: - dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.29.7) - '@babel/plugin-transform-modules-commonjs': 7.29.7(@babel/core@7.29.7) - transitivePeerDependencies: - - supports-color - flat-cache@4.0.1: dependencies: flatted: 3.4.2 @@ -11241,14 +8073,8 @@ snapshots: flatted@3.4.2: {} - flow-enums-runtime@0.0.6: - optional: true - follow-redirects@1.16.0: {} - fontfaceobserver@2.3.0: - optional: true - for-each@0.3.5: dependencies: is-callable: 1.2.7 @@ -11283,9 +8109,7 @@ snapshots: hasown: 2.0.4 mime-types: 2.1.35 - formdata-polyfill@4.0.10: - dependencies: - fetch-blob: 3.2.0 + format-util@1.0.5: {} formidable@3.5.4: dependencies: @@ -11295,8 +8119,6 @@ snapshots: forwarded@0.2.0: {} - fresh@0.5.2: {} - fresh@2.0.0: {} fs-constants@1.0.0: {} @@ -11307,14 +8129,6 @@ snapshots: jsonfile: 6.2.1 universalify: 2.0.1 - fs-extra@9.1.0: - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.2.1 - universalify: 2.0.1 - optional: true - fs-minipass@2.1.0: dependencies: minipass: 3.3.6 @@ -11342,18 +8156,6 @@ snapshots: functions-have-names@1.2.3: {} - gauge@3.0.2: - dependencies: - aproba: 2.1.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - gauge@4.0.4: dependencies: aproba: 2.1.0 @@ -11400,22 +8202,8 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-symbol-from-current-process-h@1.0.2: {} - - get-uv-event-loop-napi-h@1.0.6: - dependencies: - get-symbol-from-current-process-h: 1.0.2 - - getenv@2.0.0: - optional: true - github-from-package@0.0.0: {} - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - optional: true - glob-parent@6.0.2: dependencies: is-glob: 4.0.3 @@ -11475,9 +8263,6 @@ snapshots: has-bigints@1.1.0: {} - has-flag@3.0.0: - optional: true - has-flag@4.0.0: {} has-property-descriptors@1.0.2: @@ -11494,7 +8279,8 @@ snapshots: dependencies: has-symbols: 1.1.0 - has-unicode@2.0.1: {} + has-unicode@2.0.1: + optional: true hash.js@1.1.7: dependencies: @@ -11505,44 +8291,12 @@ snapshots: dependencies: function-bind: 1.1.2 - hermes-compiler@250829098.0.14: - optional: true - - hermes-estree@0.35.0: - optional: true - - hermes-estree@0.36.0: - optional: true - - hermes-estree@0.36.1: - optional: true - - hermes-parser@0.35.0: - dependencies: - hermes-estree: 0.35.0 - optional: true - - hermes-parser@0.36.0: - dependencies: - hermes-estree: 0.36.0 - optional: true - - hermes-parser@0.36.1: - dependencies: - hermes-estree: 0.36.1 - optional: true - hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - hosted-git-info@7.0.2: - dependencies: - lru-cache: 10.4.3 - optional: true - html-escaper@2.0.2: {} http-cache-semantics@4.2.0: @@ -11572,14 +8326,6 @@ snapshots: transitivePeerDependencies: - supports-color - https-proxy-agent@7.0.6: - dependencies: - agent-base: 7.1.4 - debug: 4.4.3 - transitivePeerDependencies: - - supports-color - optional: true - human-signals@2.1.0: {} humanize-ms@1.2.1: @@ -11587,10 +8333,6 @@ snapshots: ms: 2.1.3 optional: true - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -11606,11 +8348,6 @@ snapshots: ignore@7.0.5: {} - image-size@1.2.1: - dependencies: - queue: 6.0.2 - optional: true - import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -11644,11 +8381,6 @@ snapshots: hasown: 2.0.4 side-channel: 1.1.1 - invariant@2.2.4: - dependencies: - loose-envify: 1.4.0 - optional: true - ip-address@10.2.0: optional: true @@ -11681,11 +8413,6 @@ snapshots: is-callable@1.2.7: {} - is-core-module@2.16.2: - dependencies: - hasown: 2.0.4 - optional: true - is-data-view@1.0.2: dependencies: call-bound: 1.0.4 @@ -11697,9 +8424,6 @@ snapshots: call-bound: 1.0.4 has-tostringtag: 1.0.2 - is-docker@2.2.1: - optional: true - is-document.all@1.0.0: dependencies: call-bound: 1.0.4 @@ -11789,35 +8513,10 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - optional: true - isarray@2.0.5: {} isexe@2.0.0: {} - iso-url@1.2.1: {} - - isomorphic-webcrypto@2.3.8(expo@57.0.1)(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)): - dependencies: - '@peculiar/webcrypto': 1.7.1 - asmcrypto.js: 0.22.0 - b64-lite: 1.4.0 - b64u-lite: 1.1.0 - msrcrypto: 1.5.8 - str2buf: 1.3.0 - webcrypto-shim: 0.1.7 - optionalDependencies: - '@unimodules/core': 7.1.2 - '@unimodules/react-native-adapter': 6.3.9 - expo-random: 14.0.1(expo@57.0.1) - react-native-securerandom: 0.1.1(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)) - transitivePeerDependencies: - - expo - - react-native - istanbul-lib-coverage@3.2.2: {} istanbul-lib-instrument@5.2.1: @@ -11979,9 +8678,6 @@ snapshots: jest-util: 30.4.1 jest-validate: 30.4.1 - jest-get-type@29.6.3: - optional: true - jest-haste-map@29.7.0: dependencies: '@jest/types': 29.6.3 @@ -12168,16 +8864,6 @@ snapshots: graceful-fs: 4.2.11 picomatch: 4.0.4 - jest-validate@29.7.0: - dependencies: - '@jest/types': 29.6.3 - camelcase: 6.3.0 - chalk: 4.1.2 - jest-get-type: 29.6.3 - leven: 3.1.0 - pretty-format: 29.7.0 - optional: true - jest-validate@30.4.1: dependencies: '@jest/get-type': 30.1.0 @@ -12232,9 +8918,6 @@ snapshots: - supports-color - ts-node - jimp-compact@0.16.1: - optional: true - joi@17.13.4: dependencies: '@hapi/hoek': 9.3.0 @@ -12260,9 +8943,6 @@ snapshots: dependencies: argparse: 2.0.1 - jsc-safe-url@0.2.4: - optional: true - jsesc@3.1.0: {} json-buffer@3.0.1: {} @@ -12277,10 +8957,6 @@ snapshots: json-stringify-safe@5.0.1: {} - json-text-sequence@0.3.0: - dependencies: - '@sovpro/delimited-stream': 1.1.0 - json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -12291,29 +8967,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonld-signatures@11.6.0: - dependencies: - '@digitalbazaar/security-context': 1.0.1 - jsonld: 9.0.0 - rdf-canonize: 5.0.0 - serialize-error: 8.1.0 - - jsonld@8.3.3(web-streams-polyfill@3.3.3): - dependencies: - '@digitalbazaar/http-client': 3.4.1(web-streams-polyfill@3.3.3) - canonicalize: 1.0.8 - lru-cache: 6.0.0 - rdf-canonize: 3.4.0 - transitivePeerDependencies: - - web-streams-polyfill - - jsonld@9.0.0: - dependencies: - '@digitalbazaar/http-client': 4.3.0 - canonicalize: 2.1.0 - lru-cache: 6.0.0 - rdf-canonize: 5.0.0 - jsonpath@1.3.0: dependencies: esprima: 1.2.5 @@ -12322,40 +8975,16 @@ snapshots: jwt-decode@3.1.2: {} + jwt-decode@4.0.0: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - kleur@3.0.3: - optional: true - - ky-universal@0.11.0(ky@0.33.3)(web-streams-polyfill@3.3.3): - dependencies: - abort-controller: 3.0.0 - ky: 0.33.3 - node-fetch: 3.3.2 - optionalDependencies: - web-streams-polyfill: 3.3.3 - - ky-universal@0.8.2(ky@0.25.1)(web-streams-polyfill@3.3.3): - dependencies: - abort-controller: 3.0.0 - ky: 0.25.1 - node-fetch: 3.0.0-beta.9 - optionalDependencies: - web-streams-polyfill: 3.3.3 - transitivePeerDependencies: - - domexception - - ky@0.25.1: {} - - ky@0.33.3: {} + koffi@2.16.2: {} ky@1.14.3: {} - lan-network@0.2.1: - optional: true - leven@3.1.0: {} levn@0.3.0: @@ -12370,64 +8999,6 @@ snapshots: libphonenumber-js@1.13.7: {} - lighthouse-logger@1.4.2: - dependencies: - debug: 2.6.9 - marky: 1.3.0 - transitivePeerDependencies: - - supports-color - optional: true - - lightningcss-android-arm64@1.32.0: - optional: true - - lightningcss-darwin-arm64@1.32.0: - optional: true - - lightningcss-darwin-x64@1.32.0: - optional: true - - lightningcss-freebsd-x64@1.32.0: - optional: true - - lightningcss-linux-arm-gnueabihf@1.32.0: - optional: true - - lightningcss-linux-arm64-gnu@1.32.0: - optional: true - - lightningcss-linux-arm64-musl@1.32.0: - optional: true - - lightningcss-linux-x64-gnu@1.32.0: - optional: true - - lightningcss-linux-x64-musl@1.32.0: - optional: true - - lightningcss-win32-arm64-msvc@1.32.0: - optional: true - - lightningcss-win32-x64-msvc@1.32.0: - optional: true - - lightningcss@1.32.0: - dependencies: - detect-libc: 2.1.2 - optionalDependencies: - lightningcss-android-arm64: 1.32.0 - lightningcss-darwin-arm64: 1.32.0 - lightningcss-darwin-x64: 1.32.0 - lightningcss-freebsd-x64: 1.32.0 - lightningcss-linux-arm-gnueabihf: 1.32.0 - lightningcss-linux-arm64-gnu: 1.32.0 - lightningcss-linux-arm64-musl: 1.32.0 - lightningcss-linux-x64-gnu: 1.32.0 - lightningcss-linux-x64-musl: 1.32.0 - lightningcss-win32-arm64-msvc: 1.32.0 - lightningcss-win32-x64-msvc: 1.32.0 - optional: true - lines-and-columns@1.2.4: {} load-esm@1.0.3: {} @@ -12442,31 +9013,15 @@ snapshots: dependencies: p-locate: 5.0.0 - lodash.debounce@4.0.8: - optional: true - lodash.memoize@4.1.2: {} - lodash.throttle@4.1.1: - optional: true - lodash@4.18.1: {} - log-symbols@2.2.0: - dependencies: - chalk: 2.4.2 - optional: true - log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - loose-envify@1.4.0: - dependencies: - js-tokens: 4.0.0 - optional: true - lru-cache@10.4.3: {} lru-cache@11.5.1: {} @@ -12487,10 +9042,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 - make-dir@3.1.0: - dependencies: - semver: 6.3.1 - make-dir@4.0.0: dependencies: semver: 7.8.5 @@ -12524,9 +9075,6 @@ snapshots: dependencies: tmpl: 1.0.5 - marky@1.3.0: - optional: true - math-intrinsics@1.1.0: {} media-typer@0.3.0: {} @@ -12537,208 +9085,12 @@ snapshots: dependencies: fs-monkey: 1.1.0 - memoize-one@5.2.1: - optional: true - - merge-descriptors@1.0.3: {} - merge-descriptors@2.0.0: {} merge-stream@2.0.0: {} - merge2@1.4.1: - optional: true - methods@1.1.2: {} - metro-babel-transformer@0.84.4: - dependencies: - '@babel/core': 7.29.7 - flow-enums-runtime: 0.0.6 - hermes-parser: 0.35.0 - metro-cache-key: 0.84.4 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - optional: true - - metro-cache-key@0.84.4: - dependencies: - flow-enums-runtime: 0.0.6 - optional: true - - metro-cache@0.84.4: - dependencies: - exponential-backoff: 3.1.3 - flow-enums-runtime: 0.0.6 - https-proxy-agent: 7.0.6 - metro-core: 0.84.4 - transitivePeerDependencies: - - supports-color - optional: true - - metro-config@0.84.4: - dependencies: - connect: 3.7.0 - flow-enums-runtime: 0.0.6 - jest-validate: 29.7.0 - metro: 0.84.4 - metro-cache: 0.84.4 - metro-core: 0.84.4 - metro-runtime: 0.84.4 - yaml: 2.9.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - - metro-core@0.84.4: - dependencies: - flow-enums-runtime: 0.0.6 - lodash.throttle: 4.1.1 - metro-resolver: 0.84.4 - optional: true - - metro-file-map@0.84.4: - dependencies: - debug: 4.4.3 - fb-watchman: 2.0.2 - flow-enums-runtime: 0.0.6 - graceful-fs: 4.2.11 - invariant: 2.2.4 - jest-worker: 29.7.0 - micromatch: 4.0.8 - nullthrows: 1.1.1 - walker: 1.0.8 - transitivePeerDependencies: - - supports-color - optional: true - - metro-minify-terser@0.84.4: - dependencies: - flow-enums-runtime: 0.0.6 - terser: 5.48.0 - optional: true - - metro-resolver@0.84.4: - dependencies: - flow-enums-runtime: 0.0.6 - optional: true - - metro-runtime@0.84.4: - dependencies: - '@babel/runtime': 7.29.7 - flow-enums-runtime: 0.0.6 - optional: true - - metro-source-map@0.84.4: - dependencies: - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - metro-symbolicate: 0.84.4 - nullthrows: 1.1.1 - ob1: 0.84.4 - source-map: 0.5.7 - vlq: 1.0.1 - transitivePeerDependencies: - - supports-color - optional: true - - metro-symbolicate@0.84.4: - dependencies: - flow-enums-runtime: 0.0.6 - invariant: 2.2.4 - metro-source-map: 0.84.4 - nullthrows: 1.1.1 - source-map: 0.5.7 - vlq: 1.0.1 - transitivePeerDependencies: - - supports-color - optional: true - - metro-transform-plugins@0.84.4: - dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - flow-enums-runtime: 0.0.6 - nullthrows: 1.1.1 - transitivePeerDependencies: - - supports-color - optional: true - - metro-transform-worker@0.84.4: - dependencies: - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/types': 7.29.7 - flow-enums-runtime: 0.0.6 - metro: 0.84.4 - metro-babel-transformer: 0.84.4 - metro-cache: 0.84.4 - metro-cache-key: 0.84.4 - metro-minify-terser: 0.84.4 - metro-source-map: 0.84.4 - metro-transform-plugins: 0.84.4 - nullthrows: 1.1.1 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - - metro@0.84.4: - dependencies: - '@babel/code-frame': 7.29.7 - '@babel/core': 7.29.7 - '@babel/generator': 7.29.7 - '@babel/parser': 7.29.7 - '@babel/template': 7.29.7 - '@babel/traverse': 7.29.7 - '@babel/types': 7.29.7 - accepts: 2.0.0 - ci-info: 2.0.0 - connect: 3.7.0 - debug: 4.4.3 - error-stack-parser: 2.1.4 - flow-enums-runtime: 0.0.6 - graceful-fs: 4.2.11 - hermes-parser: 0.35.0 - image-size: 1.2.1 - invariant: 2.2.4 - jest-worker: 29.7.0 - jsc-safe-url: 0.2.4 - lodash.throttle: 4.1.1 - metro-babel-transformer: 0.84.4 - metro-cache: 0.84.4 - metro-cache-key: 0.84.4 - metro-config: 0.84.4 - metro-core: 0.84.4 - metro-file-map: 0.84.4 - metro-resolver: 0.84.4 - metro-runtime: 0.84.4 - metro-source-map: 0.84.4 - metro-symbolicate: 0.84.4 - metro-transform-plugins: 0.84.4 - metro-transform-worker: 0.84.4 - mime-types: 3.0.2 - nullthrows: 1.1.1 - serialize-error: 2.1.0 - source-map: 0.5.7 - throat: 5.0.0 - ws: 7.5.11 - yargs: 17.7.3 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - micromatch@4.0.8: dependencies: braces: 3.0.3 @@ -12756,13 +9108,8 @@ snapshots: dependencies: mime-db: 1.54.0 - mime@1.6.0: {} - mime@2.6.0: {} - mimic-fn@1.2.0: - optional: true - mimic-fn@2.1.0: {} mimic-response@3.1.0: {} @@ -12833,18 +9180,18 @@ snapshots: minipass: 3.3.6 yallist: 4.0.0 + minizlib@3.1.0: + dependencies: + minipass: 7.1.3 + mkdirp-classic@0.5.3: {} mkdirp@1.0.4: {} mri@1.2.0: {} - ms@2.0.0: {} - ms@2.1.3: {} - msrcrypto@1.5.8: {} - multer@2.1.1: dependencies: append-field: 1.0.0 @@ -12854,9 +9201,6 @@ snapshots: multiformats@9.9.0: {} - multitars@1.0.0: - optional: true - mute-stream@2.0.0: {} nanoid@3.3.15: {} @@ -12867,8 +9211,6 @@ snapshots: natural-compare@1.4.0: {} - negotiator@0.6.3: {} - negotiator@0.6.4: optional: true @@ -12876,8 +9218,6 @@ snapshots: neo-async@2.6.2: {} - next-tick@1.1.0: {} - nock@14.0.0: dependencies: '@mswjs/interceptors': 0.37.6 @@ -12890,12 +9230,8 @@ snapshots: node-abort-controller@3.1.1: {} - node-addon-api@3.2.1: {} - node-addon-api@7.1.1: {} - node-domexception@1.0.0: {} - node-emoji@1.11.0: dependencies: lodash: 4.18.1 @@ -12906,24 +9242,11 @@ snapshots: optionalDependencies: encoding: 0.1.13 - node-fetch@3.0.0-beta.9: - dependencies: - data-uri-to-buffer: 3.0.1 - fetch-blob: 2.1.2 - transitivePeerDependencies: - - domexception - - node-fetch@3.3.2: + node-gyp-build-optional-packages@5.1.1: dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - - node-forge@1.4.0: + detect-libc: 2.1.2 optional: true - node-gyp-build@4.8.4: {} - node-gyp@8.4.1: dependencies: env-paths: 2.2.1 @@ -12948,42 +9271,20 @@ snapshots: nopt@5.0.0: dependencies: abbrev: 1.1.1 + optional: true normalize-path@3.0.0: {} - npm-package-arg@11.0.3: - dependencies: - hosted-git-info: 7.0.2 - proc-log: 4.2.0 - semver: 7.8.5 - validate-npm-package-name: 5.0.1 - optional: true - npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - npmlog@5.0.1: - dependencies: - are-we-there-yet: 2.0.0 - console-control-strings: 1.1.0 - gauge: 3.0.2 - set-blocking: 2.0.0 - npmlog@6.0.2: dependencies: are-we-there-yet: 3.0.1 console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - optional: true - - nullthrows@1.1.1: - optional: true - - ob1@0.84.4: - dependencies: - flow-enums-runtime: 0.0.6 + gauge: 4.0.4 + set-blocking: 2.0.0 optional: true object-assign@4.1.1: {} @@ -13001,37 +9302,18 @@ snapshots: has-symbols: 1.1.0 object-keys: 1.1.1 - on-finished@2.3.0: - dependencies: - ee-first: 1.1.1 - optional: true - on-finished@2.4.1: dependencies: ee-first: 1.1.1 - on-headers@1.1.0: - optional: true - once@1.4.0: dependencies: wrappy: 1.0.2 - onetime@2.0.1: - dependencies: - mimic-fn: 1.2.0 - optional: true - onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - open@7.4.2: - dependencies: - is-docker: 2.2.1 - is-wsl: 2.2.0 - optional: true - optionator@0.8.3: dependencies: deep-is: 0.1.4 @@ -13050,16 +9332,6 @@ snapshots: type-check: 0.4.0 word-wrap: 1.2.5 - ora@3.4.0: - dependencies: - chalk: 2.4.2 - cli-cursor: 2.1.0 - cli-spinners: 2.9.2 - log-symbols: 2.2.0 - strip-ansi: 5.2.0 - wcwidth: 1.0.1 - optional: true - ora@5.4.1: dependencies: bl: 4.1.0 @@ -13118,11 +9390,6 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parse-png@2.1.0: - dependencies: - pngjs: 3.4.0 - optional: true - parseurl@1.3.3: {} path-exists@4.0.0: {} @@ -13131,9 +9398,6 @@ snapshots: path-key@3.1.1: {} - path-parse@1.0.7: - optional: true - path-scurry@1.11.1: dependencies: lru-cache: 10.4.3 @@ -13144,8 +9408,6 @@ snapshots: lru-cache: 11.5.1 minipass: 7.1.3 - path-to-regexp@0.1.13: {} - path-to-regexp@8.4.2: {} path-type@4.0.0: {} @@ -13162,27 +9424,10 @@ snapshots: dependencies: find-up: 4.1.0 - plist@3.1.1: - dependencies: - '@xmldom/xmldom': 0.9.10 - base64-js: 1.5.1 - xmlbuilder: 15.1.1 - optional: true - pluralize@8.0.0: {} - pngjs@3.4.0: - optional: true - possible-typed-array-names@1.1.0: {} - postcss@8.5.16: - dependencies: - nanoid: 3.3.15 - picocolors: 1.1.1 - source-map-js: 1.2.1 - optional: true - prebuild-install@7.1.3: dependencies: detect-libc: 2.1.2 @@ -13204,13 +9449,6 @@ snapshots: prettier@3.9.4: {} - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - optional: true - pretty-format@30.4.1: dependencies: '@jest/schemas': 30.4.1 @@ -13229,12 +9467,6 @@ snapshots: tinyexec: 0.3.2 tslib: 2.8.1 - proc-log@4.2.0: - optional: true - - progress@2.0.3: - optional: true - promise-inflight@1.0.1: optional: true @@ -13244,17 +9476,6 @@ snapshots: retry: 0.12.0 optional: true - promise@8.3.0: - dependencies: - asap: 2.0.6 - optional: true - - prompts@2.4.2: - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - optional: true - propagate@2.0.1: {} proxy-addr@2.0.7: @@ -13284,30 +9505,14 @@ snapshots: es-define-property: 1.0.1 side-channel: 1.1.1 - query-string@7.1.3: - dependencies: - decode-uri-component: 0.2.2 - filter-obj: 1.1.0 - split-on-first: 1.1.0 - strict-uri-encode: 2.0.0 - - queue-microtask@1.2.3: - optional: true - - queue@6.0.2: + query-string@9.4.1: dependencies: - inherits: 2.0.4 - optional: true + decode-uri-component: 0.4.1 + filter-obj: 5.1.0 + split-on-first: 3.0.0 range-parser@1.2.1: {} - raw-body@2.5.3: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - raw-body@3.0.2: dependencies: bytes: 3.1.2 @@ -13326,79 +9531,10 @@ snapshots: dependencies: setimmediate: 1.0.5 - rdf-canonize@5.0.0: - dependencies: - setimmediate: 1.0.5 - - react-devtools-core@6.1.5: - dependencies: - shell-quote: 1.9.0 - ws: 7.5.11 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - optional: true - react-is@18.3.1: {} react-is@19.2.7: {} - react-native-securerandom@0.1.1(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7)): - dependencies: - base64-js: 1.5.1 - react-native: 0.86.0(@babel/core@7.29.7)(react@19.2.7) - optional: true - - react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7): - dependencies: - '@react-native/assets-registry': 0.86.0 - '@react-native/codegen': 0.86.0(@babel/core@7.29.7) - '@react-native/community-cli-plugin': 0.86.0 - '@react-native/gradle-plugin': 0.86.0 - '@react-native/js-polyfills': 0.86.0 - '@react-native/normalize-colors': 0.86.0 - '@react-native/virtualized-lists': 0.86.0(react-native@0.86.0(@babel/core@7.29.7)(react@19.2.7))(react@19.2.7) - abort-controller: 3.0.0 - anser: 1.4.10 - ansi-regex: 5.0.1 - babel-plugin-syntax-hermes-parser: 0.36.0 - base64-js: 1.5.1 - commander: 12.1.0 - flow-enums-runtime: 0.0.6 - hermes-compiler: 250829098.0.14 - invariant: 2.2.4 - memoize-one: 5.2.1 - metro-runtime: 0.84.4 - metro-source-map: 0.84.4 - nullthrows: 1.1.1 - pretty-format: 29.7.0 - promise: 8.3.0 - react: 19.2.7 - react-devtools-core: 6.1.5 - react-refresh: 0.14.2 - regenerator-runtime: 0.13.11 - scheduler: 0.27.0 - semver: 7.8.5 - stacktrace-parser: 0.1.11 - tinyglobby: 0.2.17 - whatwg-fetch: 3.6.20 - ws: 7.5.11 - yargs: 17.7.3 - transitivePeerDependencies: - - '@babel/core' - - '@react-native-community/cli' - - '@react-native/metro-config' - - bufferutil - - supports-color - - utf-8-validate - optional: true - - react-refresh@0.14.2: - optional: true - - react@19.2.7: - optional: true - readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -13407,21 +9543,6 @@ snapshots: readdirp@4.1.2: {} - ref-array-di@1.2.2: - dependencies: - array-index: 1.0.0 - debug: 3.2.7 - transitivePeerDependencies: - - supports-color - - ref-struct-di@1.1.1: - dependencies: - debug: 3.2.7 - transitivePeerDependencies: - - supports-color - - reflect-metadata@0.1.14: {} - reflect-metadata@0.2.2: {} reflect.getprototypeof@1.0.10: @@ -13435,17 +9556,6 @@ snapshots: get-proto: 1.0.1 which-builtin-type: 1.2.1 - regenerate-unicode-properties@10.2.2: - dependencies: - regenerate: 1.4.2 - optional: true - - regenerate@1.4.2: - optional: true - - regenerator-runtime@0.13.11: - optional: true - regexp.prototype.flags@1.5.4: dependencies: call-bind: 1.0.9 @@ -13455,24 +9565,6 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - regexpu-core@6.4.0: - dependencies: - regenerate: 1.4.2 - regenerate-unicode-properties: 10.2.2 - regjsgen: 0.8.0 - regjsparser: 0.13.2 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.2.1 - optional: true - - regjsgen@0.8.0: - optional: true - - regjsparser@0.13.2: - dependencies: - jsesc: 3.1.0 - optional: true - require-directory@2.1.1: {} require-from-string@2.0.2: {} @@ -13485,23 +9577,6 @@ snapshots: resolve-from@5.0.0: {} - resolve-workspace-root@2.0.1: - optional: true - - resolve@1.22.12: - dependencies: - es-errors: 1.3.0 - is-core-module: 2.16.2 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - optional: true - - restore-cursor@2.0.0: - dependencies: - onetime: 2.0.1 - signal-exit: 3.0.7 - optional: true - restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -13510,12 +9585,10 @@ snapshots: retry@0.12.0: optional: true - reusify@1.1.0: - optional: true - rimraf@3.0.2: dependencies: glob: 7.2.3 + optional: true rimraf@4.4.1: dependencies: @@ -13531,11 +9604,6 @@ snapshots: transitivePeerDependencies: - supports-color - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - optional: true - rxjs@7.8.1: dependencies: tslib: 2.8.1 @@ -13567,12 +9635,6 @@ snapshots: safer-buffer@2.1.2: {} - sax@1.6.0: - optional: true - - scheduler@0.27.0: - optional: true - schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 @@ -13590,24 +9652,6 @@ snapshots: semver@7.8.5: {} - send@0.19.2: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.1 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.2 - transitivePeerDependencies: - - supports-color - send@1.2.1: dependencies: debug: 4.4.3 @@ -13624,22 +9668,10 @@ snapshots: transitivePeerDependencies: - supports-color - serialize-error@2.1.0: - optional: true - serialize-error@8.1.0: dependencies: type-fest: 0.20.2 - serve-static@1.16.3: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.2 - transitivePeerDependencies: - - supports-color - serve-static@2.2.1: dependencies: encodeurl: 2.0.0 @@ -13649,7 +9681,8 @@ snapshots: transitivePeerDependencies: - supports-color - set-blocking@2.0.0: {} + set-blocking@2.0.0: + optional: true set-function-length@1.2.2: dependencies: @@ -13689,9 +9722,6 @@ snapshots: shebang-regex@3.0.0: {} - shell-quote@1.9.0: - optional: true - side-channel-list@1.0.1: dependencies: es-errors: 1.3.0 @@ -13732,21 +9762,8 @@ snapshots: once: 1.4.0 simple-concat: 1.0.1 - simple-plist@1.3.1: - dependencies: - bplist-creator: 0.1.0 - bplist-parser: 0.3.1 - plist: 3.1.1 - optional: true - - sisteransi@1.0.5: - optional: true - slash@3.0.0: {} - slugify@1.6.9: - optional: true - smart-buffer@4.2.0: optional: true @@ -13765,9 +9782,6 @@ snapshots: smart-buffer: 4.2.0 optional: true - source-map-js@1.2.1: - optional: true - source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 @@ -13778,16 +9792,13 @@ snapshots: buffer-from: 1.1.2 source-map: 0.6.1 - source-map@0.5.7: - optional: true - source-map@0.6.1: {} source-map@0.7.4: {} source-map@0.7.6: {} - split-on-first@1.1.0: {} + split-on-first@3.0.0: {} sprintf-js@1.0.3: {} @@ -13814,14 +9825,6 @@ snapshots: dependencies: escape-string-regexp: 2.0.0 - stackframe@1.3.4: - optional: true - - stacktrace-parser@0.1.11: - dependencies: - type-fest: 0.7.1 - optional: true - static-eval@2.0.2: dependencies: escodegen: 1.14.3 @@ -13830,9 +9833,6 @@ snapshots: dependencies: escodegen: 2.1.0 - statuses@1.5.0: - optional: true - statuses@2.0.2: {} stop-iteration-iterator@1.1.0: @@ -13840,17 +9840,10 @@ snapshots: es-errors: 1.3.0 internal-slot: 1.1.0 - str2buf@1.3.0: {} - - stream-buffers@2.2.0: - optional: true - streamsearch@1.1.0: {} strict-event-emitter@0.5.1: {} - strict-uri-encode@2.0.0: {} - string-length@4.0.2: dependencies: char-regex: 1.0.2 @@ -13912,11 +9905,6 @@ snapshots: dependencies: safe-buffer: 5.2.1 - strip-ansi@5.2.0: - dependencies: - ansi-regex: 4.1.1 - optional: true - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -13939,9 +9927,6 @@ snapshots: dependencies: '@tokenizer/token': 0.3.0 - structured-headers@0.4.1: - optional: true - superagent@10.3.0: dependencies: component-emitter: 1.3.1 @@ -13964,11 +9949,6 @@ snapshots: transitivePeerDependencies: - supports-color - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - optional: true - supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -13977,15 +9957,6 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-hyperlinks@2.3.0: - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - optional: true - - supports-preserve-symlinks-flag@1.0.0: - optional: true - swagger-ui-dist@5.32.8: dependencies: '@scarf/scarf': 1.4.0 @@ -14027,11 +9998,13 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - terminal-link@2.1.1: + tar@7.5.19: dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.3.0 - optional: true + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.3 + minizlib: 3.1.0 + yallist: 5.0.0 terser-webpack-plugin@5.6.1(webpack@5.106.2): dependencies: @@ -14054,9 +10027,6 @@ snapshots: glob: 7.2.3 minimatch: 3.1.5 - throat@5.0.0: - optional: true - tinyexec@0.3.2: {} tinyglobby@0.2.17: @@ -14084,9 +10054,6 @@ snapshots: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - toqr@0.1.1: - optional: true - tr46@0.0.3: {} ts-api-utils@2.5.0(typescript@5.9.3): @@ -14200,9 +10167,6 @@ snapshots: type-fest@0.21.3: {} - type-fest@0.7.1: - optional: true - type-fest@4.41.0: {} type-is@1.6.18: @@ -14216,8 +10180,6 @@ snapshots: media-typer: 1.1.0 mime-types: 3.0.2 - type@2.7.3: {} - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -14314,27 +10276,8 @@ snapshots: undici-types@7.18.2: {} - undici@5.29.0: - dependencies: - '@fastify/busboy': 2.1.1 - undici@6.27.0: {} - unicode-canonical-property-names-ecmascript@2.0.1: - optional: true - - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.1 - unicode-property-aliases-ecmascript: 2.2.0 - optional: true - - unicode-match-property-value-ecmascript@2.2.1: - optional: true - - unicode-property-aliases-ecmascript@2.2.0: - optional: true - unique-filename@1.1.1: dependencies: unique-slug: 2.0.2 @@ -14388,12 +10331,9 @@ snapshots: util-deprecate@1.0.2: {} - utils-merge@1.0.1: {} - uuid@11.1.1: {} - uuid@7.0.3: - optional: true + uuid@13.0.2: {} uuid@9.0.1: {} @@ -14405,8 +10345,9 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - validate-npm-package-name@5.0.1: - optional: true + valibot@1.2.0(typescript@5.9.3): + optionalDependencies: + typescript: 5.9.3 validator@13.15.35: {} @@ -14414,9 +10355,6 @@ snapshots: vary@1.1.2: {} - vlq@1.0.1: - optional: true - walker@1.0.8: dependencies: makeerror: 1.0.12 @@ -14436,16 +10374,6 @@ snapshots: transitivePeerDependencies: - encoding - web-streams-polyfill@3.3.3: {} - - webcrypto-core@1.8.0: - dependencies: - '@peculiar/asn1-schema': 2.3.13 - '@peculiar/json-schema': 1.1.12 - asn1js: 3.0.10 - pvtsutils: 1.3.6 - tslib: 2.8.1 - webcrypto-core@1.9.2: dependencies: '@peculiar/asn1-schema': 2.8.0 @@ -14454,8 +10382,6 @@ snapshots: asn1js: 3.0.10 tslib: 2.8.1 - webcrypto-shim@0.1.7: {} - webidl-conversions@3.0.1: {} webpack-node-externals@3.0.0: {} @@ -14502,12 +10428,6 @@ snapshots: - postcss - uglify-js - whatwg-fetch@3.6.20: - optional: true - - whatwg-url-minimum@0.1.2: - optional: true - whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -14561,6 +10481,7 @@ snapshots: wide-align@1.1.5: dependencies: string-width: 4.2.3 + optional: true word-wrap@1.2.5: {} @@ -14596,41 +10517,19 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 4.1.0 - ws@7.5.11: - optional: true - ws@8.18.0: {} ws@8.21.0: {} ws@8.5.0: {} - xcode@3.0.1: - dependencies: - simple-plist: 1.3.1 - uuid: 7.0.3 - optional: true - - xml2js@0.6.0: - dependencies: - sax: 1.6.0 - xmlbuilder: 11.0.1 - optional: true - - xmlbuilder@11.0.1: - optional: true - - xmlbuilder@15.1.1: - optional: true - y18n@5.0.8: {} yallist@3.1.1: {} yallist@4.0.0: {} - yaml@2.9.0: - optional: true + yallist@5.0.0: {} yargs-parser@21.1.1: {} @@ -14650,5 +10549,8 @@ snapshots: yoctocolors-cjs@2.1.3: {} - zod@3.25.76: - optional: true + zod-validation-error@5.0.0(zod@4.4.3): + dependencies: + zod: 4.4.3 + + zod@4.4.3: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 9f1b01a2..86b355eb 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -6,23 +6,24 @@ packages: # Postinstall scripts are blocked unless allowed here. The allowed packages # compile or download native binaries they cannot work without. allowBuilds: - '@2060.io/ffi-napi': true - '@2060.io/ref-napi': true - '@hyperledger/aries-askar-nodejs': true + '@openwallet-foundation/askar-nodejs': true '@nestjs/core': true '@scarf/scarf': false '@sphereon/pex': false es5-ext: false sqlite3: true unrs-resolver: true + cbor-extract: true + koffi: true # Shared dependency versions (replaces Rush's ensureConsistentVersions). # Reference these from package.json with the "catalog:" protocol. catalog: - '@credo-ts/askar': 0.5.10 - '@credo-ts/core': 0.5.10 - '@credo-ts/node': 0.5.10 - '@hyperledger/aries-askar-nodejs': ^0.2.1 + '@credo-ts/askar': ^0.7.0 + '@credo-ts/core': ^0.7.0 + '@credo-ts/node': ^0.7.0 + '@openwallet-foundation/askar-nodejs': ^0.6.0 + '@openwallet-foundation/askar-shared': ^0.6.0 '@nestjs/common': ^11.1.0 '@nestjs/core': ^11.1.0 '@nestjs/platform-express': ^11.1.0 @@ -30,6 +31,7 @@ catalog: '@types/jest': ^30.0.0 '@types/node': ^24.0.0 '@types/supertest': ^7.0.0 + cross-env: ^10.0.0 did-resolver: ~4.1.0 eslint: ^10.0.0 globals: ^16.0.0 @@ -55,4 +57,4 @@ overrides: class-validator: 0.14.1 patchedDependencies: - '@credo-ts/core@0.5.10': patches/@credo-ts__core@0.5.10.patch + '@credo-ts/core@0.7.0': patches/@credo-ts__core@0.7.0.patch diff --git a/tests/e2e/package.json b/tests/e2e/package.json index 436b64a0..0ff369e6 100644 --- a/tests/e2e/package.json +++ b/tests/e2e/package.json @@ -4,7 +4,7 @@ "main": "index.js", "scripts": { "build": "rimraf dist && tsc", - "test": "jest --runInBand" + "test": "cross-env \"NODE_OPTIONS=--experimental-vm-modules --require ../../jest-setup/preload.cjs\" jest --runInBand" }, "keywords": [], "author": "", @@ -27,7 +27,8 @@ "ts-node": "catalog:", "tsconfig-paths": "catalog:", "typescript": "catalog:", - "@types/node": "catalog:" + "@types/node": "catalog:", + "cross-env": "catalog:" }, "jest": { "moduleFileExtensions": [ @@ -44,6 +45,11 @@ "**/*.(t|j)s" ], "coverageDirectory": "../coverage", - "testEnvironment": "node" + "testEnvironment": "node", + "moduleNameMapper": { + "^@openwallet-foundation/askar-nodejs$": "/../../../jest-setup/askar-nodejs.cjs", + "^@openwallet-foundation/askar-shared$": "/../../../jest-setup/askar-shared.cjs", + "^webcrypto-core$": "/../../../node_modules/.pnpm/node_modules/webcrypto-core/build/webcrypto-core.js" + } } } From e736fb89e6244ce89bb87d0ef0d14d209894dd91 Mon Sep 17 00:00:00 2001 From: John Henderson Date: Fri, 3 Jul 2026 09:18:18 -0400 Subject: [PATCH 2/6] fix(jest): resolve setup paths relative to each package For the shared root jest.config.js, jest resolves to the package under test (the directory containing its package.json), not the repository root - CI caught the wrong mapper paths that local runs of individual packages had not. webcrypto-core now goes through the same preload singleton mechanism as the askar packages instead of a hard-coded pnpm virtual-store path, which also removes the dependence on pnpm hoisting internals. Co-Authored-By: Claude Fable 5 Signed-off-by: John Henderson --- apps/vc-api/package.json | 2 +- apps/vc-api/test/jest-e2e.json | 2 +- jest-setup/preload.cjs | 26 +++++++++++++++++--------- jest-setup/webcrypto-core.cjs | 8 ++++++++ jest.config.js | 8 +++++--- tests/e2e/package.json | 2 +- 6 files changed, 33 insertions(+), 15 deletions(-) create mode 100644 jest-setup/webcrypto-core.cjs diff --git a/apps/vc-api/package.json b/apps/vc-api/package.json index 2e04c875..9f87c417 100644 --- a/apps/vc-api/package.json +++ b/apps/vc-api/package.json @@ -94,7 +94,7 @@ "moduleNameMapper": { "^@openwallet-foundation/askar-nodejs$": "/../../../jest-setup/askar-nodejs.cjs", "^@openwallet-foundation/askar-shared$": "/../../../jest-setup/askar-shared.cjs", - "^webcrypto-core$": "/../../../node_modules/.pnpm/node_modules/webcrypto-core/build/webcrypto-core.js" + "^webcrypto-core$": "/../../../jest-setup/webcrypto-core.cjs" } } } diff --git a/apps/vc-api/test/jest-e2e.json b/apps/vc-api/test/jest-e2e.json index 453333d8..84a460a8 100644 --- a/apps/vc-api/test/jest-e2e.json +++ b/apps/vc-api/test/jest-e2e.json @@ -9,6 +9,6 @@ "moduleNameMapper": { "^@openwallet-foundation/askar-nodejs$": "/../../../jest-setup/askar-nodejs.cjs", "^@openwallet-foundation/askar-shared$": "/../../../jest-setup/askar-shared.cjs", - "^webcrypto-core$": "/../../../node_modules/.pnpm/node_modules/webcrypto-core/build/webcrypto-core.js" + "^webcrypto-core$": "/../../../jest-setup/webcrypto-core.cjs" } } diff --git a/jest-setup/preload.cjs b/jest-setup/preload.cjs index e857a31c..87e6c565 100644 --- a/jest-setup/preload.cjs +++ b/jest-setup/preload.cjs @@ -1,20 +1,27 @@ // Preloaded via NODE_OPTIONS --require (see the test scripts), OUTSIDE jest's // module sandbox. The askar packages register native (koffi) types that are // process-global and must only ever be loaded once per worker process, while -// jest re-executes modules once per test file. The instances are stashed on -// globalThis and handed back to every jest module registry by the shims in -// this directory (wired up through moduleNameMapper). +// jest re-executes modules once per test file. webcrypto-core is a dual +// (CJS+ESM) package that jest would otherwise load in both formats at once. +// The instances are stashed on globalThis and handed back to every jest +// module registry by the shims in this directory (wired up through +// moduleNameMapper). const { createRequire } = require('node:module'); const path = require('node:path'); // Resolve from the package the tests run in (process.cwd()); tests/e2e only -// has askar transitively, so fall back to resolving through the app package. +// has the dependencies transitively, so fall back to resolving through the +// app package and through @credo-ts/core (for its own dependencies). const bases = [path.join(process.cwd(), 'noop.js')]; -try { - const cwdRequire = createRequire(bases[0]); - bases.push(cwdRequire.resolve('@energyweb/ssi-vc-api/package.json')); -} catch { - // the app package is not a dependency here; cwd resolution must work +for (const id of ['@energyweb/ssi-vc-api/package.json', '@credo-ts/core/package.json']) { + for (const base of [...bases]) { + try { + bases.push(createRequire(base).resolve(id)); + break; + } catch { + // not resolvable from this base; try the next one + } + } } function requireFromBases(id) { @@ -31,3 +38,4 @@ function requireFromBases(id) { globalThis.__askarShared = requireFromBases('@openwallet-foundation/askar-shared'); globalThis.__askarNodeJs = requireFromBases('@openwallet-foundation/askar-nodejs'); +globalThis.__webcryptoCore = requireFromBases('webcrypto-core'); diff --git a/jest-setup/webcrypto-core.cjs b/jest-setup/webcrypto-core.cjs new file mode 100644 index 00000000..0906013b --- /dev/null +++ b/jest-setup/webcrypto-core.cjs @@ -0,0 +1,8 @@ +// moduleNameMapper target for 'webcrypto-core' under jest - returns the +// singleton (CJS build) loaded by preload.cjs +if (!globalThis.__webcryptoCore) { + throw new Error( + 'webcrypto-core preload missing: run jest with NODE_OPTIONS including --require /jest-setup/preload.cjs' + ); +} +module.exports = globalThis.__webcryptoCore; diff --git a/jest.config.js b/jest.config.js index 4e2c2611..4a2353f7 100644 --- a/jest.config.js +++ b/jest.config.js @@ -9,10 +9,12 @@ module.exports = { // Pin dual (CJS+ESM) packages to their CJS build so a package is never // loaded in both module formats at once (which jest rejects when a // require() and a concurrent import() hit the same file). + // NOTE: for this shared config, jest's is the package under test + // (the directory with the package.json), not the repository root moduleNameMapper: { - '^@openwallet-foundation/askar-nodejs$': '/jest-setup/askar-nodejs.cjs', - '^@openwallet-foundation/askar-shared$': '/jest-setup/askar-shared.cjs', - '^webcrypto-core$': '/node_modules/.pnpm/node_modules/webcrypto-core/build/webcrypto-core.js' + '^@openwallet-foundation/askar-nodejs$': '/../../jest-setup/askar-nodejs.cjs', + '^@openwallet-foundation/askar-shared$': '/../../jest-setup/askar-shared.cjs', + '^webcrypto-core$': '/../../jest-setup/webcrypto-core.cjs' }, testRegex: '(/__tests__/.*|\\.(test|spec))\\.(ts|tsx)$', moduleFileExtensions: ['ts', 'tsx', 'js', 'json'], diff --git a/tests/e2e/package.json b/tests/e2e/package.json index 0ff369e6..d8340cbd 100644 --- a/tests/e2e/package.json +++ b/tests/e2e/package.json @@ -49,7 +49,7 @@ "moduleNameMapper": { "^@openwallet-foundation/askar-nodejs$": "/../../../jest-setup/askar-nodejs.cjs", "^@openwallet-foundation/askar-shared$": "/../../../jest-setup/askar-shared.cjs", - "^webcrypto-core$": "/../../../node_modules/.pnpm/node_modules/webcrypto-core/build/webcrypto-core.js" + "^webcrypto-core$": "/../../../jest-setup/webcrypto-core.cjs" } } } From ef413f882d6442eda9edbfe2ca626c786e877c7b Mon Sep 17 00:00:00 2001 From: John Henderson Date: Fri, 3 Jul 2026 10:02:22 -0400 Subject: [PATCH 3/6] test: define ConsentCredential type in the consent credential context Credo 0.7's JSON-LD stack signs in safe mode, which rejects credentials using terms that their context does not define (previously the unknown type was silently dropped from the signed document). Define the ConsentCredential type term in the consent credential fixture, matching what the credentials e2e suite already does. Co-Authored-By: Claude Fable 5 Signed-off-by: John Henderson --- .../consent-and-resident-card-credential-exchange.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/vc-api/test/vc-api/exchanges/consent-and-resident-card-credentialexchange/consent-and-resident-card-credential-exchange.ts b/apps/vc-api/test/vc-api/exchanges/consent-and-resident-card-credentialexchange/consent-and-resident-card-credential-exchange.ts index 5458b3c7..da39bd00 100644 --- a/apps/vc-api/test/vc-api/exchanges/consent-and-resident-card-credentialexchange/consent-and-resident-card-credential-exchange.ts +++ b/apps/vc-api/test/vc-api/exchanges/consent-and-resident-card-credentialexchange/consent-and-resident-card-credential-exchange.ts @@ -98,7 +98,8 @@ export class ConsentandResidentCardCredentialIssuance { 'https://www.w3.org/2018/credentials/v1', { elia: 'https://www.eliagroup.eu/ld-context-2022#', - consent: 'elia:consent' + consent: 'elia:consent', + ConsentCredential: 'elia:ConsentCredential' } ], id: 'urn:uuid:49f69fb8-f256-4b2e-b15d-c7ebec3a507e', From 1b13ab1f653d089698af5f02d56db39a6e34f6a0 Mon Sep 17 00:00:00 2001 From: John Henderson Date: Fri, 3 Jul 2026 10:15:09 -0400 Subject: [PATCH 4/6] chore: log submission verification failures; bump nock - Log the errors at warn level when a presentation submission fails verification in the exchanges and workflows submission verifiers - useful for operating the service and for diagnosing e2e failures in CI, where only the resulting 400 status was visible - nock 14.0.0 -> 14.0.16 (bugfix releases for the newer Node runtimes) Co-Authored-By: Claude Fable 5 Signed-off-by: John Henderson --- apps/vc-api/package.json | 44 +++++++-------- .../vp-submission-verifier.service.ts | 7 ++- .../vp-submission-verifier.service.ts | 7 ++- pnpm-lock.yaml | 54 +++++++++++-------- 4 files changed, 67 insertions(+), 45 deletions(-) diff --git a/apps/vc-api/package.json b/apps/vc-api/package.json index 9f87c417..884dba4a 100644 --- a/apps/vc-api/package.json +++ b/apps/vc-api/package.json @@ -24,56 +24,56 @@ "update-openapi": "npm run write-openapi; git add docs/openapi.json" }, "dependencies": { + "@credo-ts/askar": "catalog:", + "@credo-ts/core": "catalog:", + "@credo-ts/node": "catalog:", + "@digitalcredentials/jsonld-signatures": "^12.0.1", "@energyweb/ssi-did": "workspace:*", "@energyweb/w3c-ccg-webkms": "workspace:*", + "@nestjs/axios": "^4.0.0", "@nestjs/common": "catalog:", "@nestjs/config": "^4.0.0", "@nestjs/core": "catalog:", "@nestjs/platform-express": "catalog:", + "@nestjs/serve-static": "^5.0.0", + "@nestjs/swagger": "^11.4.0", "@nestjs/typeorm": "^11.0.0", + "@openwallet-foundation/askar-nodejs": "catalog:", + "@openwallet-foundation/askar-shared": "catalog:", + "@sphereon/pex": "1.1.3", + "axios": "~1.18.1", + "class-transformer": "~0.5.1", + "class-validator": "~0.14.3", + "did-resolver": "catalog:", + "joi": "^17.9.2", "jose": "catalog:", "reflect-metadata": "catalog:", "rimraf": "catalog:", "rxjs": "^7.8.1", - "typeorm": "^0.3.17", - "did-resolver": "catalog:", - "class-validator": "~0.14.3", - "class-transformer": "~0.5.1", - "@nestjs/swagger": "^11.4.0", - "swagger-ui-express": "~5.0.1", - "uuid": "~9.0.0", - "@sphereon/pex": "1.1.3", - "@nestjs/axios": "^4.0.0", - "@nestjs/serve-static": "^5.0.0", - "joi": "^17.9.2", - "axios": "~1.18.1", - "@credo-ts/askar": "catalog:", - "@credo-ts/core": "catalog:", - "@credo-ts/node": "catalog:", "sqlite3": "~5.1.7", - "@openwallet-foundation/askar-nodejs": "catalog:", - "@openwallet-foundation/askar-shared": "catalog:", - "@digitalcredentials/jsonld-signatures": "^12.0.1" + "swagger-ui-express": "~5.0.1", + "typeorm": "^0.3.17", + "uuid": "~9.0.0" }, "devDependencies": { "@nestjs/cli": "^11.0.0", "@nestjs/schematics": "^11.0.0", "@nestjs/testing": "catalog:", + "@sphereon/pex-models": "~2.0.2", "@types/express": "^5.0.0", "@types/jest": "catalog:", "@types/node": "catalog:", "@types/supertest": "catalog:", + "cross-env": "catalog:", "jest": "catalog:", + "nock": "^14.0.16", "prettier": "catalog:", "supertest": "catalog:", "ts-jest": "catalog:", "ts-loader": "catalog:", "ts-node": "catalog:", "tsconfig-paths": "catalog:", - "typescript": "catalog:", - "nock": "^14.0.0", - "@sphereon/pex-models": "~2.0.2", - "cross-env": "catalog:" + "typescript": "catalog:" }, "jest": { "moduleFileExtensions": [ diff --git a/apps/vc-api/src/vc-api/exchanges/vp-submission-verifier.service.ts b/apps/vc-api/src/vc-api/exchanges/vp-submission-verifier.service.ts index 13376dd0..eec7db1c 100644 --- a/apps/vc-api/src/vc-api/exchanges/vp-submission-verifier.service.ts +++ b/apps/vc-api/src/vc-api/exchanges/vp-submission-verifier.service.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { Injectable } from '@nestjs/common'; +import { Injectable, Logger } from '@nestjs/common'; import { ProofPurpose, IPresentationDefinition, PEX, IPresentation } from '@sphereon/pex'; import { CredentialsService } from '../credentials/credentials.service'; import { VpRequestEntity } from './entities/vp-request.entity'; @@ -21,6 +21,8 @@ import { VerificationResultDto } from '../credentials/dtos/verification-result.d */ @Injectable() export class VpSubmissionVerifierService implements SubmissionVerifier { + private readonly logger = new Logger(VpSubmissionVerifierService.name, { timestamp: true }); + constructor(private credentialsService: CredentialsService) {} public async verifyVpRequestSubmission( @@ -37,6 +39,9 @@ export class VpSubmissionVerifierService implements SubmissionVerifier { ...proofVerifiactionResult.problemDetails, ...vpRequestValidationErrors.map((error) => ({ title: error })) ]; + if (errors.length > 0) { + this.logger.warn(`presentation submission verification failed: ${JSON.stringify(errors)}`); + } return { verified: proofVerifiactionResult.verified, errors, diff --git a/apps/vc-api/src/vc-api/workflows/vp-submission-verifier.service.ts b/apps/vc-api/src/vc-api/workflows/vp-submission-verifier.service.ts index d5f68e2d..163b4c11 100644 --- a/apps/vc-api/src/vc-api/workflows/vp-submission-verifier.service.ts +++ b/apps/vc-api/src/vc-api/workflows/vp-submission-verifier.service.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import { Injectable } from '@nestjs/common'; +import { Injectable, Logger } from '@nestjs/common'; import { ProofPurpose, IPresentationDefinition, PEX, IPresentation } from '@sphereon/pex'; import { CredentialsService } from '../credentials/credentials.service'; import { SubmissionVerifier } from './types/submission-verifier'; @@ -21,6 +21,8 @@ import { VpRequestDto } from './dtos/vp-request.dto'; */ @Injectable() export class VpSubmissionVerifierService implements SubmissionVerifier { + private readonly logger = new Logger(VpSubmissionVerifierService.name, { timestamp: true }); + constructor(private credentialsService: CredentialsService) {} public async verifyVpRequestSubmission( @@ -37,6 +39,9 @@ export class VpSubmissionVerifierService implements SubmissionVerifier { ...proofVerifiactionResult.problemDetails, ...vpRequestValidationErrors.map((error) => ({ title: error })) ]; + if (errors.length > 0) { + this.logger.warn(`presentation submission verification failed: ${JSON.stringify(errors)}`); + } return { verified: proofVerifiactionResult.verified, errors, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4110f428..b76215b1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -262,8 +262,8 @@ importers: specifier: 'catalog:' version: 30.4.2(@types/node@24.13.2)(ts-node@10.9.2(@types/node@24.13.2)(typescript@5.9.3)) nock: - specifier: ^14.0.0 - version: 14.0.0 + specifier: ^14.0.16 + version: 14.0.16 prettier: specifier: 'catalog:' version: 3.9.4 @@ -1155,8 +1155,8 @@ packages: '@microsoft/tsdoc@0.16.0': resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} - '@mswjs/interceptors@0.37.6': - resolution: {integrity: sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==} + '@mswjs/interceptors@0.41.9': + resolution: {integrity: sha512-VVPPgHyQ6ShqnrmDWuxjmUIsO9gWyOZFmuOfLd9LfBGQJwZfy0gvv9pbHSJuoFNIYC7ZDX9aoFwowjcdSC4E8w==} engines: {node: '>=18'} '@multiformats/base-x@4.0.1': @@ -1652,6 +1652,9 @@ packages: '@types/node@24.13.2': resolution: {integrity: sha512-fRa09kZTgu8o71KFcDjUFuc7F+dEbZYZmkI0mg5YBTRs0yMKjYHsq/c0urDKeDb+D5qVgXOdFcuu+DZPKOITwA==} + '@types/node@26.1.0': + resolution: {integrity: sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==} + '@types/qs@6.15.1': resolution: {integrity: sha512-GZHUBZR9hckSUhrxmp1nG6NwdpM9fCunJwyThLW1X3AyHgd9IlHb6VANpQQqDr2o/qQp6McZ3y/IA2rVzKzSbw==} @@ -3784,9 +3787,9 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - nock@14.0.0: - resolution: {integrity: sha512-3Z2ZoZoYTR/y2I+NI16+6IzfZFKBX7MrADtoBAm7v/QKqxQUhKw+Dh+847PPS1j/FDutjfIXfrh3CJF74yITWg==} - engines: {node: '>= 18'} + nock@14.0.16: + resolution: {integrity: sha512-8r4KEc6nT1D/fdLD/R1BO1CPaVEL8o40u/guFRJlXabN7vr3RmMqyjsY5Krt0nMwhsOAwXQ/mtN5vy5Jh3aErg==} + engines: {node: '>=18.20.0 <20 || >=20.12.1'} node-abi@3.93.0: resolution: {integrity: sha512-Cu6yUpX5Iavugm8BeX7c0wgU9CvOqfd1yM6A1d2q2ZMjym7GjpASv2GdRcTq3Fx+Sb5OgBkEEpw4VnAbY6Y5RA==} @@ -4065,8 +4068,8 @@ packages: resolution: {integrity: sha512-lSyJeN3RuaG7DZGWThtYRhk96+kEyZ/+doZpERuWbjeFL+Ok3vEat/swU498rAI0NcVt5/RJp8UDuLz7FckxrA==} engines: {node: '>=18'} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + range-parser@1.3.0: + resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==} engines: {node: '>= 0.6'} raw-body@3.0.2: @@ -4764,6 +4767,9 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + undici-types@8.3.0: + resolution: {integrity: sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==} + undici@6.27.0: resolution: {integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==} engines: {node: '>=18.17'} @@ -5938,7 +5944,7 @@ snapshots: '@jest/pattern@30.4.0': dependencies: - '@types/node': 24.13.2 + '@types/node': 26.1.0 jest-regex-util: 30.4.0 '@jest/reporters@30.4.1': @@ -6058,7 +6064,7 @@ snapshots: '@jest/schemas': 30.4.1 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 24.13.2 + '@types/node': 26.1.0 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -6101,7 +6107,7 @@ snapshots: '@microsoft/tsdoc@0.16.0': {} - '@mswjs/interceptors@0.37.6': + '@mswjs/interceptors@0.41.9': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -6707,6 +6713,10 @@ snapshots: dependencies: undici-types: 7.18.2 + '@types/node@26.1.0': + dependencies: + undici-types: 8.3.0 + '@types/qs@6.15.1': {} '@types/range-parser@1.2.7': {} @@ -7994,7 +8004,7 @@ snapshots: parseurl: 1.3.3 proxy-addr: 2.0.7 qs: 6.15.3 - range-parser: 1.2.1 + range-parser: 1.3.0 router: 2.2.0 send: 1.2.1 serve-static: 2.2.1 @@ -8697,7 +8707,7 @@ snapshots: jest-haste-map@30.4.1: dependencies: '@jest/types': 30.4.1 - '@types/node': 24.13.2 + '@types/node': 26.1.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -8858,7 +8868,7 @@ snapshots: jest-util@30.4.1: dependencies: '@jest/types': 30.4.1 - '@types/node': 24.13.2 + '@types/node': 26.1.0 chalk: 4.1.2 ci-info: 4.4.0 graceful-fs: 4.2.11 @@ -8886,7 +8896,7 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 24.13.2 + '@types/node': 26.1.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -8899,7 +8909,7 @@ snapshots: jest-worker@30.4.1: dependencies: - '@types/node': 24.13.2 + '@types/node': 26.1.0 '@ungap/structured-clone': 1.3.2 jest-util: 30.4.1 merge-stream: 2.0.0 @@ -9218,9 +9228,9 @@ snapshots: neo-async@2.6.2: {} - nock@14.0.0: + nock@14.0.16: dependencies: - '@mswjs/interceptors': 0.37.6 + '@mswjs/interceptors': 0.41.9 json-stringify-safe: 5.0.1 propagate: 2.0.1 @@ -9511,7 +9521,7 @@ snapshots: filter-obj: 5.1.0 split-on-first: 3.0.0 - range-parser@1.2.1: {} + range-parser@1.3.0: {} raw-body@3.0.2: dependencies: @@ -9663,7 +9673,7 @@ snapshots: mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 - range-parser: 1.2.1 + range-parser: 1.3.0 statuses: 2.0.2 transitivePeerDependencies: - supports-color @@ -10276,6 +10286,8 @@ snapshots: undici-types@7.18.2: {} + undici-types@8.3.0: {} + undici@6.27.0: {} unique-filename@1.1.1: From 9e3ea24a70af7a1da95fe681f85b0de154e15c40 Mon Sep 17 00:00:00 2001 From: John Henderson Date: Fri, 3 Jul 2026 10:27:51 -0400 Subject: [PATCH 5/6] test: fix consent context filter and callback race - The presentation definitions in the consent-and-resident-card suite pin the consent credential's inline context with additionalProperties: false; allow the ConsentCredential type term that the credential now defines (required by Credo 0.7's safe-mode JSON-LD signing) - Exchange callbacks are submitted fire-and-forget by the server, so poll the nock scope instead of asserting immediately; Credo 0.7's verification is slow enough that CI consistently lost this race in the workflows suite Co-Authored-By: Claude Fable 5 Signed-off-by: John Henderson --- ...t-and-resident-card-presentation.exchange.ts | 6 ++++++ .../resident-card/resident-card.e2e-suite.ts | 17 +++++++++++++++-- .../resident-card/resident-card.e2e-suite.ts | 17 +++++++++++++++-- 3 files changed, 36 insertions(+), 4 deletions(-) diff --git a/apps/vc-api/test/vc-api/exchanges/consent-and-resident-card-credentialexchange/consent-and-resident-card-presentation.exchange.ts b/apps/vc-api/test/vc-api/exchanges/consent-and-resident-card-credentialexchange/consent-and-resident-card-presentation.exchange.ts index ba2002c8..55e798af 100644 --- a/apps/vc-api/test/vc-api/exchanges/consent-and-resident-card-credentialexchange/consent-and-resident-card-presentation.exchange.ts +++ b/apps/vc-api/test/vc-api/exchanges/consent-and-resident-card-credentialexchange/consent-and-resident-card-presentation.exchange.ts @@ -111,6 +111,9 @@ export class ConsentAndResidentCardPresentation { }, consent: { const: 'elia:consent' + }, + ConsentCredential: { + const: 'elia:ConsentCredential' } }, additionalProperties: false, @@ -245,6 +248,9 @@ export class ConsentAndResidentCardPresentation { }, consent: { const: 'elia:consent' + }, + ConsentCredential: { + const: 'elia:ConsentCredential' } }, additionalProperties: false, diff --git a/apps/vc-api/test/vc-api/exchanges/resident-card/resident-card.e2e-suite.ts b/apps/vc-api/test/vc-api/exchanges/resident-card/resident-card.e2e-suite.ts index 5f8bb129..152aad84 100644 --- a/apps/vc-api/test/vc-api/exchanges/resident-card/resident-card.e2e-suite.ts +++ b/apps/vc-api/test/vc-api/exchanges/resident-card/resident-card.e2e-suite.ts @@ -61,7 +61,7 @@ export const residentCardLegacyExchangeSuite = () => { for (let i = 0; i < numHolderQueriesPriorToIssuance; i++) { await walletClient.continueExchange(issuanceExchangeContinuationEndpoint, didAuthVp, true, true); } - issuanceCallbackScope.done(); + await waitForScope(issuanceCallbackScope); // As the issuer, get the transaction // TODO TODO TODO!!! How does the issuer know the transactionId? -> Maybe can rely on notification @@ -129,6 +129,19 @@ export const residentCardLegacyExchangeSuite = () => { // Holder submits presentation await walletClient.continueExchange(presentationExchangeContinuationEndpoint, vp, false); - presentationCallbackScope.done(); + await waitForScope(presentationCallbackScope); }); }; + +/** + * The server submits exchange callbacks without awaiting them, so give the + * fire-and-forget request a moment to reach the nock interceptor before + * asserting on the scope. + */ +async function waitForScope(scope: nock.Scope, timeoutMs = 5000): Promise { + const start = Date.now(); + while (!scope.isDone() && Date.now() - start < timeoutMs) { + await new Promise((resolve) => setTimeout(resolve, 50)); + } + scope.done(); +} diff --git a/apps/vc-api/test/vc-api/workflows/resident-card/resident-card.e2e-suite.ts b/apps/vc-api/test/vc-api/workflows/resident-card/resident-card.e2e-suite.ts index 7f238639..a5b8b9ce 100644 --- a/apps/vc-api/test/vc-api/workflows/resident-card/resident-card.e2e-suite.ts +++ b/apps/vc-api/test/vc-api/workflows/resident-card/resident-card.e2e-suite.ts @@ -79,7 +79,7 @@ export const residentCardWorkflowSuite = () => { false ); } - issuanceCallbackScope.done(); + await waitForScope(issuanceCallbackScope); // As the issuer, get the step submission const urlComponents = issuanceExchangeContinuationEndpoint.split('/'); @@ -172,6 +172,19 @@ export const residentCardWorkflowSuite = () => { // Holder submits presentation await walletClient.continueWorkflowExchange(presentationExchangeContinuationEndpoint, vp, 'vpRequest'); - presentationCallbackScope.done(); + await waitForScope(presentationCallbackScope); }); }; + +/** + * The server submits exchange callbacks without awaiting them, so give the + * fire-and-forget request a moment to reach the nock interceptor before + * asserting on the scope. + */ +async function waitForScope(scope: nock.Scope, timeoutMs = 5000): Promise { + const start = Date.now(); + while (!scope.isDone() && Date.now() - start < timeoutMs) { + await new Promise((resolve) => setTimeout(resolve, 50)); + } + scope.done(); +} From 0e46f9117de94643ff86ac3e1e3476a53066abe5 Mon Sep 17 00:00:00 2001 From: John Henderson Date: Fri, 3 Jul 2026 10:21:40 -0400 Subject: [PATCH 6/6] test: print response bodies and nock mismatches on e2e failures CI does not reliably capture the app's own stdout, so failing exchange continuations only showed a bare status code. Print the response body from the test side when the status is unexpected, and surface nock 'no match' events for callback requests. Co-Authored-By: Claude Fable 5 Signed-off-by: John Henderson --- apps/vc-api/test/app.e2e-spec.ts | 8 ++++++++ apps/vc-api/test/wallet-client.ts | 20 ++++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/apps/vc-api/test/app.e2e-spec.ts b/apps/vc-api/test/app.e2e-spec.ts index 3def45c2..e99f0858 100644 --- a/apps/vc-api/test/app.e2e-spec.ts +++ b/apps/vc-api/test/app.e2e-spec.ts @@ -28,6 +28,14 @@ export let app: INestApplication; export let walletClient: WalletClient; export const vcApiBaseUrl = `${API_DEFAULT_VERSION_PREFIX}/vc-api`; +// Surface any callback request that nock rejects; the server only logs these +// on its own stdout, which CI does not reliably capture +// eslint-disable-next-line @typescript-eslint/no-require-imports +import * as nock from 'nock'; +nock.emitter.on('no match', (req) => { + console.error(`NOCK no match: ${req?.method} ${req?.host ?? ''}${req?.path ?? ''}`); +}); + describe('App (e2e)', () => { beforeEach(async () => { const moduleFixture: TestingModule = await Test.createTestingModule({ diff --git a/apps/vc-api/test/wallet-client.ts b/apps/vc-api/test/wallet-client.ts index c1789a67..9d3909dc 100644 --- a/apps/vc-api/test/wallet-client.ts +++ b/apps/vc-api/test/wallet-client.ts @@ -134,8 +134,14 @@ export class WalletClient { ) { const continueExchangeResponse = await request(this.#app.getHttpServer()) .put(exchangeContinuationEndpoint) - .send(vp) - .expect(expectsProcessionInProgress ? 202 : 200); + .send(vp); + const expectedStatus = expectsProcessionInProgress ? 202 : 200; + if (continueExchangeResponse.status !== expectedStatus) { + console.error( + `continueExchange returned ${continueExchangeResponse.status}: ${JSON.stringify(continueExchangeResponse.body)}` + ); + } + expect(continueExchangeResponse.status).toEqual(expectedStatus); expect(continueExchangeResponse.body.errors).toHaveLength(0); if (expectsVpRequest) { expect(continueExchangeResponse.body.vpRequest).toBeDefined(); @@ -203,8 +209,14 @@ export class WalletClient { .post(exchangeContinuationEndpoint) .send({ verifiablePresentation: vp - }) - .expect(expectsProcessingInProgress ? 202 : 200); + }); + const expectedWfStatus = expectsProcessingInProgress ? 202 : 200; + if (continueExchangeResponse.status !== expectedWfStatus) { + console.error( + `continueWorkflowExchange returned ${continueExchangeResponse.status}: ${JSON.stringify(continueExchangeResponse.body)}` + ); + } + expect(continueExchangeResponse.status).toEqual(expectedWfStatus); const body = continueExchangeResponse.body as WfExchangeResponseDto;