diff --git a/.github/workflows/build-test-on-pr.yml b/.github/workflows/build-test-on-pr.yml index 0fc670720..b9f6b9d0c 100644 --- a/.github/workflows/build-test-on-pr.yml +++ b/.github/workflows/build-test-on-pr.yml @@ -47,6 +47,7 @@ jobs: SPHEREON_SSI_MSAL_CLIENT_SECRET: ${{ secrets.SPHEREON_SSI_MSAL_CLIENT_SECRET }} SPHEREON_SSI_MSAL_USERNAME: ${{ secrets.SPHEREON_SSI_MSAL_USERNAME }} SPHEREON_SSI_MSAL_PASSWORD: ${{ secrets.SPHEREON_SSI_MSAL_PASSWORD }} + GEO_IP_DB_PATH: ${{ secrets.GEO_IP_DB_PATH || 'packages/anomaly-detection/__tests__/shared/GeoLite2-Country.mmdb' }} run: pnpm test:ci - uses: codecov/codecov-action@v4 with: diff --git a/.github/workflows/build-test-publish-on-push.yml b/.github/workflows/build-test-publish-on-push.yml index 1b7fb10a2..833b43a09 100644 --- a/.github/workflows/build-test-publish-on-push.yml +++ b/.github/workflows/build-test-publish-on-push.yml @@ -51,6 +51,7 @@ jobs: SPHEREON_SSI_MSAL_CLIENT_SECRET: ${{ secrets.SPHEREON_SSI_MSAL_CLIENT_SECRET }} SPHEREON_SSI_MSAL_USERNAME: ${{ secrets.SPHEREON_SSI_MSAL_USERNAME }} SPHEREON_SSI_MSAL_PASSWORD: ${{ secrets.SPHEREON_SSI_MSAL_PASSWORD }} + GEO_IP_DB_PATH: ${{ secrets.GEO_IP_DB_PATH || 'packages/anomaly-detection/__tests__/shared/GeoLite2-Country.mmdb' }} INCLUDE_POSTGRES_TESTS: true POSTGRES_HOST: localhost POSTGRES_USER: postgres diff --git a/.gitignore b/.gitignore index 939f3a58a..1f804300f 100644 --- a/.gitignore +++ b/.gitignore @@ -75,6 +75,8 @@ test/*.js /packages/event-logger/plugin.schema.json /packages/credential-validation/plugin.schema.json /packages/oidf-client/plugin.schema.json +/packages/anomaly-detection/plugin.schema.json +/packages/anomaly-detection-store/plugin.schema.json **/.env.energyshr **/.env.local diff --git a/packages/anomaly-detection-store/CHANGELOG.md b/packages/anomaly-detection-store/CHANGELOG.md new file mode 100644 index 000000000..ba15bb589 --- /dev/null +++ b/packages/anomaly-detection-store/CHANGELOG.md @@ -0,0 +1,187 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.30.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.30.0...v0.30.1) (2024-10-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.29.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.28.0...v0.29.0) (2024-08-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.28.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.27.0...v0.28.0) (2024-07-23) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.27.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.26.0...v0.27.0) (2024-07-07) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.26.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.25.0...v0.26.0) (2024-06-19) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.25.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.24.0...v0.25.0) (2024-06-13) + +### Features + +- (WIP) added ownerId, tenantId, and origin. ([d9b8623](https://github.com/Sphereon-Opensource/SSI-SDK/commit/d9b8623178b2a9f8dd7fae8ccfd3569e1e80d7b7)) + +# [0.24.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.23.4...v0.24.0) (2024-06-05) + +### Bug Fixes + +- enum fixes ([dc3fb0d](https://github.com/Sphereon-Opensource/SSI-SDK/commit/dc3fb0de9a6c61794cbce0e8a280a10be1c48314)) + +### Features + +- expose contact manager methods for rest implementation ([37bbfd2](https://github.com/Sphereon-Opensource/SSI-SDK/commit/37bbfd21db2197c1af027a958aab9551a932aaca)) + +## [0.23.4](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.23.2...v0.23.4) (2024-04-25) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.23.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.22.0...v0.23.0) (2024-04-24) + +### Bug Fixes + +- made party origin mandatory in the \*Args types ([d8e8560](https://github.com/Sphereon-Opensource/SSI-SDK/commit/d8e8560a27a61ff34e41b4513811e7a112bdd1a2)) + +### Features + +- Added PartyOriginEnum to PartyType, wrote migrations and updated tests and updated the contact manager plugin ([07d8c1f](https://github.com/Sphereon-Opensource/SSI-SDK/commit/07d8c1f7cdec110ced10277abd4d70edeb15c2d3)) + +# [0.22.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.21.1...v0.22.0) (2024-04-04) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.21.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.21.0...v0.21.1) (2024-04-04) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.21.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.19.0...v0.21.0) (2024-03-20) + +### Reverts + +- Remove BBS support. ([205e0db](https://github.com/Sphereon-Opensource/SSI-SDK/commit/205e0db2bb985bf33a618576955d8b28a39ff932)) + +### BREAKING CHANGES + +- Remove BBS support. Upstream support for Windows and RN is missing. Needs to be revisited at a later point in time + +# [0.19.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.18.1...v0.19.0) (2024-03-02) + +### Features + +- added physical and electronic addresses to contact-manager ([76f78b3](https://github.com/Sphereon-Opensource/SSI-SDK/commit/76f78b34b99c47b4c16fd9682d2520a7637219f7)) + +## [0.18.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.18.0...v0.18.1) (2024-01-19) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.18.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.5...v0.18.0) (2024-01-13) + +### Features + +- Add static bearer token callback function option ([2d5cd5a](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2d5cd5ad429aa5bf7a1864ce6a09bf2196e37d63)) + +## [0.17.5](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.4...v0.17.5) (2023-10-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.17.4](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.3...v0.17.4) (2023-10-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.17.3](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.2...v0.17.3) (2023-09-30) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.17.2](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.1...v0.17.2) (2023-09-30) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.17.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.0...v0.17.1) (2023-09-28) + +### Bug Fixes + +- update deps to fix an issue with VCI offer ids not mapping on issuer metadata ([aa6f98c](https://github.com/Sphereon-Opensource/SSI-SDK/commit/aa6f98c951b41b9273a9128fbc0c08f4eb5aa41b)) + +# [0.17.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.16.0...v0.17.0) (2023-09-28) + +### Features + +- Do not raise an error by default in case we encounter a VC with a statuslist we do not support. More strict scenario's are supported with an optional parm ([4a634b7](https://github.com/Sphereon-Opensource/SSI-SDK/commit/4a634b77aadb59b93dd384018e64045fe95762e7)) + +# [0.16.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.15.1...v0.16.0) (2023-09-28) + +### Features + +- Add support for an OIDC BFF Passport based solution to express. Allows for SPA to work IDPs that require confidential clients ([d4e082c](https://github.com/Sphereon-Opensource/SSI-SDK/commit/d4e082c76693b2449a0bf101db99e974fe4a796f)) + +## [0.15.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.15.0...v0.15.1) (2023-08-10) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.15.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.14.1...v0.15.0) (2023-08-10) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.14.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.14.0...v0.14.1) (2023-07-31) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.14.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.13.0...v0.14.0) (2023-07-30) + +### Bug Fixes + +- VP did resolution from agent ([aa3f3f1](https://github.com/Sphereon-Opensource/SSI-SDK/commit/aa3f3f1173f502c5414a2237231306311ed4d1fc)) + +# [0.13.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.12.0...v0.13.0) (2023-06-24) + +### Features + +- Allow setting SIOP RP default opts also after construction, as sometimes you need to agent which is not available yet at construction time ([bf871da](https://github.com/Sphereon-Opensource/SSI-SDK/commit/bf871dab0dc670c4e072d177998c6890f28b8fa7)) + +# [0.12.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.11.0...v0.12.0) (2023-06-21) + +### Features + +- move to pnpm ([2714a9c](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2714a9c786b8591de41310a83aff19f62cf65e77)) + +### Reverts + +- Revert "chore: remove plugin schemas" ([2870d77](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2870d77a6e1919e94f554e71100fbcdb4fed47af)) + +# [0.11.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.10.1...v0.11.0) (2023-05-07) + +### Features + +- Create new agent-config module to replace the deps on Veramo cli, which pulls in everything ([673856f](https://github.com/Sphereon-Opensource/SSI-SDK/commit/673856f587885743300aaafea791e3696d9c456f)) + +# [0.10.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.9.0...v0.10.0) (2023-04-30) + +### Features + +- Add better internal handling of JWT proof values used in JsonLD converted credentials ([90004c5](https://github.com/Sphereon-Opensource/SSI-SDK/commit/90004c5886cd3f645f979b5e81dfc03e3ff3b862)) + +# [0.9.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.8.0...v0.9.0) (2023-03-09) + +### Features + +- Allow to relax JWT timing checks, where the JWT claim is slightly different from the VC claim. Used for issuance and expiration dates ([85bff6d](https://github.com/Sphereon-Opensource/SSI-SDK/commit/85bff6da21dea5d8f636ea1f55b41be00b18b002)) +- Jsonweb2020 sig support ([43a3adf](https://github.com/Sphereon-Opensource/SSI-SDK/commit/43a3adfbe683ee4040a293cc5b75d17a029d7c49)) + +# [0.8.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.7.0...v0.8.0) (2022-09-03) + +**Note:** Version bump only for package @sphereon/ssi-sdk-connection-manager + +# [0.7.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.6.0...v0.7.0) (2022-08-05) + +**Note:** Version bump only for package @sphereon/ssi-sdk-connection-manager + +# [0.6.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.5.1...v0.6.0) (2022-07-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk-connection-manager diff --git a/packages/anomaly-detection-store/LICENSE b/packages/anomaly-detection-store/LICENSE new file mode 100644 index 000000000..aedeb278e --- /dev/null +++ b/packages/anomaly-detection-store/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2024] [Sphereon International B.V.] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/anomaly-detection-store/README.md b/packages/anomaly-detection-store/README.md new file mode 100644 index 000000000..3a39ad875 --- /dev/null +++ b/packages/anomaly-detection-store/README.md @@ -0,0 +1,55 @@ + +

+
+ Sphereon +
Anomaly Detection Store (Typescript) +
+

+ +--- + +**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!** + +--- + +A Veramo anomaly detection store plugin. This plugin stores the result of the location lookup which is part of the anomaly detection plugin + +## Available functions + +- lookupLocation + +## Usage + +### Adding the plugin to an agent: + +```typescript +import { AnomalyDetectionStore } from '@sphereon/ssi-sdk.anomaly-detection' + +const agent = createAgent({ + plugins: [ + new AnomalyDetectionStore({ + geoIpDBPath: './GeoLite2-Country.mmdb', + }), + ], +}) +``` + +### Lookup a location: + +```typescript +const result = await agent.lookupLocation({ + ipOrHostname: '2001:0000:130F:0000:0000:09C0:876A:130B' +}) +``` + +## Installation + +```shell +yarn add @sphereon/ssi-sdk.contact-manager +``` + +## Build + +```shell +yarn build +``` diff --git a/packages/anomaly-detection-store/__tests__/localAgent.test.ts b/packages/anomaly-detection-store/__tests__/localAgent.test.ts new file mode 100644 index 000000000..a233dde97 --- /dev/null +++ b/packages/anomaly-detection-store/__tests__/localAgent.test.ts @@ -0,0 +1,33 @@ +import {createObjects, getConfig} from '../../agent-config/dist' +import {DataSource} from 'typeorm' +import anomalyDetectionStoreAgentLogic from './shared/anomalyDetectionAgentStoreLogic' + +jest.setTimeout(60000) + +let dbConnection: Promise +let agent: any + +const setup = async (): Promise => { + const config = await getConfig('packages/anomaly-detection-store/agent.yml') + const { localAgent, db } = await createObjects(config, { localAgent: '/agent', db: '/dbConnection' }) + agent = localAgent + dbConnection = db + + return true +} + +const tearDown = async (): Promise => { + await (await dbConnection).close() + return true +} + +const getAgent = () => agent +const testContext = { + getAgent, + setup, + tearDown, +} + +describe('Local integration tests', (): void => { + anomalyDetectionStoreAgentLogic(testContext) +}) diff --git a/packages/anomaly-detection-store/__tests__/restAgent.test.ts b/packages/anomaly-detection-store/__tests__/restAgent.test.ts new file mode 100644 index 000000000..6eced3798 --- /dev/null +++ b/packages/anomaly-detection-store/__tests__/restAgent.test.ts @@ -0,0 +1,71 @@ +import 'cross-fetch/polyfill' +// @ts-ignore +import express, {Router} from 'express' +import {Server} from 'http' +import {DataSource} from 'typeorm' +import {createAgent, IAgent, IAgentOptions} from '@veramo/core' +import {AgentRestClient} from '@veramo/remote-client' +import {AgentRouter, RequestWithAgentRouter} from '@veramo/remote-server' +import {createObjects, getConfig} from '../../agent-config/dist' +import {IAnomalyDetectionStore} from '../src' +import anomalyDetectionStoreAgentLogic from './shared/anomalyDetectionAgentStoreLogic' + +jest.setTimeout(60000) + +const port = 4212 +const basePath = '/agent' + +let serverAgent: IAgent +let restServer: Server +let dbConnection: Promise + +const getAgent = (options?: IAgentOptions) => + createAgent({ + ...options, + plugins: [ + new AgentRestClient({ + url: 'http://localhost:' + port + basePath, + enabledMethods: serverAgent.availableMethods(), + schema: serverAgent.getSchema(), + }), + ], + }) + +const setup = async (): Promise => { + const config = await getConfig('packages/anomaly-detection-store/agent.yml') + const { agent, db } = await createObjects(config, { agent: '/agent', db: '/dbConnection' }) + serverAgent = agent + dbConnection = db + + const agentRouter = AgentRouter({ + exposedMethods: serverAgent.availableMethods(), + }) + + const requestWithAgent: Router = RequestWithAgentRouter({ + agent: serverAgent, + }) + + return new Promise((resolve): void => { + const app = express() + app.use(basePath, requestWithAgent, agentRouter) + restServer = app.listen(port, (): void => { + resolve(true) + }) + }) +} + +const tearDown = async (): Promise => { + restServer.close() + await (await dbConnection).close() + return true +} + +const testContext = { + getAgent, + setup, + tearDown, +} + +describe('REST integration tests', (): void => { + anomalyDetectionStoreAgentLogic(testContext) +}) diff --git a/packages/anomaly-detection-store/__tests__/shared/anomalyDetectionAgentStoreLogic.ts b/packages/anomaly-detection-store/__tests__/shared/anomalyDetectionAgentStoreLogic.ts new file mode 100644 index 000000000..9eb029f0c --- /dev/null +++ b/packages/anomaly-detection-store/__tests__/shared/anomalyDetectionAgentStoreLogic.ts @@ -0,0 +1,89 @@ +import { TAgent } from '@veramo/core' + +import { IAnomalyDetectionStore } from '../../src' + +type ConfiguredAgent = TAgent + +export default (testContext: { getAgent: () => ConfiguredAgent; setup: () => Promise; tearDown: () => Promise }): void => { + describe('Anomaly Detection Store Agent Plugin', (): void => { + let agent: ConfiguredAgent + let ip: string + let location: { continent: string; country: string } + + beforeAll(async (): Promise => { + ip = '77.247.248.1' + location = { continent: 'EU', country: 'AL' } + await testContext.setup() + agent = testContext.getAgent() + }) + + afterAll(testContext.tearDown) + + it('should persist location', async () => { + await expect( + agent.anomalyDetectionStorePersistLocation({ + ipOrHostname: ip, + locationArgs: location + }), + ).resolves.toEqual({ value: location }) + + await expect(agent.anomalyDetectionStoreHasLocation({ + ipOrHostname: ip, + storeId: '_default', + namespace: 'anomaly-detection' + })).resolves.toBeTruthy() + }) + + it('should have a location persisted', async () => { + await expect(agent.anomalyDetectionStoreGetLocation({ + ipOrHostname: ip, + storeId: '_default', + namespace: 'anomaly-detection'} + )).resolves.toEqual(location) + }) + + it('should retrieve a location', async () => { + const ipv6 = '2001:4860:7:27f::f5' + const ipv6Location = { + continent: 'NA', + country: 'US', + } + await agent.anomalyDetectionStorePersistLocation({ + ipOrHostname: ipv6, + locationArgs: ipv6Location + }) + + await expect(agent.anomalyDetectionStoreGetLocation({ + storeId: '_default', + namespace: 'anomaly-detection', + ipOrHostname: ipv6 + })).resolves.toEqual(ipv6Location) + }) + + it('should remove a location', async () => { + const hostname = 'sphereon.com' + const hostnameLocation = { + continent: 'EU', + country: 'DE', + } + await agent.anomalyDetectionStorePersistLocation({ + ipOrHostname: hostname, + locationArgs: hostnameLocation + }) + + await expect(agent.anomalyDetectionStoreRemoveLocation({ + ipOrHostname: ip, + storeId: '_default', + namespace: 'anomaly-detection' + })).resolves.toBeTruthy() + }) + + it('should remove all locations', async () => { + await expect(agent.anomalyDetectionStoreClearAllLocations()).resolves.toBeTruthy() + }) + + it('should retrieve the default location store', async () => { + await expect(agent.anomalyDetectionStoreDefaultLocationStore()).resolves.toBeDefined() + }) + }) +} diff --git a/packages/anomaly-detection-store/agent.yml b/packages/anomaly-detection-store/agent.yml new file mode 100644 index 000000000..e82e7a132 --- /dev/null +++ b/packages/anomaly-detection-store/agent.yml @@ -0,0 +1,83 @@ +version: 3.0 + +constants: + baseUrl: http://localhost:3335 + port: 3335 + methods: + - lookupLocation + +dbConnection: + $require: typeorm?t=function#createConnection + $args: + - type: sqlite + database: ':memory:' + synchronize: false + migrationsRun: true + migrations: + $require: './packages/data-store?t=object#DataStoreMigrations' + entities: + $require: './packages/data-store?t=object#DataStoreContactEntities' + +server: + baseUrl: + $ref: /constants/baseUrl + port: + $ref: /constants/port + use: + # CORS + - - $require: 'cors' + + # Add agent to the request object + - - $require: '@veramo/remote-server?t=function#RequestWithAgentRouter' + $args: + - agent: + $ref: /agent + + # API base path + - - /agent + - $require: '@veramo/remote-server?t=function#apiKeyAuth' + $args: + # Please configure your own API key. This is used when executing agent methods through ${baseUrl}/agent or ${baseUrl}/api-docs + - apiKey: test123 + - $require: '@veramo/remote-server?t=function#AgentRouter' + $args: + - exposedMethods: + $ref: /constants/methods + + # Open API schema + - - /open-api.json + - $require: '@veramo/remote-server?t=function#ApiSchemaRouter' + $args: + - basePath: :3335/agent + securityScheme: bearer + apiName: Agent + apiVersion: '1.0.0' + exposedMethods: + $ref: /constants/methods + + # Swagger docs + - - /api-docs + - $require: swagger-ui-express?t=object#serve + - $require: swagger-ui-express?t=function#setup + $args: + - null + - swaggerOptions: + url: '/open-api.json' + + # Execute during server initialization + init: + - $require: '@veramo/remote-server?t=function#createDefaultDid' + $args: + - agent: + $ref: /agent + baseUrl: + $ref: /constants/baseUrl + messagingServiceEndpoint: /messaging + +# Agent +agent: + $require: '@veramo/core#Agent' + $args: + - schemaValidation: false + plugins: + - $require: ./packages/anomaly-detection-store/dist#AnomalyDetectionStore diff --git a/packages/anomaly-detection-store/api-extractor.json b/packages/anomaly-detection-store/api-extractor.json new file mode 100644 index 000000000..94c2c6a9f --- /dev/null +++ b/packages/anomaly-detection-store/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../include/api-extractor-base.json" +} diff --git a/packages/anomaly-detection-store/package.json b/packages/anomaly-detection-store/package.json new file mode 100644 index 000000000..936d7676f --- /dev/null +++ b/packages/anomaly-detection-store/package.json @@ -0,0 +1,49 @@ +{ + "name": "@sphereon/ssi-sdk.anomaly-detection-store", + "version": "0.30.1", + "source": "src/index.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "veramo": { + "pluginInterfaces": { + "IAnomalyDetectionStore": "./src/types/IAnomalyDetectionStore.ts" + } + }, + "scripts": { + "build": "tsc", + "build:clean": "tsc --build --clean && tsc --build", + "generate-plugin-schema": "ts-node ../../packages/dev/bin/sphereon.js dev generate-plugin-schema" + }, + "dependencies": { + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*" + }, + "devDependencies": { + "@sphereon/ssi-sdk.agent-config": "workspace:*", + "@types/node": "^20.17.1", + "@veramo/remote-client": "4.2.0", + "@veramo/remote-server": "4.2.0", + "typeorm": "^0.3.20" + }, + "files": [ + "dist/**/*", + "src/**/*", + "README.md", + "plugin.schema.json", + "LICENSE" + ], + "private": false, + "publishConfig": { + "access": "public" + }, + "repository": "git@github.com:Sphereon-Opensource/SSI-SDK.git", + "author": "Sphereon ", + "license": "Apache-2.0", + "keywords": [ + "Sphereon", + "SSI", + "Veramo", + "Anomaly Detection", + "Anomaly Detection Store" + ], + "nx": {} +} diff --git a/packages/anomaly-detection-store/src/agent/AnomalyDetectionStore.ts b/packages/anomaly-detection-store/src/agent/AnomalyDetectionStore.ts new file mode 100644 index 000000000..6fdaf2554 --- /dev/null +++ b/packages/anomaly-detection-store/src/agent/AnomalyDetectionStore.ts @@ -0,0 +1,140 @@ +import {IAgentPlugin} from '@veramo/core' +import { + AnomalyDetectionStoreArgs, + AnomalyDetectionStoreClearAllLocationsArgs, + AnomalyDetectionStoreLocation, + AnomalyDetectionStoreLocationPersistArgs, + AnomalyDetectionStoreLocationResult, + AnomalyDetectionStoreLocationResultIValueData, + AnomalyDetectionStoreLocationResultOrUndefined, + IAnomalyDetectionStore, + schema +} from '../index' + +import {IKeyValueStore, KeyValueStore, ValueStoreType} from "@sphereon/ssi-sdk.kv-store-temp"; + +export const anomalyDetectionStoreMethods: Array = [ + 'anomalyDetectionStorePersistLocation', + 'anomalyDetectionStoreHasLocation', + 'anomalyDetectionStoreRemoveLocation', + 'anomalyDetectionStoreClearAllLocations', + 'anomalyDetectionStoreGetLocation', + 'anomalyDetectionStoreDefaultLocationStore' +] + +/** + * {@inheritDoc IAnomalyDetectionStore} + */ +export class AnomalyDetectionStore implements IAgentPlugin { + readonly schema = schema.IAnomalyDetectionStore + private readonly defaultStoreId: string + private readonly defaultNamespace: string + private readonly _dnsLookupStore: Map> + + readonly methods: IAnomalyDetectionStore = { + anomalyDetectionStorePersistLocation: this.anomalyDetectionStorePersistLocation.bind(this), + anomalyDetectionStoreHasLocation: this.anomalyDetectionStoreHasLocation.bind(this), + anomalyDetectionStoreRemoveLocation: this.anomalyDetectionStoreRemoveLocation.bind(this), + anomalyDetectionStoreClearAllLocations: this.anomalyDetectionStoreClearAllLocations.bind(this), + anomalyDetectionStoreGetLocation: this.anomalyDetectionStoreGetLocation.bind(this), + anomalyDetectionStoreDefaultLocationStore: this.anomalyDetectionStoreDefaultLocationStore.bind(this) + } + + constructor(args: { + defaultStoreId?: string; + defaultNamespace?: string; + dnsLookupStore?: Map> | IKeyValueStore + }) { + this.defaultStoreId = args?.defaultStoreId ?? '_default' + this.defaultNamespace = args?.defaultNamespace ?? 'anomaly-detection' + + if (args?.dnsLookupStore !== undefined && args?.dnsLookupStore !== null && args.dnsLookupStore instanceof Map) { + this._dnsLookupStore = args.dnsLookupStore + } else { + this._dnsLookupStore = new Map().set( + this.defaultStoreId, + new KeyValueStore({ + namespace: this.defaultNamespace, + store: new Map(), + }), + ) + } + } + + private async anomalyDetectionStorePersistLocation(args: AnomalyDetectionStoreLocationPersistArgs): Promise { + const storeId = this.storeIdStr(args) + const namespace = this.namespaceStr(args) + const { ipOrHostname, locationArgs, ttl } = args + + if (args?.validation !== false) { + // TODO + } + const existing = await this.store({ stores: this._dnsLookupStore, storeId }).getAsValueData( + this.prefix({ + namespace, + ipOrHostname, + }), + ) + if (!existing.value || (existing.value && args?.overwriteExisting !== false)) { + return await this.store({ stores: this._dnsLookupStore, storeId }).set( + this.prefix({ + namespace, + ipOrHostname, + }), + locationArgs, + ttl, + ) + } + return existing + } + + private async anomalyDetectionStoreHasLocation(args: AnomalyDetectionStoreArgs): Promise { + const { storeId, namespace, ipOrHostname } = { ...args } + return this.store({ stores: this._dnsLookupStore, storeId }).has(this.prefix({ namespace, ipOrHostname })) + } + + private async anomalyDetectionStoreRemoveLocation(args: AnomalyDetectionStoreArgs): Promise { + const { storeId, namespace, ipOrHostname } = { ...args } + return this.store({ stores: this._dnsLookupStore, storeId }).delete(this.prefix({ namespace, ipOrHostname })) + } + + private async anomalyDetectionStoreClearAllLocations(args: AnomalyDetectionStoreClearAllLocationsArgs): Promise { + const { storeId } = { ...args } + return await this.store({ stores: this._dnsLookupStore, storeId }) + .clear() + .then(() => true) + } + + private async anomalyDetectionStoreGetLocation(args: AnomalyDetectionStoreArgs): Promise { + const { storeId, namespace, ipOrHostname } = { ... args } + return this.store({ + stores: this._dnsLookupStore, + storeId, + }).get(this.prefix({ namespace, ipOrHostname })) + } + + private store(args: { stores: Map>; storeId?: string }): IKeyValueStore { + const storeId = this.storeIdStr({ storeId: args.storeId }) + const store = args.stores.get(storeId) + if (!store) { + throw Error(`Could not get issuer metadata store: ${storeId}`) + } + return store + } + + private storeIdStr({ storeId }: { storeId?: string }): string { + return storeId ?? this.defaultStoreId + } + + private anomalyDetectionStoreDefaultLocationStore(): Promise { + return Promise.resolve(this.store({ stores: this._dnsLookupStore, storeId: this.defaultStoreId })) + } + + private namespaceStr({ namespace }: { namespace?: string }): string { + return namespace ?? this.defaultNamespace + } + + private prefix({ namespace, ipOrHostname }: { namespace?: string; ipOrHostname: string }): string { + return `${this.namespaceStr({ namespace })}:${ipOrHostname}` + } +} diff --git a/packages/anomaly-detection-store/src/index.ts b/packages/anomaly-detection-store/src/index.ts new file mode 100644 index 000000000..72b6e29e7 --- /dev/null +++ b/packages/anomaly-detection-store/src/index.ts @@ -0,0 +1,7 @@ +/** + * @public + */ +const schema = require('../plugin.schema.json') +export { schema } +export { AnomalyDetectionStore, anomalyDetectionStoreMethods } from './agent/AnomalyDetectionStore' +export * from './types/IAnomalyDetectionStore' diff --git a/packages/anomaly-detection-store/src/types/IAnomalyDetectionStore.ts b/packages/anomaly-detection-store/src/types/IAnomalyDetectionStore.ts new file mode 100644 index 000000000..73520a701 --- /dev/null +++ b/packages/anomaly-detection-store/src/types/IAnomalyDetectionStore.ts @@ -0,0 +1,43 @@ +import {IPluginMethodMap} from '@veramo/core' +import {IKeyValueStore, IValueData} from "@sphereon/ssi-sdk.kv-store-temp"; + +export interface IAnomalyDetectionStore extends IPluginMethodMap { + anomalyDetectionStoreDefaultLocationStore(): Promise + anomalyDetectionStorePersistLocation(args: AnomalyDetectionStoreLocationPersistArgs): Promise + anomalyDetectionStoreHasLocation(args: AnomalyDetectionStoreArgs): Promise + anomalyDetectionStoreRemoveLocation(args: AnomalyDetectionStoreArgs): Promise + anomalyDetectionStoreClearAllLocations(args: AnomalyDetectionStoreClearAllLocationsArgs): Promise + anomalyDetectionStoreGetLocation(args: AnomalyDetectionStoreArgs): Promise +} + +export type AnomalyDetectionStoreLocation = { + continent?: string + country?: string +} + +export type AnomalyDetectionStorePersistArgs = { + ipOrHostname: string + overwriteExisting?: boolean + validation?: boolean + ttl?: number + storeId?: string + namespace?: string +} + +export type AnomalyDetectionStoreArgs = { + ipOrHostname: string + storeId: string + namespace: string +} + +export type AnomalyDetectionStoreClearAllLocationsArgs = Pick + +export type AnomalyDetectionStoreLocationPersistArgs = AnomalyDetectionStorePersistArgs & { + locationArgs: AnomalyDetectionStoreLocation +} + +export type AnomalyDetectionStoreLocationResult = IKeyValueStore + +export type AnomalyDetectionStoreLocationResultOrUndefined = AnomalyDetectionStoreLocation | undefined + +export type AnomalyDetectionStoreLocationResultIValueData = IValueData diff --git a/packages/anomaly-detection-store/tsconfig.json b/packages/anomaly-detection-store/tsconfig.json new file mode 100644 index 000000000..766143ba8 --- /dev/null +++ b/packages/anomaly-detection-store/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../tsconfig-base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "declarationDir": "dist" + }, + "references": [ + { + "path": "../agent-config" + }, + { + "path": "../kv-store" + } + ] +} diff --git a/packages/anomaly-detection/CHANGELOG.md b/packages/anomaly-detection/CHANGELOG.md new file mode 100644 index 000000000..ba15bb589 --- /dev/null +++ b/packages/anomaly-detection/CHANGELOG.md @@ -0,0 +1,187 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +## [0.30.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.30.0...v0.30.1) (2024-10-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.29.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.28.0...v0.29.0) (2024-08-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.28.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.27.0...v0.28.0) (2024-07-23) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.27.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.26.0...v0.27.0) (2024-07-07) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.26.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.25.0...v0.26.0) (2024-06-19) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.25.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.24.0...v0.25.0) (2024-06-13) + +### Features + +- (WIP) added ownerId, tenantId, and origin. ([d9b8623](https://github.com/Sphereon-Opensource/SSI-SDK/commit/d9b8623178b2a9f8dd7fae8ccfd3569e1e80d7b7)) + +# [0.24.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.23.4...v0.24.0) (2024-06-05) + +### Bug Fixes + +- enum fixes ([dc3fb0d](https://github.com/Sphereon-Opensource/SSI-SDK/commit/dc3fb0de9a6c61794cbce0e8a280a10be1c48314)) + +### Features + +- expose contact manager methods for rest implementation ([37bbfd2](https://github.com/Sphereon-Opensource/SSI-SDK/commit/37bbfd21db2197c1af027a958aab9551a932aaca)) + +## [0.23.4](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.23.2...v0.23.4) (2024-04-25) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.23.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.22.0...v0.23.0) (2024-04-24) + +### Bug Fixes + +- made party origin mandatory in the \*Args types ([d8e8560](https://github.com/Sphereon-Opensource/SSI-SDK/commit/d8e8560a27a61ff34e41b4513811e7a112bdd1a2)) + +### Features + +- Added PartyOriginEnum to PartyType, wrote migrations and updated tests and updated the contact manager plugin ([07d8c1f](https://github.com/Sphereon-Opensource/SSI-SDK/commit/07d8c1f7cdec110ced10277abd4d70edeb15c2d3)) + +# [0.22.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.21.1...v0.22.0) (2024-04-04) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.21.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.21.0...v0.21.1) (2024-04-04) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.21.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.19.0...v0.21.0) (2024-03-20) + +### Reverts + +- Remove BBS support. ([205e0db](https://github.com/Sphereon-Opensource/SSI-SDK/commit/205e0db2bb985bf33a618576955d8b28a39ff932)) + +### BREAKING CHANGES + +- Remove BBS support. Upstream support for Windows and RN is missing. Needs to be revisited at a later point in time + +# [0.19.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.18.1...v0.19.0) (2024-03-02) + +### Features + +- added physical and electronic addresses to contact-manager ([76f78b3](https://github.com/Sphereon-Opensource/SSI-SDK/commit/76f78b34b99c47b4c16fd9682d2520a7637219f7)) + +## [0.18.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.18.0...v0.18.1) (2024-01-19) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.18.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.5...v0.18.0) (2024-01-13) + +### Features + +- Add static bearer token callback function option ([2d5cd5a](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2d5cd5ad429aa5bf7a1864ce6a09bf2196e37d63)) + +## [0.17.5](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.4...v0.17.5) (2023-10-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.17.4](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.3...v0.17.4) (2023-10-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.17.3](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.2...v0.17.3) (2023-09-30) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.17.2](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.1...v0.17.2) (2023-09-30) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.17.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.17.0...v0.17.1) (2023-09-28) + +### Bug Fixes + +- update deps to fix an issue with VCI offer ids not mapping on issuer metadata ([aa6f98c](https://github.com/Sphereon-Opensource/SSI-SDK/commit/aa6f98c951b41b9273a9128fbc0c08f4eb5aa41b)) + +# [0.17.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.16.0...v0.17.0) (2023-09-28) + +### Features + +- Do not raise an error by default in case we encounter a VC with a statuslist we do not support. More strict scenario's are supported with an optional parm ([4a634b7](https://github.com/Sphereon-Opensource/SSI-SDK/commit/4a634b77aadb59b93dd384018e64045fe95762e7)) + +# [0.16.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.15.1...v0.16.0) (2023-09-28) + +### Features + +- Add support for an OIDC BFF Passport based solution to express. Allows for SPA to work IDPs that require confidential clients ([d4e082c](https://github.com/Sphereon-Opensource/SSI-SDK/commit/d4e082c76693b2449a0bf101db99e974fe4a796f)) + +## [0.15.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.15.0...v0.15.1) (2023-08-10) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.15.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.14.1...v0.15.0) (2023-08-10) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +## [0.14.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.14.0...v0.14.1) (2023-07-31) + +**Note:** Version bump only for package @sphereon/ssi-sdk.contact-manager + +# [0.14.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.13.0...v0.14.0) (2023-07-30) + +### Bug Fixes + +- VP did resolution from agent ([aa3f3f1](https://github.com/Sphereon-Opensource/SSI-SDK/commit/aa3f3f1173f502c5414a2237231306311ed4d1fc)) + +# [0.13.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.12.0...v0.13.0) (2023-06-24) + +### Features + +- Allow setting SIOP RP default opts also after construction, as sometimes you need to agent which is not available yet at construction time ([bf871da](https://github.com/Sphereon-Opensource/SSI-SDK/commit/bf871dab0dc670c4e072d177998c6890f28b8fa7)) + +# [0.12.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.11.0...v0.12.0) (2023-06-21) + +### Features + +- move to pnpm ([2714a9c](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2714a9c786b8591de41310a83aff19f62cf65e77)) + +### Reverts + +- Revert "chore: remove plugin schemas" ([2870d77](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2870d77a6e1919e94f554e71100fbcdb4fed47af)) + +# [0.11.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.10.1...v0.11.0) (2023-05-07) + +### Features + +- Create new agent-config module to replace the deps on Veramo cli, which pulls in everything ([673856f](https://github.com/Sphereon-Opensource/SSI-SDK/commit/673856f587885743300aaafea791e3696d9c456f)) + +# [0.10.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.9.0...v0.10.0) (2023-04-30) + +### Features + +- Add better internal handling of JWT proof values used in JsonLD converted credentials ([90004c5](https://github.com/Sphereon-Opensource/SSI-SDK/commit/90004c5886cd3f645f979b5e81dfc03e3ff3b862)) + +# [0.9.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.8.0...v0.9.0) (2023-03-09) + +### Features + +- Allow to relax JWT timing checks, where the JWT claim is slightly different from the VC claim. Used for issuance and expiration dates ([85bff6d](https://github.com/Sphereon-Opensource/SSI-SDK/commit/85bff6da21dea5d8f636ea1f55b41be00b18b002)) +- Jsonweb2020 sig support ([43a3adf](https://github.com/Sphereon-Opensource/SSI-SDK/commit/43a3adfbe683ee4040a293cc5b75d17a029d7c49)) + +# [0.8.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.7.0...v0.8.0) (2022-09-03) + +**Note:** Version bump only for package @sphereon/ssi-sdk-connection-manager + +# [0.7.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.6.0...v0.7.0) (2022-08-05) + +**Note:** Version bump only for package @sphereon/ssi-sdk-connection-manager + +# [0.6.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.5.1...v0.6.0) (2022-07-01) + +**Note:** Version bump only for package @sphereon/ssi-sdk-connection-manager diff --git a/packages/anomaly-detection/LICENSE b/packages/anomaly-detection/LICENSE new file mode 100644 index 000000000..aedeb278e --- /dev/null +++ b/packages/anomaly-detection/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [2024] [Sphereon International B.V.] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/anomaly-detection/README.md b/packages/anomaly-detection/README.md new file mode 100644 index 000000000..33101723f --- /dev/null +++ b/packages/anomaly-detection/README.md @@ -0,0 +1,55 @@ + +

+
+ Sphereon +
Anomaly Detection (Typescript) +
+

+ +--- + +**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!** + +--- + +A Veramo anomaly detection plugin. This plugin identifies the location of an URL + +## Available functions + +- lookupLocation + +## Usage + +### Adding the plugin to an agent: + +```typescript +import { AnomalyDetection } from '@sphereon/ssi-sdk.anomaly-detection' + +const agent = createAgent({ + plugins: [ + new AnomalyDetection({ + geoIpDBPath: './GeoLite2-Country.mmdb', + }), + ], +}) +``` + +### Lookup a location: + +```typescript +const result = await agent.lookupLocation({ + ipOrHostname: '2001:0000:130F:0000:0000:09C0:876A:130B' +}) +``` + +## Installation + +```shell +yarn add @sphereon/ssi-sdk.contact-manager +``` + +## Build + +```shell +yarn build +``` diff --git a/packages/anomaly-detection/__tests__/localAgent.test.ts b/packages/anomaly-detection/__tests__/localAgent.test.ts new file mode 100644 index 000000000..d4940eb9c --- /dev/null +++ b/packages/anomaly-detection/__tests__/localAgent.test.ts @@ -0,0 +1,35 @@ +import { createObjects, getConfig } from '../../agent-config/dist' +import { DataSource } from 'typeorm' + +jest.setTimeout(60000) + +import anomalyDetectionAgentLogic from './shared/anomalyDetectionAgentLogic' + +let dbConnection: Promise +let agent: any + +const setup = async (): Promise => { + const config = await getConfig('packages/anomaly-detection/agent.yml') + config.agent.$args[0].plugins[0].$args[0].geoIpDB.$args[0].path = process.env.GEO_IP_DB_PATH + const { localAgent, db } = await createObjects(config, { localAgent: '/agent', db: '/dbConnection' }) + agent = localAgent + dbConnection = db + + return true +} + +const tearDown = async (): Promise => { + await (await dbConnection).close() + return true +} + +const getAgent = () => agent +const testContext = { + getAgent, + setup, + tearDown, +} + +describe('Local integration tests', (): void => { + anomalyDetectionAgentLogic(testContext) +}) diff --git a/packages/anomaly-detection/__tests__/restAgent.test.ts b/packages/anomaly-detection/__tests__/restAgent.test.ts new file mode 100644 index 000000000..4e9cf284c --- /dev/null +++ b/packages/anomaly-detection/__tests__/restAgent.test.ts @@ -0,0 +1,72 @@ +import 'cross-fetch/polyfill' +// @ts-ignore +import express, { Router } from 'express' +import { Server } from 'http' +import { DataSource } from 'typeorm' +import { IAgent, createAgent, IAgentOptions } from '@veramo/core' +import { AgentRestClient } from '@veramo/remote-client' +import { AgentRouter, RequestWithAgentRouter } from '@veramo/remote-server' +import { createObjects, getConfig } from '../../agent-config/dist' +import { IAnomalyDetection } from '../src' +import anomalyDetectionAgentLogic from './shared/anomalyDetectionAgentLogic' + +jest.setTimeout(60000) + +const port = 4212 +const basePath = '/agent' + +let serverAgent: IAgent +let restServer: Server +let dbConnection: Promise + +const getAgent = (options?: IAgentOptions) => + createAgent({ + ...options, + plugins: [ + new AgentRestClient({ + url: 'http://localhost:' + port + basePath, + enabledMethods: serverAgent.availableMethods(), + schema: serverAgent.getSchema(), + }), + ], + }) + +const setup = async (): Promise => { + const config = await getConfig('packages/anomaly-detection/agent.yml') + config.agent.$args[0].plugins[0].$args[0].geoIpDB.$args[0].path = process.env.GEO_IP_DB_PATH + const { agent, db } = await createObjects(config, { agent: '/agent', db: '/dbConnection' }) + serverAgent = agent + dbConnection = db + + const agentRouter = AgentRouter({ + exposedMethods: serverAgent.availableMethods(), + }) + + const requestWithAgent: Router = RequestWithAgentRouter({ + agent: serverAgent, + }) + + return new Promise((resolve): void => { + const app = express() + app.use(basePath, requestWithAgent, agentRouter) + restServer = app.listen(port, (): void => { + resolve(true) + }) + }) +} + +const tearDown = async (): Promise => { + restServer.close() + await (await dbConnection).close() + return true +} + +const testContext = { + getAgent, + setup, + tearDown, +} + +describe('REST integration tests', (): void => { + anomalyDetectionAgentLogic(testContext) +}) diff --git a/packages/anomaly-detection/__tests__/shared/GeoLite2-Country.mmdb b/packages/anomaly-detection/__tests__/shared/GeoLite2-Country.mmdb new file mode 100644 index 000000000..a5d4460bf Binary files /dev/null and b/packages/anomaly-detection/__tests__/shared/GeoLite2-Country.mmdb differ diff --git a/packages/anomaly-detection/__tests__/shared/anomalyDetectionAgentLogic.ts b/packages/anomaly-detection/__tests__/shared/anomalyDetectionAgentLogic.ts new file mode 100644 index 000000000..18b211901 --- /dev/null +++ b/packages/anomaly-detection/__tests__/shared/anomalyDetectionAgentLogic.ts @@ -0,0 +1,51 @@ +import { TAgent } from '@veramo/core' + +import { IAnomalyDetection } from '../../src' + +type ConfiguredAgent = TAgent + +export default (testContext: { getAgent: () => ConfiguredAgent; setup: () => Promise; tearDown: () => Promise }): void => { + describe('Anomaly Detection Agent Plugin', (): void => { + let agent: ConfiguredAgent + + beforeAll(async (): Promise => { + await testContext.setup() + agent = testContext.getAgent() + }) + + afterAll(testContext.tearDown) + + it('should lookup the location of an IPv4 address', async () => { + await expect( + agent.anomalyDetectionLookupLocation({ + ipOrHostname: '77.247.248.1', + }), + ).resolves.toEqual({ + continent: 'EU', + country: 'AL', + }) + }) + + it('should lookup the location of an IPv6 address', async () => { + await expect( + agent.anomalyDetectionLookupLocation({ + ipOrHostname: '2001:4860:7:27f::f5', + }), + ).resolves.toEqual({ + continent: 'NA', + country: 'US', + }) + }) + + it('should lookup the location of a hostname', async () => { + await expect( + agent.anomalyDetectionLookupLocation({ + ipOrHostname: 'sphereon.com', + }), + ).resolves.toEqual({ + continent: 'EU', + country: 'DE', + }) + }) + }) +} diff --git a/packages/anomaly-detection/agent.yml b/packages/anomaly-detection/agent.yml new file mode 100644 index 000000000..c174a3c5d --- /dev/null +++ b/packages/anomaly-detection/agent.yml @@ -0,0 +1,89 @@ +version: 3.0 + +constants: + baseUrl: http://localhost:3335 + port: 3335 + methods: + - lookupLocation + +dbConnection: + $require: typeorm?t=function#createConnection + $args: + - type: sqlite + database: ':memory:' + synchronize: false + migrationsRun: true + migrations: + $require: './packages/data-store?t=object#DataStoreMigrations' + entities: + $require: './packages/data-store?t=object#DataStoreContactEntities' + +server: + baseUrl: + $ref: /constants/baseUrl + port: + $ref: /constants/port + use: + # CORS + - - $require: 'cors' + + # Add agent to the request object + - - $require: '@veramo/remote-server?t=function#RequestWithAgentRouter' + $args: + - agent: + $ref: /agent + + # API base path + - - /agent + - $require: '@veramo/remote-server?t=function#apiKeyAuth' + $args: + # Please configure your own API key. This is used when executing agent methods through ${baseUrl}/agent or ${baseUrl}/api-docs + - apiKey: test123 + - $require: '@veramo/remote-server?t=function#AgentRouter' + $args: + - exposedMethods: + $ref: /constants/methods + + # Open API schema + - - /open-api.json + - $require: '@veramo/remote-server?t=function#ApiSchemaRouter' + $args: + - basePath: :3335/agent + securityScheme: bearer + apiName: Agent + apiVersion: '1.0.0' + exposedMethods: + $ref: /constants/methods + + # Swagger docs + - - /api-docs + - $require: swagger-ui-express?t=object#serve + - $require: swagger-ui-express?t=function#setup + $args: + - null + - swaggerOptions: + url: '/open-api.json' + + # Execute during server initialization + init: + - $require: '@veramo/remote-server?t=function#createDefaultDid' + $args: + - agent: + $ref: /agent + baseUrl: + $ref: /constants/baseUrl + messagingServiceEndpoint: /messaging + +# Agent +agent: + $require: '@veramo/core#Agent' + $args: + - schemaValidation: false + plugins: + - $require: ./packages/anomaly-detection/dist#AnomalyDetection + $args: + - geoIpDB: + $require: 'fs?t=function#readFileSync' + $args: + - path: + $env: GEO_IP_DB_PATH diff --git a/packages/anomaly-detection/api-extractor.json b/packages/anomaly-detection/api-extractor.json new file mode 100644 index 000000000..94c2c6a9f --- /dev/null +++ b/packages/anomaly-detection/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../include/api-extractor-base.json" +} diff --git a/packages/anomaly-detection/example.env b/packages/anomaly-detection/example.env new file mode 100644 index 000000000..4d1b60eb9 --- /dev/null +++ b/packages/anomaly-detection/example.env @@ -0,0 +1 @@ +GEO_IP_DB_PATH=./packages/anomaly-detection/__tests__/shared/GeoLite2-Country.mmdb diff --git a/packages/anomaly-detection/package.json b/packages/anomaly-detection/package.json new file mode 100644 index 000000000..a62d8717f --- /dev/null +++ b/packages/anomaly-detection/package.json @@ -0,0 +1,53 @@ +{ + "name": "@sphereon/ssi-sdk.anomaly-detection", + "version": "0.30.1", + "source": "src/index.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "veramo": { + "pluginInterfaces": { + "IAnomalyDetection": "./src/types/IAnomalyDetection.ts" + } + }, + "scripts": { + "build": "tsc", + "build:clean": "tsc --build --clean && tsc --build", + "generate-plugin-schema": "ts-node ../../packages/dev/bin/sphereon.js dev generate-plugin-schema" + }, + "dependencies": { + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "@sphereon/ssi-sdk.anomaly-detection-store": "workspace:*", + "cross-fetch": "^3.1.8", + "debug": "^4.3.5", + "dns-query": "^0.11.2", + "mmdb-lib": "^2.1.1", + "typeorm": "^0.3.20" + }, + "devDependencies": { + "@sphereon/ssi-sdk.agent-config": "workspace:*", + "@types/node": "^20.17.1", + "@veramo/remote-client": "4.2.0", + "@veramo/remote-server": "4.2.0" + }, + "files": [ + "dist/**/*", + "src/**/*", + "README.md", + "plugin.schema.json", + "LICENSE" + ], + "private": false, + "publishConfig": { + "access": "public" + }, + "repository": "git@github.com:Sphereon-Opensource/SSI-SDK.git", + "author": "Sphereon ", + "license": "Apache-2.0", + "keywords": [ + "Sphereon", + "SSI", + "Veramo", + "Anomaly Detection" + ], + "nx": {} +} diff --git a/packages/anomaly-detection/src/agent/AnomalyDetection.ts b/packages/anomaly-detection/src/agent/AnomalyDetection.ts new file mode 100644 index 000000000..0ee9c3ad3 --- /dev/null +++ b/packages/anomaly-detection/src/agent/AnomalyDetection.ts @@ -0,0 +1,91 @@ +import {IAgentPlugin} from '@veramo/core' +import { + IAnomalyDetection, + AnomalyDetectionLookupLocationArgs, + schema, + AnomalyDetectionLookupLocationResult, IRequiredContext +} from '../index' +import {CountryResponse, Reader} from 'mmdb-lib' + +type DnsLookupFn = (hostname: string) => Promise + +export const anomalyDetectionMethods: Array = ['lookupLocation'] + +/** + * {@inheritDoc IAnomalyDetection} + */ +export class AnomalyDetection implements IAgentPlugin { + readonly schema = schema.IAnomalyDetection + private readonly db: Buffer + private readonly dnsLookup?: DnsLookupFn + readonly methods: IAnomalyDetection = { + anomalyDetectionLookupLocation: this.anomalyDetectionLookupLocation.bind(this), + } + + constructor(args: { geoIpDB: Buffer; dnsLookupCallback?: DnsLookupFn }) { + const { geoIpDB, dnsLookupCallback } = { ...args } + if (geoIpDB === undefined || geoIpDB === null) { + throw new Error('The geoIpDB argument is required') + } + this.db = geoIpDB + this.dnsLookup = dnsLookupCallback + } + + private async anomalyDetectionLookupLocation(args: AnomalyDetectionLookupLocationArgs, context: IRequiredContext): Promise { + const { ipOrHostname, storeId, namespace } = { ...args } + const reader = new Reader(this.db) + const ipv4Reg = '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])' + const ipv6Reg = + '(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))' + let result: CountryResponse | null + + if (!new RegExp(ipv4Reg).test(ipOrHostname) && !new RegExp(ipv6Reg).test(ipOrHostname)) { + const ip = await this.resolveDns(ipOrHostname) + result = reader.get(ip) + } else { + result = reader.get(ipOrHostname) + } + + const lookupResult = { + continent: result?.continent?.code, + country: result?.country?.iso_code, + } + + if (context.agent?.anomalyDetectionStorePersistLocation !== undefined && context.agent?.anomalyDetectionStorePersistLocation !== null) { + await context.agent.anomalyDetectionStorePersistLocation({ + namespace, + storeId, + ipOrHostname, + locationArgs: lookupResult, + }) + } + return Promise.resolve(lookupResult) + } + + private async resolveDns(hostname: string): Promise { + if (this.dnsLookup) { + return this.dnsLookup(hostname) + } + + // Fallback to Node.js dns + let dns + try { + dns = eval('require("dns")') + } catch (e) { + console.error(e) + throw new Error( + `DNS resolution not available on this platform, use the dnsLookupCallback in the AnomalyDetection constructor to implement DNS resolution for your platform.\r\n${e.message}`, + ) + } + + return new Promise((resolve, reject) => { + dns.lookup(hostname, (error: NodeJS.ErrnoException | null, address: string, family: number) => { + if (error) { + reject(error) + return + } + resolve(address) + }) + }) + } +} diff --git a/packages/anomaly-detection/src/index.ts b/packages/anomaly-detection/src/index.ts new file mode 100644 index 000000000..2b9daf59a --- /dev/null +++ b/packages/anomaly-detection/src/index.ts @@ -0,0 +1,7 @@ +/** + * @public + */ +const schema = require('../plugin.schema.json') +export { schema } +export { AnomalyDetection, anomalyDetectionMethods } from './agent/AnomalyDetection' +export * from './types/IAnomalyDetection' diff --git a/packages/anomaly-detection/src/types/IAnomalyDetection.ts b/packages/anomaly-detection/src/types/IAnomalyDetection.ts new file mode 100644 index 000000000..a303aa5eb --- /dev/null +++ b/packages/anomaly-detection/src/types/IAnomalyDetection.ts @@ -0,0 +1,17 @@ +import {IAgentContext, IPluginMethodMap} from '@veramo/core' +import {AnomalyDetectionStoreArgs, IAnomalyDetectionStore} from "@sphereon/ssi-sdk.anomaly-detection-store"; + +export interface IAnomalyDetection extends IPluginMethodMap { + anomalyDetectionLookupLocation(args: AnomalyDetectionLookupLocationArgs, context: IRequiredContext): Promise +} + +export type PartialBy = Omit & Partial> + +export type AnomalyDetectionLookupLocationArgs = PartialBy + +export type AnomalyDetectionLookupLocationResult = { + continent?: string + country?: string +} + +export type IRequiredContext = IAgentContext diff --git a/packages/anomaly-detection/tsconfig.json b/packages/anomaly-detection/tsconfig.json new file mode 100644 index 000000000..2a8a66e74 --- /dev/null +++ b/packages/anomaly-detection/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../tsconfig-base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "declarationDir": "dist" + }, + "references": [ + { + "path": "../agent-config" + }, + { + "path": "../kv-store" + }, + { + "path": "../anomaly-detection-store" + } + ] +} diff --git a/packages/resource-resolver/package.json b/packages/resource-resolver/package.json index e0a4b0b23..37bd6ddb0 100644 --- a/packages/resource-resolver/package.json +++ b/packages/resource-resolver/package.json @@ -15,6 +15,7 @@ }, "dependencies": { "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "@sphereon/ssi-sdk.anomaly-detection": "workspace:*", "cross-fetch": "^3.1.8", "debug": "^4.3.5", "typeorm": "^0.3.20", diff --git a/packages/resource-resolver/src/agent/ResourceResolver.ts b/packages/resource-resolver/src/agent/ResourceResolver.ts index 4757651e4..6b6563799 100644 --- a/packages/resource-resolver/src/agent/ResourceResolver.ts +++ b/packages/resource-resolver/src/agent/ResourceResolver.ts @@ -44,6 +44,7 @@ export class ResourceResolver implements IAgentPlugin { private readonly defaultStoreId: string private readonly defaultNamespace: string private readonly defaultTtl: number + private readonly detectLocation: boolean private readonly _resourceStores: Map> constructor(options?: ResourceResolverOptions) { @@ -51,12 +52,14 @@ export class ResourceResolver implements IAgentPlugin { defaultStore, defaultNamespace, resourceStores, - ttl + ttl, + detectLocation } = options ?? {} this.defaultStoreId = defaultStore ?? '_default' this.defaultNamespace = defaultNamespace ?? 'resources' this.defaultTtl = ttl ?? 3600 + this.detectLocation = detectLocation ?? false if (resourceStores && resourceStores instanceof Map) { this._resourceStores = resourceStores @@ -101,10 +104,16 @@ export class ResourceResolver implements IAgentPlugin { }); } + let location + if (this.detectLocation) { + location = await this.retrieveLocation(input, context) + } + const response = await fetch(input, init) if (!resolveOpts?.skipPersistence && (response.status >= 200 && response.status < 300)) { const serializedResponse = await serializeResponse(response); - const resource = { + const resource: Resource = { + location, response: serializedResponse, resourceType, insertedAt: Date.now(), @@ -127,6 +136,20 @@ export class ResourceResolver implements IAgentPlugin { return response } + private async retrieveLocation(input: RequestInfo | URL, context: RequiredContext) { + let url: URL + if (input instanceof Request && input.url !== undefined && input.url !== null) { + url = new URL(input.url) + } else if (input instanceof URL) { + url = input + } else { + throw Error(`input type is required to be RequestInfo | URL`) + } + return await context.agent.anomalyDetectionLookupLocation({ + ipOrHostname: url.hostname + }) + } + /** {@inheritDoc IResourceResolver.resourceClearAllResources} */ private async resourceClearAllResources(args: ClearAllResourcesArgs, context: RequiredContext): Promise { const { storeId } = args diff --git a/packages/resource-resolver/src/types/IResourceResolver.ts b/packages/resource-resolver/src/types/IResourceResolver.ts index 6a3d58160..b579722a3 100644 --- a/packages/resource-resolver/src/types/IResourceResolver.ts +++ b/packages/resource-resolver/src/types/IResourceResolver.ts @@ -1,5 +1,6 @@ -import { IKeyValueStore, ValueStoreType } from '@sphereon/ssi-sdk.kv-store-temp' -import { IAgentContext, IPluginMethodMap } from '@veramo/core' +import {IKeyValueStore, ValueStoreType} from '@sphereon/ssi-sdk.kv-store-temp' +import {IAgentContext, IPluginMethodMap} from '@veramo/core' +import {IAnomalyDetection} from "@sphereon/ssi-sdk.anomaly-detection"; export interface IResourceResolver extends IPluginMethodMap { resourceResolve(args: ResolveArgs, context: RequiredContext): Promise @@ -14,6 +15,7 @@ export type ResourceResolverOptions = { defaultNamespace?: string resourceStores?: Map> | IKeyValueStore ttl?: number + detectLocation?: boolean } export type ResolveArgs = { @@ -71,7 +73,13 @@ export type StoreArgs = { storeId?: string } +export type Location = { + continent?: string + country?: string +} + export type Resource = { + location?: Location | null response: SerializedResponse resourceType: ResourceType insertedAt: number @@ -85,4 +93,4 @@ export type SerializedResponse = { body: string } -export type RequiredContext = IAgentContext +export type RequiredContext = IAgentContext diff --git a/packages/resource-resolver/tsconfig.json b/packages/resource-resolver/tsconfig.json index 4ce8d0c50..ef7cc22cb 100644 --- a/packages/resource-resolver/tsconfig.json +++ b/packages/resource-resolver/tsconfig.json @@ -10,6 +10,9 @@ { "path": "../agent-config" }, + { + "path": "../anomaly-detection" + }, { "path": "../kv-store" } diff --git a/packages/tsconfig.json b/packages/tsconfig.json index 9dfbdf506..f595d6a9d 100644 --- a/packages/tsconfig.json +++ b/packages/tsconfig.json @@ -49,6 +49,8 @@ { "path": "public-key-hosting" }, { "path": "resource-resolver" }, { "path": "oidf-client" }, - { "path": "oidf-metatdata-server" } + { "path": "oidf-metatdata-server" }, + { "path": "anomaly-detection" }, + { "path": "anomaly-detection-store" }, ] } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index de2587a51..88f6e41cd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -91,7 +91,7 @@ importers: version: 27.5.2 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@typescript-eslint/eslint-plugin': specifier: ^5.62.0 version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3) @@ -124,7 +124,7 @@ importers: version: 4.19.2 jest: specifier: ^27.5.1 - version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-environment-node: specifier: 27.5.1 version: 27.5.1 @@ -166,10 +166,10 @@ importers: version: 19.0.5(encoding@0.1.13) ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)))(typescript@5.6.3) + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)))(typescript@5.6.3) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -187,7 +187,7 @@ importers: version: 5.0.1 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) url-parse: specifier: ^1.5.10 version: 1.5.10 @@ -205,6 +205,65 @@ importers: specifier: 5.6.3 version: 5.6.3 + packages/anomaly-detection: + dependencies: + '@sphereon/ssi-sdk.anomaly-detection-store': + specifier: workspace:* + version: link:../anomaly-detection-store + '@sphereon/ssi-sdk.kv-store-temp': + specifier: workspace:* + version: link:../kv-store + cross-fetch: + specifier: ^3.1.8 + version: 3.1.8(encoding@0.1.13) + debug: + specifier: ^4.3.5 + version: 4.3.6 + dns-query: + specifier: ^0.11.2 + version: 0.11.2 + mmdb-lib: + specifier: ^2.1.1 + version: 2.1.1 + typeorm: + specifier: ^0.3.20 + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) + devDependencies: + '@sphereon/ssi-sdk.agent-config': + specifier: workspace:* + version: link:../agent-config + '@types/node': + specifier: ^20.17.1 + version: 20.17.4 + '@veramo/remote-client': + specifier: 4.2.0 + version: 4.2.0(encoding@0.1.13) + '@veramo/remote-server': + specifier: 4.2.0 + version: 4.2.0(encoding@0.1.13)(express@4.19.2) + + packages/anomaly-detection-store: + dependencies: + '@sphereon/ssi-sdk.kv-store-temp': + specifier: workspace:* + version: link:../kv-store + devDependencies: + '@sphereon/ssi-sdk.agent-config': + specifier: workspace:* + version: link:../agent-config + '@types/node': + specifier: ^20.17.1 + version: 20.17.4 + '@veramo/remote-client': + specifier: 4.2.0 + version: 4.2.0(encoding@0.1.13) + '@veramo/remote-server': + specifier: 4.2.0 + version: 4.2.0(encoding@0.1.13)(express@4.19.2) + typeorm: + specifier: ^0.3.20 + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) + packages/contact-manager: dependencies: '@sphereon/ssi-sdk.data-store': @@ -218,7 +277,7 @@ importers: version: 4.3.6 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:* @@ -228,7 +287,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) packages/contact-manager-rest-api: dependencies: @@ -322,7 +381,7 @@ importers: version: 1.9.9 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/passport': specifier: ^1.0.16 version: 1.0.16 @@ -334,7 +393,7 @@ importers: version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -364,10 +423,10 @@ importers: version: 1.0.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/credential-store: dependencies: @@ -388,7 +447,7 @@ importers: version: 4.3.6 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uuid: specifier: ^9.0.1 version: 9.0.1 @@ -407,7 +466,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) packages/credential-validation: dependencies: @@ -449,14 +508,14 @@ importers: version: 4.3.6 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) devDependencies: '@veramo/remote-client': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) packages/data-store: dependencies: @@ -468,10 +527,10 @@ importers: version: 5.0.0-unstable.27 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.agent-config': specifier: workspace:* version: link:../agent-config @@ -501,7 +560,7 @@ importers: version: 2.4.11 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) devDependencies: '@types/sha.js': specifier: ^2.4.4 @@ -517,10 +576,10 @@ importers: dependencies: '@microsoft/api-extractor': specifier: ^7.47.2 - version: 7.47.7(@types/node@20.17.1) + version: 7.47.7(@types/node@20.17.4) '@microsoft/api-extractor-model': specifier: ^7.29.3 - version: 7.29.6(@types/node@20.17.1) + version: 7.29.6(@types/node@20.17.4) commander: specifier: ^10.0.1 version: 10.0.1 @@ -593,13 +652,13 @@ importers: version: 0.25.1-next.21(encoding@0.1.13) '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.jwt-service': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -672,7 +731,7 @@ importers: version: 0.25.1-next.21 '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.agent-config': specifier: workspace:* version: link:../agent-config @@ -696,7 +755,7 @@ importers: version: 4.19.5 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/qs': specifier: ^6.9.15 version: 6.9.15 @@ -705,7 +764,7 @@ importers: version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/key-manager': specifier: 4.2.0 version: 4.2.0 @@ -726,7 +785,7 @@ importers: version: 5.7.0 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/event-logger: dependencies: @@ -757,13 +816,13 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) jest: specifier: ^27.5.1 - version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -781,7 +840,7 @@ importers: version: 4.3.6 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:* @@ -791,7 +850,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) packages/kv-store: dependencies: @@ -809,7 +868,7 @@ importers: version: 3.0.1 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -867,7 +926,7 @@ importers: version: 2.3.1 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -925,7 +984,7 @@ importers: version: 0.25.1-next.21 '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.agent-config': specifier: workspace:* version: link:../agent-config @@ -949,7 +1008,7 @@ importers: version: 4.19.5 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/qs': specifier: ^6.9.15 version: 6.9.15 @@ -958,7 +1017,7 @@ importers: version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/key-manager': specifier: 4.2.0 version: 4.2.0 @@ -979,7 +1038,7 @@ importers: version: 5.7.0 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/ms-authenticator: dependencies: @@ -1004,13 +1063,13 @@ importers: version: 3.0.6 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) prettier: specifier: ^2.8.8 version: 2.8.8 ts-jest: specifier: ^29.2.3 - version: 29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)))(typescript@5.6.3) + version: 29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)))(typescript@5.6.3) packages/ms-request-api: dependencies: @@ -1041,13 +1100,13 @@ importers: version: 27.5.2 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/uuid': specifier: ^9.0.8 version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/remote-client': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) @@ -1062,7 +1121,7 @@ importers: version: 1.18.0 jest: specifier: ^27.5.1 - version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) prettier: specifier: ^2.8.8 version: 2.8.8 @@ -1071,10 +1130,10 @@ importers: version: 5.1.7 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)))(typescript@5.6.3) + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)))(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -1095,13 +1154,13 @@ importers: version: 0.16.1-next.224(encoding@0.1.13) '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.jwt-service': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -1143,7 +1202,7 @@ importers: version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/utils': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) @@ -1186,13 +1245,13 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) nock: specifier: ^13.5.4 version: 13.5.5 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -1207,10 +1266,10 @@ importers: version: 0.16.1-next.224(awesome-qr@2.1.5-rc.0(encoding@0.1.13))(encoding@0.1.13) '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.agent-config': specifier: workspace:* version: link:../agent-config @@ -1289,7 +1348,7 @@ importers: version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.kv-store-temp': specifier: workspace:* version: link:../kv-store @@ -1350,7 +1409,7 @@ importers: version: 2.3.1 '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-manager': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -1359,7 +1418,7 @@ importers: version: 0.25.1-next.21 '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.data-store': specifier: workspace:* version: link:../data-store @@ -1389,13 +1448,13 @@ importers: version: 1.6.6 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/uuid': specifier: ^9.0.8 version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1431,10 +1490,10 @@ importers: version: 13.5.5 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) web-did-resolver: specifier: ^2.0.27 version: 2.0.27(encoding@0.1.13) @@ -1459,19 +1518,19 @@ importers: version: link:../dev '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@veramo/remote-client': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) nock: specifier: ^13.5.4 version: 13.5.5 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -1483,10 +1542,10 @@ importers: version: 0.16.1-next.224(encoding@0.1.13) '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.kv-store-temp': specifier: workspace:* version: link:../kv-store @@ -1538,7 +1597,7 @@ importers: version: 0.1.1-unstable.0647eb6(encoding@0.1.13) '@sphereon/ssi-sdk-ext.jwt-service': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.resource-resolver': specifier: workspace:* version: link:../resource-resolver @@ -1554,7 +1613,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) packages/oidf-metadata-server: dependencies: @@ -1572,7 +1631,7 @@ importers: version: 4.3.6 express: specifier: ^4.19.2 - version: 4.21.1 + version: 4.19.2 semver: specifier: ^7.6.3 version: 7.6.3 @@ -1594,7 +1653,7 @@ importers: version: 7.5.8 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/pd-manager: dependencies: @@ -1618,7 +1677,7 @@ importers: version: 7.6.3 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) devDependencies: '@sphereon/ssi-sdk.agent-config': specifier: workspace:* @@ -1631,7 +1690,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) packages/pd-manager-rest-api: dependencies: @@ -1716,7 +1775,7 @@ importers: version: 1.9.9 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/passport': specifier: ^1.0.16 version: 1.0.16 @@ -1728,7 +1787,7 @@ importers: version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1758,10 +1817,10 @@ importers: version: 1.0.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/presentation-exchange: dependencies: @@ -1773,10 +1832,10 @@ importers: version: 2.3.1 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.credential-store': specifier: workspace:* version: link:../credential-store @@ -1813,7 +1872,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) '@veramo/utils': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) @@ -1831,7 +1890,7 @@ importers: version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-manager': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -1840,7 +1899,7 @@ importers: version: 0.25.1-next.21 '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.core': specifier: workspace:* version: link:../ssi-sdk-core @@ -1889,7 +1948,7 @@ importers: devDependencies: '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.did-resolver-jwk': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -1922,7 +1981,7 @@ importers: version: 1.9.9 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/passport': specifier: ^1.0.16 version: 1.0.16 @@ -1934,7 +1993,7 @@ importers: version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -1961,10 +2020,10 @@ importers: version: 4.3.5 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/qr-code-generator: dependencies: @@ -2007,7 +2066,7 @@ importers: version: 8.8.0(jsdom@21.1.2(canvas@2.11.2(encoding@0.1.13))) jest: specifier: ^27.5.1 - version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-environment-jsdom: specifier: ^27.5.1 version: 27.5.1(canvas@2.11.2(encoding@0.1.13)) @@ -2019,7 +2078,7 @@ importers: version: 18.3.1(react@18.3.1) ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)))(typescript@5.6.3) + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)))(typescript@5.6.3) packages/remote-server-rest-api: dependencies: @@ -2045,6 +2104,9 @@ importers: packages/resource-resolver: dependencies: + '@sphereon/ssi-sdk.anomaly-detection': + specifier: workspace:* + version: link:../anomaly-detection '@sphereon/ssi-sdk.kv-store-temp': specifier: workspace:* version: link:../kv-store @@ -2056,7 +2118,7 @@ importers: version: 4.3.6 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -2069,7 +2131,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) nock: specifier: ^13.5.4 version: 13.5.5 @@ -2087,13 +2149,13 @@ importers: version: 0.7.2 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.jwt-service': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -2130,7 +2192,7 @@ importers: version: 0.7.2 '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.did-resolver-jwk': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -2139,10 +2201,10 @@ importers: version: 0.25.1-next.21 '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/uuid': specifier: ^9.0.8 version: 9.0.8 @@ -2151,7 +2213,7 @@ importers: version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -2163,7 +2225,7 @@ importers: version: 4.1.0 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -2185,10 +2247,10 @@ importers: devDependencies: '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/siopv2-oid4vp-op-auth: dependencies: @@ -2209,13 +2271,13 @@ importers: version: 2.3.1 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.jwt-service': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.contact-manager': specifier: workspace:* version: link:../contact-manager @@ -2312,7 +2374,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) '@veramo/utils': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) @@ -2339,13 +2401,13 @@ importers: version: 5.0.0-unstable.27 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.jwt-service': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.core': specifier: workspace:* version: link:../ssi-sdk-core @@ -2488,7 +2550,7 @@ importers: version: 2.3.1 '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.data-store': specifier: workspace:* version: link:../data-store @@ -2521,7 +2583,7 @@ importers: version: 1.9.9 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/passport': specifier: ^1.0.16 version: 1.0.16 @@ -2533,7 +2595,7 @@ importers: version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -2578,10 +2640,10 @@ importers: version: 1.0.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/siopv2-oid4vp-rp-rest-client: dependencies: @@ -2600,7 +2662,7 @@ importers: devDependencies: '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 did-resolver: specifier: ^4.1.0 version: 4.1.0 @@ -2609,7 +2671,7 @@ importers: version: 13.5.5 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -2762,19 +2824,19 @@ importers: version: 27.5.2 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@veramo/core': specifier: 4.2.0 version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) jest: specifier: ^27.5.1 - version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) prettier: specifier: ^2.8.8 version: 2.8.8 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)))(typescript@5.6.3) + version: 27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)))(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -2786,7 +2848,7 @@ importers: version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-manager': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -2838,7 +2900,7 @@ importers: version: 0.6.3(encoding@0.1.13) '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.did-resolver-jwk': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -2874,7 +2936,7 @@ importers: version: 1.9.9 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/passport': specifier: ^1.0.16 version: 1.0.16 @@ -2886,7 +2948,7 @@ importers: version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -2931,10 +2993,10 @@ importers: version: 4.3.5 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) web-did-resolver: specifier: ^2.0.27 version: 2.0.27(encoding@0.1.13) @@ -2967,7 +3029,7 @@ importers: version: 1.2.0 '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -3067,13 +3129,13 @@ importers: version: 0.23.0(encoding@0.1.13)(typescript@5.6.3) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-manager': specifier: 0.25.1-next.21 version: 0.25.1-next.21 '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@transmute/lds-ecdsa-secp256k1-recovery2020': specifier: ^0.0.7 version: 0.0.7(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) @@ -3082,7 +3144,7 @@ importers: version: 11.1.0 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@typescript-eslint/eslint-plugin': specifier: ^4.33.0 version: 4.33.0(@typescript-eslint/parser@4.33.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0)(typescript@5.6.3) @@ -3097,7 +3159,7 @@ importers: version: 4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -3121,7 +3183,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) copyfiles: specifier: ^2.4.1 version: 2.4.1 @@ -3133,7 +3195,7 @@ importers: version: 13.5.5 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typescript: specifier: 5.6.3 version: 5.6.3 @@ -3148,10 +3210,10 @@ importers: dependencies: '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-types': specifier: workspace:* version: link:../ssi-types @@ -3172,7 +3234,7 @@ importers: version: 4.3.6 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -3197,10 +3259,10 @@ importers: dependencies: '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.core': specifier: workspace:* version: link:../ssi-sdk-core @@ -3230,7 +3292,7 @@ importers: version: 0.1.14 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -3243,7 +3305,7 @@ importers: version: 0.6.3(encoding@0.1.13) '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.did-resolver-jwk': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -3282,7 +3344,7 @@ importers: version: 1.9.9 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/passport': specifier: ^1.0.16 version: 1.0.16 @@ -3294,7 +3356,7 @@ importers: version: 4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -3333,10 +3395,10 @@ importers: version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.agent-config': specifier: workspace:* version: link:../agent-config @@ -3363,7 +3425,7 @@ importers: version: 4.3.6 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -3373,7 +3435,7 @@ importers: version: 4.1.12 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 typescript: specifier: 5.6.3 version: 5.6.3 @@ -3385,10 +3447,10 @@ importers: version: link:../ssi-express-support '@sphereon/ssi-sdk-ext.did-utils': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.identifier-resolution': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.core': specifier: workspace:* version: link:../ssi-sdk-core @@ -3421,7 +3483,7 @@ importers: version: 0.1.14 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uint8arrays: specifier: ^3.1.1 version: 3.1.1 @@ -3434,7 +3496,7 @@ importers: version: 0.6.3(encoding@0.1.13) '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.did-resolver-jwk': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -3470,7 +3532,7 @@ importers: version: 1.9.9 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/passport': specifier: ^1.0.16 version: 1.0.16 @@ -3482,7 +3544,7 @@ importers: version: 4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -3591,7 +3653,7 @@ importers: version: 0.6.3(encoding@0.1.13) '@sphereon/ssi-sdk-ext.did-provider-jwk': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.did-resolver-jwk': specifier: 0.25.1-next.21 version: 0.25.1-next.21 @@ -3600,7 +3662,7 @@ importers: version: 0.25.1-next.21 '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.data-store': specifier: workspace:* version: link:../data-store @@ -3633,7 +3695,7 @@ importers: version: 1.9.9 '@types/node': specifier: ^20.17.1 - version: 20.17.1 + version: 20.17.4 '@types/passport': specifier: ^1.0.16 version: 1.0.16 @@ -3645,7 +3707,7 @@ importers: version: 9.0.8 '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-manager': specifier: 4.2.0 version: 4.2.0 @@ -3693,10 +3755,10 @@ importers: version: 4.3.5 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) packages/w3c-vc-api-issuer-rest-client: dependencies: @@ -3715,13 +3777,13 @@ importers: devDependencies: '@veramo/cli': specifier: 4.2.0 - version: 4.2.0(@types/node@20.17.1)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) + version: 4.2.0(@types/node@20.17.4)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))(web-streams-polyfill@3.3.3) '@veramo/remote-client': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) packages/w3c-vc-api-verifier-rest-client: dependencies: @@ -3737,13 +3799,13 @@ importers: version: link:../dev '@veramo/cli': specifier: 4.2.0 - version: 4.2.0(@types/node@20.17.1)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) + version: 4.2.0(@types/node@20.17.4)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))(web-streams-polyfill@3.3.3) '@veramo/remote-client': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) packages/web3-provider-headless: dependencies: @@ -3837,7 +3899,7 @@ importers: version: 0.25.1-next.21 '@sphereon/ssi-sdk-ext.kms-local': specifier: 0.25.1-next.21 - version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@types/body-parser': specifier: ^1.19.5 version: 1.19.5 @@ -3876,7 +3938,7 @@ importers: version: 4.1.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -3897,7 +3959,7 @@ importers: version: 0.1.3(encoding@0.1.13) '@veramo/data-store': specifier: 4.2.0 - version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/utils': specifier: 4.2.0 version: 4.2.0(encoding@0.1.13) @@ -3912,7 +3974,7 @@ importers: version: 3.1.3 typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uuid: specifier: ^9.0.1 version: 9.0.1 @@ -3962,7 +4024,7 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) nock: specifier: ^13.5.4 version: 13.5.5 @@ -4008,13 +4070,13 @@ importers: version: 4.2.0(encoding@0.1.13) '@veramo/remote-server': specifier: 4.2.0 - version: 4.2.0(encoding@0.1.13)(express@4.21.1) + version: 4.2.0(encoding@0.1.13)(express@4.19.2) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) typeorm: specifier: ^0.3.20 - version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -5378,6 +5440,20 @@ packages: '@keyv/test-suite@1.9.5': resolution: {integrity: sha512-TYMfykWn9mi9+XQl7Dc2I4i6rsHp9ZZyci9n0iMUCJ/wi7htJGl6Nw5eMXtqqJxjCJW1T82v22YayJPHrVraCw==} + '@leichtgewicht/base64-codec@1.0.0': + resolution: {integrity: sha512-0cgP4lRBzh3F4tlpTfs7F+PJyBN8j5yUC9KrQFWp/bREswgzZVHE8T1rNyRDWgvALwwpPtnJDQfqWUmxI33Epg==} + + '@leichtgewicht/dns-packet@6.0.3': + resolution: {integrity: sha512-qmVHhFBFiBvPsk/wJ/EdoWHb+tGkzY4haybmDPukhF6w0+8wpEbrHTIRE9LzeUu2P0bAbmrK8WOXt5V5QN6jQg==} + engines: {node: '>=6'} + + '@leichtgewicht/dns-socket@5.0.0': + resolution: {integrity: sha512-Sbrn/OG0HTTPGSkwIDCHy8/tUI6UglIzFsMNjzZn/Na1/i5owSm6rVi9CfKNNjRcUlYEzICELYW6EoZdjwVY2A==} + engines: {node: '>=6'} + + '@leichtgewicht/ip-codec@2.0.5': + resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + '@lerna/create@8.1.8': resolution: {integrity: sha512-wi72R01tgjBjzG2kjRyTHl4yCTKDfDMIXRyKz9E/FBa9SkFvUOAE4bdyY9MhEsRZmSWL7+CYE8Flv/HScRpBbA==} engines: {node: '>=18.0.0'} @@ -6626,8 +6702,8 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@20.17.1': - resolution: {integrity: sha512-j2VlPv1NnwPJbaCNv69FO/1z4lId0QmGvpT41YxitRtWlg96g/j8qcv2RKsLKe2F6OJgyXhupN1Xo17b2m139Q==} + '@types/node@20.17.4': + resolution: {integrity: sha512-Fi1Bj8qTJr4f1FDdHFR7oMlOawEYSzkHNdBJK+aRjcDDNHwEV3jPPjuZP2Lh2QNgXeqzM8Y+U6b6urKAog2rZw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -7477,10 +7553,6 @@ packages: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - body-parser@1.20.3: - resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} @@ -7575,6 +7647,9 @@ packages: resolution: {integrity: sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==} engines: {node: '>=12.17'} + bytes.js@0.0.2: + resolution: {integrity: sha512-KrLm4hv5Qs9w6b0U7h1bCdqxrsf+e9QMsfHeyQFzAz94x/5Aqa+FTEUSNBtt5d2VuV3Hfiea3c4ti74RZDDYkg==} + bytes@3.0.0: resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} engines: {node: '>= 0.8'} @@ -8006,10 +8081,6 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - cookie@0.7.1: - resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} - engines: {node: '>= 0.6'} - cookies@0.9.1: resolution: {integrity: sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==} engines: {node: '>= 0.8'} @@ -8354,6 +8425,10 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + dns-query@0.11.2: + resolution: {integrity: sha512-zF8qxQpqCB467o4A63DLpQClo77H642JEKMx0Ra9GFww7Rx0234Fo8NoG0LBoSBZxamWkXfLxhzDG19bTBHvXQ==} + hasBin: true + doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -8454,10 +8529,6 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} - encodeurl@2.0.0: - resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} - engines: {node: '>= 0.8'} - encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -8828,10 +8899,6 @@ packages: resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} - express@4.21.1: - resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} - engines: {node: '>= 0.10.0'} - expression-eval@5.0.1: resolution: {integrity: sha512-7SL4miKp19lI834/F6y156xlNg+i9Q41tteuGNCq9C06S78f1bm3BXuvf0+QpQxv369Pv/P2R7Hb17hzxLpbDA==} @@ -8929,10 +8996,6 @@ packages: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} - finalhandler@1.3.1: - resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} - engines: {node: '>= 0.8'} - find-cache-dir@2.1.0: resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} engines: {node: '>=6'} @@ -10721,9 +10784,6 @@ packages: merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - merge-descriptors@1.0.3: - resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -10958,6 +11018,10 @@ packages: engines: {node: '>=10'} hasBin: true + mmdb-lib@2.1.1: + resolution: {integrity: sha512-yx8H/1H5AfnufiLnzzPqPf4yr/dKU9IFT1rPVwSkrKWHsQEeVVd6+X+L0nUbXhlEFTu3y/7hu38CFmEVgzvyeg==} + engines: {node: '>=10', npm: '>=6'} + modify-values@1.0.1: resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} engines: {node: '>=0.10.0'} @@ -11661,9 +11725,6 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-to-regexp@0.1.10: - resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==} - path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -12382,10 +12443,6 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} - serialize-error@2.1.0: resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} engines: {node: '>=0.10.0'} @@ -12406,10 +12463,6 @@ packages: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} engines: {node: '>= 0.8.0'} - serve-static@1.16.2: - resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} - engines: {node: '>= 0.8.0'} - set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} @@ -13336,6 +13389,18 @@ packages: url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + utf8-bytes@0.0.1: + resolution: {integrity: sha512-GifWmJAx2qAXT+lZLhbkWhBsy7pr6xWHiPWlVToDiELdWgZwt4Ogjf9tlgvKuALzTFR/d+EPQQI9ogJV3957Jg==} + + utf8-codec@1.0.0: + resolution: {integrity: sha512-S/QSLezp3qvG4ld5PUfXiH7mCFxLKjSVZRFkB3DOjgwHuJPFDkInAXc/anf7BAbHt/D38ozDzL+QMZ6/7gsI6w==} + + utf8-length@0.0.1: + resolution: {integrity: sha512-j/XH2ftofBiobnyApxlN/J6j/ixwT89WEjDcjT66d2i0+GIn9RZfzt8lpEXXE4jUe4NsjBSUq70kS2euQ4nnMw==} + + utf8-string-bytes@1.0.3: + resolution: {integrity: sha512-i/I1Omf6lADjVBlwJpQifZOePV15snHny9w04+lc71+3t8PyWuLC/7clyoOSHOBNGXFe2PAGxmTiZ+Z4HWsPyw==} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -15731,7 +15796,7 @@ snapshots: '@jest/console@27.5.1': dependencies: '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -15740,27 +15805,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@jest/core@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest-config: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -15783,21 +15848,21 @@ snapshots: - ts-node - utf-8-validate - '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -15826,14 +15891,14 @@ snapshots: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-mock: 27.5.1 '@jest/environment@29.7.0': dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -15851,7 +15916,7 @@ snapshots: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -15860,7 +15925,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -15887,7 +15952,7 @@ snapshots: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -15918,7 +15983,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -16036,7 +16101,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/yargs': 15.0.19 chalk: 4.1.2 @@ -16044,7 +16109,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/yargs': 16.0.9 chalk: 4.1.2 @@ -16053,7 +16118,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -16120,6 +16185,23 @@ snapshots: - bluebird - supports-color + '@leichtgewicht/base64-codec@1.0.0': {} + + '@leichtgewicht/dns-packet@6.0.3': + dependencies: + '@leichtgewicht/ip-codec': 2.0.5 + bytes.js: 0.0.2 + utf8-bytes: 0.0.1 + utf8-codec: 1.0.0 + utf8-length: 0.0.1 + utf8-string-bytes: 1.0.3 + + '@leichtgewicht/dns-socket@5.0.0': + dependencies: + '@leichtgewicht/dns-packet': 6.0.3 + + '@leichtgewicht/ip-codec@2.0.5': {} + '@lerna/create@8.1.8(encoding@0.1.13)(typescript@5.6.3)': dependencies: '@npmcli/arborist': 7.5.4 @@ -16319,23 +16401,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@microsoft/api-extractor-model@7.29.6(@types/node@20.17.1)': + '@microsoft/api-extractor-model@7.29.6(@types/node@20.17.4)': dependencies: '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.7.0(@types/node@20.17.1) + '@rushstack/node-core-library': 5.7.0(@types/node@20.17.4) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.47.7(@types/node@20.17.1)': + '@microsoft/api-extractor@7.47.7(@types/node@20.17.4)': dependencies: - '@microsoft/api-extractor-model': 7.29.6(@types/node@20.17.1) + '@microsoft/api-extractor-model': 7.29.6(@types/node@20.17.4) '@microsoft/tsdoc': 0.15.0 '@microsoft/tsdoc-config': 0.17.0 - '@rushstack/node-core-library': 5.7.0(@types/node@20.17.1) + '@rushstack/node-core-library': 5.7.0(@types/node@20.17.4) '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.14.0(@types/node@20.17.1) - '@rushstack/ts-command-line': 4.22.6(@types/node@20.17.1) + '@rushstack/terminal': 0.14.0(@types/node@20.17.4) + '@rushstack/ts-command-line': 4.22.6(@types/node@20.17.4) lodash: 4.17.21 minimatch: 3.0.8 resolve: 1.22.8 @@ -16739,13 +16821,13 @@ snapshots: '@react-native-community/cli-debugger-ui@14.0.0': dependencies: - serve-static: 1.16.2 + serve-static: 1.15.0 transitivePeerDependencies: - supports-color '@react-native-community/cli-debugger-ui@14.0.0-alpha.11': dependencies: - serve-static: 1.16.2 + serve-static: 1.15.0 transitivePeerDependencies: - supports-color @@ -16801,7 +16883,7 @@ snapshots: errorhandler: 1.5.1 nocache: 3.0.4 pretty-format: 26.6.2 - serve-static: 1.16.2 + serve-static: 1.15.0 ws: 6.2.3 transitivePeerDependencies: - bufferutil @@ -16817,7 +16899,7 @@ snapshots: errorhandler: 1.5.1 nocache: 3.0.4 pretty-format: 26.6.2 - serve-static: 1.16.2 + serve-static: 1.15.0 ws: 6.2.3 transitivePeerDependencies: - bufferutil @@ -17063,7 +17145,7 @@ snapshots: nullthrows: 1.1.1 open: 7.4.2 selfsigned: 2.4.1 - serve-static: 1.16.2 + serve-static: 1.15.0 temp-dir: 2.0.0 ws: 6.2.3 transitivePeerDependencies: @@ -17085,7 +17167,7 @@ snapshots: nullthrows: 1.1.1 open: 7.4.2 selfsigned: 2.4.1 - serve-static: 1.16.2 + serve-static: 1.15.0 ws: 6.2.3 transitivePeerDependencies: - bufferutil @@ -17123,7 +17205,7 @@ snapshots: '@rnx-kit/chromium-edge-launcher@1.0.0': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -17133,7 +17215,7 @@ snapshots: - supports-color optional: true - '@rushstack/node-core-library@5.7.0(@types/node@20.17.1)': + '@rushstack/node-core-library@5.7.0(@types/node@20.17.4)': dependencies: ajv: 8.13.0 ajv-draft-04: 1.0.0(ajv@8.13.0) @@ -17144,23 +17226,23 @@ snapshots: resolve: 1.22.8 semver: 7.5.4 optionalDependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.14.0(@types/node@20.17.1)': + '@rushstack/terminal@0.14.0(@types/node@20.17.4)': dependencies: - '@rushstack/node-core-library': 5.7.0(@types/node@20.17.1) + '@rushstack/node-core-library': 5.7.0(@types/node@20.17.4) supports-color: 8.1.1 optionalDependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 - '@rushstack/ts-command-line@4.22.6(@types/node@20.17.1)': + '@rushstack/ts-command-line@4.22.6(@types/node@20.17.4)': dependencies: - '@rushstack/terminal': 0.14.0(@types/node@20.17.1) + '@rushstack/terminal': 0.14.0(@types/node@20.17.4) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -17504,11 +17586,11 @@ snapshots: '@sphereon/oid4vci-issuer': 0.16.1-next.224(awesome-qr@2.1.5-rc.0(encoding@0.1.13))(encoding@0.1.13) '@sphereon/ssi-express-support': 0.30.2-next.279(@noble/hashes@1.2.0)(passport-azure-ad@4.3.5)(passport-http-bearer@1.0.1) '@sphereon/ssi-types': link:packages/ssi-types - body-parser: 1.20.3 + body-parser: 1.20.2 cookie-parser: 1.4.6 cors: 2.8.5 dotenv-flow: 3.3.0 - express: 4.21.1 + express: 4.19.2 http-terminator: 3.2.0 typescript: 5.6.3 optionalDependencies: @@ -17590,12 +17672,12 @@ snapshots: '@sphereon/ssi-express-support@0.30.2-next.279(@noble/hashes@1.2.0)(passport-azure-ad@4.3.5)(passport-http-bearer@1.0.1)': dependencies: - body-parser: 1.20.3 + body-parser: 1.20.2 casbin: 5.30.0 cookie-session: 2.1.0 cors: 2.8.5 dotenv-flow: 3.3.0 - express: 4.21.1 + express: 4.19.2 express-session: 1.18.0 http-terminator: 3.2.0 morgan: 1.10.0 @@ -17610,10 +17692,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@sphereon/ssi-sdk-ext.did-provider-jwk@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk-ext.did-provider-jwk@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@ethersproject/random': 5.7.0 - '@sphereon/ssi-sdk-ext.did-utils': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.did-utils': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': 0.25.1-next.21 '@sphereon/ssi-types': link:packages/ssi-types '@stablelib/ed25519': 1.0.3 @@ -17714,14 +17796,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@sphereon/ssi-sdk-ext.did-utils@0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk-ext.did-utils@0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@ethersproject/networks': 5.7.1 '@ethersproject/transactions': 5.7.0 '@sphereon/did-uni-client': 0.6.3(encoding@0.1.13) '@sphereon/ssi-sdk-ext.key-utils': 0.25.0 '@sphereon/ssi-sdk-ext.x509-utils': 0.25.0 - '@sphereon/ssi-sdk.agent-config': 0.30.1(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk.agent-config': 0.30.1(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.core': link:packages/ssi-sdk-core '@sphereon/ssi-types': link:packages/ssi-types '@stablelib/ed25519': 1.0.3 @@ -17752,14 +17834,14 @@ snapshots: - ts-node - typeorm-aurora-data-api-driver - '@sphereon/ssi-sdk-ext.did-utils@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk-ext.did-utils@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@ethersproject/networks': 5.7.1 '@ethersproject/transactions': 5.7.0 '@sphereon/did-uni-client': 0.6.3(encoding@0.1.13) '@sphereon/ssi-sdk-ext.key-utils': 0.25.1-next.21 '@sphereon/ssi-sdk-ext.x509-utils': 0.25.1-next.21 - '@sphereon/ssi-sdk.agent-config': 0.30.2-feature.SDK.41.oidf.support.286(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk.agent-config': 0.30.2-feature.SDK.41.oidf.support.286(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk.core': link:packages/ssi-sdk-core '@sphereon/ssi-types': link:packages/ssi-types '@stablelib/ed25519': 1.0.3 @@ -17790,12 +17872,12 @@ snapshots: - ts-node - typeorm-aurora-data-api-driver - '@sphereon/ssi-sdk-ext.identifier-resolution@0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk-ext.identifier-resolution@0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: - '@sphereon/ssi-sdk-ext.did-utils': 0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.did-utils': 0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': 0.25.0 '@sphereon/ssi-sdk-ext.x509-utils': 0.25.0 - '@sphereon/ssi-sdk.agent-config': 0.30.1(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk.agent-config': 0.30.1(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-types': link:packages/ssi-types '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/utils': 4.2.0(encoding@0.1.13) @@ -17823,13 +17905,13 @@ snapshots: - ts-node - typeorm-aurora-data-api-driver - '@sphereon/ssi-sdk-ext.identifier-resolution@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk-ext.identifier-resolution@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: - '@sphereon/ssi-sdk-ext.did-utils': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.did-utils': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': 0.25.1-next.21 '@sphereon/ssi-sdk-ext.x509-utils': 0.25.1-next.21 - '@sphereon/ssi-sdk.agent-config': 0.30.2-feature.SDK.41.oidf.support.286(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) - '@sphereon/ssi-sdk.oidf-client': 0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk.agent-config': 0.30.2-feature.SDK.41.oidf.support.286(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) + '@sphereon/ssi-sdk.oidf-client': 0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-types': link:packages/ssi-types '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/utils': 4.2.0(encoding@0.1.13) @@ -17859,14 +17941,14 @@ snapshots: - typeorm-aurora-data-api-driver - utf-8-validate - '@sphereon/ssi-sdk-ext.jwt-service@0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk-ext.jwt-service@0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: - '@sphereon/ssi-sdk-ext.did-utils': 0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) - '@sphereon/ssi-sdk-ext.identifier-resolution': 0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.did-utils': 0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.identifier-resolution': 0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-manager': 0.25.0 '@sphereon/ssi-sdk-ext.key-utils': 0.25.0 '@sphereon/ssi-sdk-ext.x509-utils': 0.25.0 - '@sphereon/ssi-sdk.agent-config': 0.30.1(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk.agent-config': 0.30.1(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-types': link:packages/ssi-types '@stablelib/random': 1.0.2 '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -17896,14 +17978,14 @@ snapshots: - ts-node - typeorm-aurora-data-api-driver - '@sphereon/ssi-sdk-ext.jwt-service@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk-ext.jwt-service@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: - '@sphereon/ssi-sdk-ext.did-utils': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) - '@sphereon/ssi-sdk-ext.identifier-resolution': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.did-utils': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.identifier-resolution': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-manager': 0.25.1-next.21 '@sphereon/ssi-sdk-ext.key-utils': 0.25.1-next.21 '@sphereon/ssi-sdk-ext.x509-utils': 0.25.1-next.21 - '@sphereon/ssi-sdk.agent-config': 0.30.2-feature.SDK.41.oidf.support.286(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk.agent-config': 0.30.2-feature.SDK.41.oidf.support.286(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-types': link:packages/ssi-types '@stablelib/random': 1.0.2 '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -17995,9 +18077,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@sphereon/ssi-sdk-ext.kms-local@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk-ext.kms-local@0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: - '@sphereon/ssi-sdk-ext.did-utils': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.did-utils': 0.25.1-next.21(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-sdk-ext.key-utils': 0.25.1-next.21 '@sphereon/ssi-sdk-ext.x509-utils': 0.25.1-next.21 '@trust/keyto': 2.0.0-alpha1 @@ -18047,12 +18129,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@sphereon/ssi-sdk.agent-config@0.30.1(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk.agent-config@0.30.1(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) debug: 4.3.6 jsonpointer: 5.0.1 - typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) url-parse: 1.5.10 yaml: 2.5.0 transitivePeerDependencies: @@ -18075,12 +18157,12 @@ snapshots: - ts-node - typeorm-aurora-data-api-driver - '@sphereon/ssi-sdk.agent-config@0.30.2-feature.SDK.41.oidf.support.286(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk.agent-config@0.30.2-feature.SDK.41.oidf.support.286(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) debug: 4.3.6 jsonpointer: 5.0.1 - typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) url-parse: 1.5.10 yaml: 2.5.0 transitivePeerDependencies: @@ -18103,13 +18185,13 @@ snapshots: - ts-node - typeorm-aurora-data-api-driver - '@sphereon/ssi-sdk.kv-store-temp@0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk.kv-store-temp@0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@veramo/utils': 4.2.0(encoding@0.1.13) debug: 4.3.6 events: 3.3.0 json-buffer: 3.0.1 - typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uint8arrays: 3.1.1 transitivePeerDependencies: - '@google-cloud/spanner' @@ -18132,13 +18214,13 @@ snapshots: - ts-node - typeorm-aurora-data-api-driver - '@sphereon/ssi-sdk.oidf-client@0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk.oidf-client@0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@sphereon/openid-federation-client': 0.1.1-unstable.0647eb6(encoding@0.1.13) '@sphereon/openid-federation-common': 0.1.1-unstable.0647eb6(encoding@0.1.13) '@sphereon/openid-federation-open-api': 0.1.1-unstable.0647eb6(encoding@0.1.13) - '@sphereon/ssi-sdk-ext.jwt-service': 0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) - '@sphereon/ssi-sdk.resource-resolver': 0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk-ext.jwt-service': 0.25.0(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) + '@sphereon/ssi-sdk.resource-resolver': 0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@sphereon/ssi-types': link:packages/ssi-types transitivePeerDependencies: - '@google-cloud/spanner' @@ -18163,12 +18245,12 @@ snapshots: - typeorm-aurora-data-api-driver - utf-8-validate - '@sphereon/ssi-sdk.resource-resolver@0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@sphereon/ssi-sdk.resource-resolver@0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: - '@sphereon/ssi-sdk.kv-store-temp': 0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@sphereon/ssi-sdk.kv-store-temp': 0.30.2-feature.SDK.41.oidf.support.286(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) cross-fetch: 3.1.8(encoding@0.1.13) debug: 4.3.6 - typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) uint8arrays: 3.1.1 transitivePeerDependencies: - '@google-cloud/spanner' @@ -18742,7 +18824,7 @@ snapshots: '@types/accepts@1.3.7': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/argparse@1.0.38': {} @@ -18771,16 +18853,16 @@ snapshots: '@types/blessed@0.1.25': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/connect@3.4.38': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/content-disposition@0.5.8': {} @@ -18798,11 +18880,11 @@ snapshots: '@types/connect': 3.4.38 '@types/express': 4.17.21 '@types/keygrip': 1.0.6 - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/cors@2.8.17': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/crypto-js@3.1.47': {} @@ -18818,7 +18900,7 @@ snapshots: '@types/express-serve-static-core@4.19.5': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -18836,7 +18918,7 @@ snapshots: '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/http-assert@1.5.5': {} @@ -18844,7 +18926,7 @@ snapshots: '@types/http-terminator@2.0.5': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/i18n-js@3.8.9': {} @@ -18904,7 +18986,7 @@ snapshots: '@types/http-errors': 2.0.4 '@types/keygrip': 1.0.6 '@types/koa-compose': 3.2.8 - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/lodash.memoize@4.1.9': dependencies: @@ -18920,7 +19002,7 @@ snapshots: '@types/morgan@1.9.9': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/ms@0.7.34': {} @@ -18932,9 +19014,9 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 - '@types/node@20.17.1': + '@types/node@20.17.4': dependencies: undici-types: 6.19.8 @@ -18983,17 +19065,17 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/send': 0.17.4 '@types/sha.js@2.4.4': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/stack-utils@2.0.3': {} @@ -19004,11 +19086,11 @@ snapshots: '@types/testing-library__jest-dom@5.14.9': dependencies: - '@types/jest': 29.5.12 + '@types/jest': 27.5.2 '@types/through@0.0.33': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/url-parse@1.4.11': {} @@ -19018,7 +19100,7 @@ snapshots: '@types/ws@8.5.3': dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 '@types/yargs-parser@21.0.3': {} @@ -19234,17 +19316,17 @@ snapshots: - react-native - web-streams-polyfill - '@veramo/cli@4.2.0(@types/node@20.17.1)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3)': + '@veramo/cli@4.2.0(@types/node@20.17.4)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))(web-streams-polyfill@3.3.3)': dependencies: - '@microsoft/api-extractor': 7.47.7(@types/node@20.17.1) - '@microsoft/api-extractor-model': 7.29.6(@types/node@20.17.1) + '@microsoft/api-extractor': 7.47.7(@types/node@20.17.4) + '@microsoft/api-extractor-model': 7.29.6(@types/node@20.17.4) '@types/blessed': 0.1.25 '@types/swagger-ui-express': 4.1.6 '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/credential-eip712': 4.2.0(encoding@0.1.13) '@veramo/credential-ld': 4.2.0(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) '@veramo/credential-w3c': 4.2.0(patch_hash=wuhizuafnrz3uzah2wlqaevbmi)(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) - '@veramo/data-store': 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@veramo/data-store': 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@veramo/did-comm': 4.2.0(encoding@0.1.13) '@veramo/did-discovery': 4.2.0 '@veramo/did-jwt': 4.2.0 @@ -19257,7 +19339,7 @@ snapshots: '@veramo/kms-local': 4.2.0 '@veramo/message-handler': 4.2.0 '@veramo/remote-client': 4.2.0(encoding@0.1.13) - '@veramo/remote-server': 4.2.0(encoding@0.1.13)(express@4.21.1) + '@veramo/remote-server': 4.2.0(encoding@0.1.13)(express@4.19.2) '@veramo/selective-disclosure': 4.2.0(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3) '@veramo/url-handler': 4.2.0(encoding@0.1.13) blessed: 0.1.81 @@ -19270,7 +19352,7 @@ snapshots: did-resolver: 4.1.0 dotenv: 16.4.5 ethr-did-resolver: 8.1.2 - express: 4.21.1 + express: 4.19.2 express-handlebars: 6.0.7 fuzzy: 0.1.3 handlebars: 4.7.8 @@ -19286,9 +19368,9 @@ snapshots: pg: 8.12.0 qrcode-terminal: 0.12.0 sqlite3: 5.1.7 - swagger-ui-express: 4.6.3(express@4.21.1) + swagger-ui-express: 4.6.3(express@4.19.2) ts-json-schema-generator: 1.5.1 - typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) url-parse: 1.5.10 web-did-resolver: 2.0.27(encoding@0.1.13) ws: 8.18.0 @@ -19397,7 +19479,7 @@ snapshots: - supports-color - web-streams-polyfill - '@veramo/data-store@4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3))': + '@veramo/data-store@4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(encoding@0.1.13)(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3))': dependencies: '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/did-discovery': 4.2.0 @@ -19405,7 +19487,7 @@ snapshots: '@veramo/key-manager': 4.2.0 '@veramo/utils': 4.2.0(encoding@0.1.13) debug: 4.3.6 - typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + typeorm: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) transitivePeerDependencies: - '@google-cloud/spanner' - '@sap/hana-client' @@ -19607,20 +19689,6 @@ snapshots: - encoding - supports-color - '@veramo/remote-server@4.2.0(encoding@0.1.13)(express@4.21.1)': - dependencies: - '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) - '@veramo/remote-client': 4.2.0(encoding@0.1.13) - debug: 4.3.6 - did-resolver: 4.1.0 - express: 4.21.1 - passport: 0.6.0 - passport-http-bearer: 1.0.1 - url-parse: 1.5.10 - transitivePeerDependencies: - - encoding - - supports-color - '@veramo/selective-disclosure@4.2.0(encoding@0.1.13)(expo@51.0.29(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(encoding@0.1.13))(react-native@0.75.2(@babel/core@7.25.2)(@babel/preset-env@7.25.3(@babel/core@7.25.2))(@types/react@18.3.4)(encoding@0.1.13)(react@18.3.1)(typescript@5.6.3))(web-streams-polyfill@3.3.3)': dependencies: '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -20299,23 +20367,6 @@ snapshots: transitivePeerDependencies: - supports-color - body-parser@1.20.3: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 4.3.6 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.13.0 - raw-body: 2.5.2 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - boolean@3.2.0: {} borc@2.1.2: @@ -20435,6 +20486,8 @@ snapshots: byte-size@8.1.1: {} + bytes.js@0.0.2: {} + bytes@3.0.0: {} bytes@3.1.2: {} @@ -20606,7 +20659,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -20615,7 +20668,7 @@ snapshots: chromium-edge-launcher@0.2.0: dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -20956,8 +21009,6 @@ snapshots: cookie@0.6.0: {} - cookie@0.7.1: {} - cookies@0.9.1: dependencies: depd: 2.0.0 @@ -21036,13 +21087,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)): + create-jest@29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -21335,6 +21386,14 @@ snapshots: dependencies: path-type: 4.0.0 + dns-query@0.11.2: + dependencies: + '@leichtgewicht/base64-codec': 1.0.0 + '@leichtgewicht/dns-packet': 6.0.3 + '@leichtgewicht/dns-socket': 5.0.0 + '@leichtgewicht/ip-codec': 2.0.5 + utf8-codec: 1.0.0 + doctrine@2.1.0: dependencies: esutils: 2.0.3 @@ -21428,8 +21487,6 @@ snapshots: encodeurl@1.0.2: {} - encodeurl@2.0.0: {} - encoding@0.1.13: dependencies: iconv-lite: 0.6.3 @@ -21804,7 +21861,7 @@ snapshots: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 '@noble/hashes': 1.2.0 - '@types/node': 20.17.1 + '@types/node': 20.17.4 aes-js: 4.0.0-beta.5 tslib: 2.4.0 ws: 8.17.1 @@ -22084,42 +22141,6 @@ snapshots: transitivePeerDependencies: - supports-color - express@4.21.1: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.3 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.7.1 - cookie-signature: 1.0.6 - debug: 4.3.6 - depd: 2.0.0 - encodeurl: 2.0.0 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.3.1 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.3 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.10 - proxy-addr: 2.0.7 - qs: 6.13.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.19.0 - serve-static: 1.16.2 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - expression-eval@5.0.1: dependencies: jsep: 0.3.5 @@ -22253,18 +22274,6 @@ snapshots: transitivePeerDependencies: - supports-color - finalhandler@1.3.1: - dependencies: - debug: 4.3.6 - encodeurl: 2.0.0 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - find-cache-dir@2.1.0: dependencies: commondir: 1.0.1 @@ -23301,7 +23310,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -23326,7 +23335,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -23346,16 +23355,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)): + jest-cli@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)): dependencies: - '@jest/core': 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@jest/core': 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.2.0 - jest-config: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest-config: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 @@ -23367,16 +23376,16 @@ snapshots: - ts-node - utf-8-validate - jest-cli@29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)): + jest-cli@29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + create-jest: 29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest-config: 29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -23386,7 +23395,7 @@ snapshots: - supports-color - ts-node - jest-config@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)): + jest-config@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 27.5.1 @@ -23413,14 +23422,14 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - ts-node: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + ts-node: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - jest-config@29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)): + jest-config@29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 @@ -23445,8 +23454,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 20.17.1 - ts-node: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + '@types/node': 20.17.4 + ts-node: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -23460,7 +23469,7 @@ snapshots: jest-diff@29.7.0: dependencies: - chalk: 4.1.2 + chalk: 4.1.0 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 @@ -23494,7 +23503,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0(canvas@2.11.2(encoding@0.1.13)) @@ -23509,7 +23518,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -23518,7 +23527,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -23537,7 +23546,7 @@ snapshots: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.1 + '@types/node': 20.17.4 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -23554,7 +23563,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.1 + '@types/node': 20.17.4 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -23572,7 +23581,7 @@ snapshots: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -23639,12 +23648,12 @@ snapshots: jest-mock@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -23706,7 +23715,7 @@ snapshots: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -23735,7 +23744,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -23790,7 +23799,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 @@ -23810,7 +23819,7 @@ snapshots: jest-serializer@27.5.1: dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 graceful-fs: 4.2.11 jest-snapshot@27.5.1: @@ -23868,7 +23877,7 @@ snapshots: jest-util@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -23877,7 +23886,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -23905,7 +23914,7 @@ snapshots: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.17.1 + '@types/node': 20.17.4 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -23915,7 +23924,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.1 + '@types/node': 20.17.4 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -23924,22 +23933,22 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.17.1 + '@types/node': 20.17.4 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)): + jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)): dependencies: - '@jest/core': 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@jest/core': 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) import-local: 3.2.0 - jest-cli: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest-cli: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) transitivePeerDependencies: - bufferutil - canvas @@ -23947,12 +23956,12 @@ snapshots: - ts-node - utf-8-validate - jest@29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)): + jest@29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest-cli: 29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -24851,8 +24860,6 @@ snapshots: merge-descriptors@1.0.1: {} - merge-descriptors@1.0.3: {} - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -25183,6 +25190,8 @@ snapshots: mkdirp@2.1.6: {} + mmdb-lib@2.1.1: {} + modify-values@1.0.1: {} moment@2.30.1: {} @@ -25232,7 +25241,7 @@ snapshots: array-differ: 3.0.0 array-union: 2.1.0 arrify: 2.0.1 - minimatch: 3.1.2 + minimatch: 3.0.5 mute-stream@0.0.8: {} @@ -25960,8 +25969,6 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-to-regexp@0.1.10: {} - path-to-regexp@0.1.7: {} path-type@3.0.0: @@ -26753,24 +26760,6 @@ snapshots: transitivePeerDependencies: - supports-color - send@0.19.0: - dependencies: - debug: 4.3.6 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - serialize-error@2.1.0: {} serialize-error@5.0.0: @@ -26794,15 +26783,6 @@ snapshots: transitivePeerDependencies: - supports-color - serve-static@1.16.2: - dependencies: - encodeurl: 2.0.0 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.19.0 - transitivePeerDependencies: - - supports-color - set-blocking@2.0.0: {} set-function-length@1.2.2: @@ -27198,9 +27178,9 @@ snapshots: swagger-ui-dist@5.17.14: {} - swagger-ui-express@4.6.3(express@4.21.1): + swagger-ui-express@4.6.3(express@4.19.2): dependencies: - express: 4.21.1 + express: 4.19.2 swagger-ui-dist: 5.17.14 symbol-tree@3.2.4: {} @@ -27379,11 +27359,11 @@ snapshots: ts-interface-checker@0.1.13: optional: true - ts-jest@27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)))(typescript@5.6.3): + ts-jest@27.1.5(@babel/core@7.25.2)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.25.2))(jest@27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest: 27.5.1(canvas@2.11.2(encoding@0.1.13))(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-util: 27.5.1 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -27396,12 +27376,12 @@ snapshots: '@types/jest': 27.5.2 babel-jest: 27.5.1(@babel/core@7.25.2) - ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)))(typescript@5.6.3): + ts-jest@29.2.4(@babel/core@7.25.2)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)))(typescript@5.6.3): dependencies: bs-logger: 0.2.6 ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.17.1)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)) + jest: 29.7.0(@types/node@20.17.4)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -27436,14 +27416,14 @@ snapshots: tslib: 2.6.3 typescript: 5.6.3 - ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3): + ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.17.1 + '@types/node': 20.17.4 acorn: 8.12.1 acorn-walk: 8.3.3 arg: 4.1.3 @@ -27589,7 +27569,7 @@ snapshots: typedarray@0.0.6: {} - typeorm@0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.1)(typescript@5.6.3)): + typeorm@0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.17.4)(typescript@5.6.3)): dependencies: '@sqltools/formatter': 1.2.5 app-root-path: 3.1.0 @@ -27609,7 +27589,7 @@ snapshots: optionalDependencies: pg: 8.12.0 sqlite3: 5.1.7 - ts-node: 10.9.2(@types/node@20.17.1)(typescript@5.6.3) + ts-node: 10.9.2(@types/node@20.17.4)(typescript@5.6.3) transitivePeerDependencies: - supports-color @@ -27729,6 +27709,14 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 + utf8-bytes@0.0.1: {} + + utf8-codec@1.0.0: {} + + utf8-length@0.0.1: {} + + utf8-string-bytes@1.0.3: {} + util-deprecate@1.0.2: {} util@0.12.5: