diff --git a/packages/oid4vci-issuer-rest-api/CHANGELOG.md b/packages/oid4vci-issuer-rest-api/CHANGELOG.md new file mode 100644 index 000000000..fe7bc128c --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/CHANGELOG.md @@ -0,0 +1,71 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [0.9.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.8.0...v0.9.0) (2023-03-09) + +### Bug Fixes + +- credential mapper for jtw ([f04345b](https://github.com/Sphereon-Opensource/SSI-SDK/commit/f04345b97ff9a78a3dff096599f0b675b3239a3e)) +- Fix DID handling in OP session ([926e358](https://github.com/Sphereon-Opensource/SSI-SDK/commit/926e358ef3eadf19fc3c8f7c9940fe6322c5ff85)) +- Incorrect verification method id returned when signing credentials in some cases ([c508507](https://github.com/Sphereon-Opensource/SSI-SDK/commit/c508507ddd2e35fcb377a79bad3c82d695b3d93d)) +- Move parseDid method to ssi-types ([0b28de3](https://github.com/Sphereon-Opensource/SSI-SDK/commit/0b28de3de21afd0a224d3d174103e072162231ed)) + +### Features + +- Add jwt as signature when decoding JWT VCs/VPs ([f089ac1](https://github.com/Sphereon-Opensource/SSI-SDK/commit/f089ac18dc470f0b8c581b49e70e7eba64d72bc3)) +- 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)) +- Create VP in OP Authenticator and allow for callbacks ([0ed86d8](https://github.com/Sphereon-Opensource/SSI-SDK/commit/0ed86d8d2b655a718d7c8cf1a946e0150bf877ce)) +- Make sure VP type corresponds with PEX definition ([129b663](https://github.com/Sphereon-Opensource/SSI-SDK/commit/129b66383752e05ab3067e459bff591a07aac690)) +- Make sure VP type corresponds with PEX definition ([3dafa3f](https://github.com/Sphereon-Opensource/SSI-SDK/commit/3dafa3ff4c794d13eff3e2e0b6a85675667db089)) +- Update SIOP OP to be in line wiht latest SIOP and also supporting late binding of identifiers ([2beea04](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2beea04a6604d82b12ecbc11e68a9f41775c22ed)) + +# [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-did-auth-siop-authenticator + +# [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-did-auth-siop-authenticator + +# [0.6.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.5.1...v0.6.0) (2022-07-01) + +### Features + +- Add custom DID resolver support ([45cea11](https://github.com/Sphereon-Opensource/SSI-SDK/commit/45cea1182693b698611b062a9d664ad92e8dcd6a)) +- Add default DID resolver support ([eebce18](https://github.com/Sphereon-Opensource/SSI-SDK/commit/eebce18bf9cc9d28a8bcdd6886100b7a8921bb2f)) +- Add did resolver and method support per OpSession ([9378b45](https://github.com/Sphereon-Opensource/SSI-SDK/commit/9378b451d4907c8d5385f464b27f858547409bb4)) +- Add did resolver and method support per OpSession ([a9f7afc](https://github.com/Sphereon-Opensource/SSI-SDK/commit/a9f7afc386189ca4851ce967f5abf7db812d1003)) +- Add supported DID methods ([df74ccd](https://github.com/Sphereon-Opensource/SSI-SDK/commit/df74ccddcab06a032ca47a033a46bd0268826f72)) +- Add supported DID methods ([7322265](https://github.com/Sphereon-Opensource/SSI-SDK/commit/732226544503c2bcc32bf4400da82e9154361abb)) + +## [0.5.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.5.0...v0.5.1) (2022-02-23) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.5.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.4.0...v0.5.0) (2022-02-23) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.4.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.4...v0.4.0) (2022-02-11) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +## [0.3.4](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.3...v0.3.4) (2022-02-11) + +### Bug Fixes + +- fix imports ([738f4ca](https://github.com/Sphereon-Opensource/SSI-SDK/commit/738f4cafdf75c9d4831a3c31de1c0d5aff1d7285)) + +## [0.3.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.0...v0.3.1) (2022-01-28) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.3.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.2.0...v0.3.0) (2022-01-16) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.2.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.1.0...v0.2.0) (2021-12-16) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator diff --git a/packages/oid4vci-issuer-rest-api/LICENSE b/packages/oid4vci-issuer-rest-api/LICENSE new file mode 100644 index 000000000..8aee96b74 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/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 [2021] [Sphereon BV] + + 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/oid4vci-issuer-rest-api/README.md b/packages/oid4vci-issuer-rest-api/README.md new file mode 100644 index 000000000..636f0c122 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/README.md @@ -0,0 +1,65 @@ + +

+
+ Sphereon +
SIOPv2 and OpenID4VP Relying Party REST endpoints +
+

+ +--- + +**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!** + +--- + +An authentication plugin using the [Self Issued OpenID Provider v2 (SIOP)](https://github.com/Sphereon-Opensource/did-auth-siop) authentication library for having Relying Parties conforming to +the [Self Issued OpenID Provider v2 (SIOPv2)](https://openid.net/specs/openid-connect-self-issued-v2-1_0.html) +and [OpenID Connect for Verifiable Presentations (OIDC4VP)](https://openid.net/specs/openid-connect-4-verifiable-presentations-1_0.html) +as specified in the OpenID Connect working group. + +## Self Issued OpenID Provider v2 (SIOPv2) + +For more information about [Self Issued OpenID Provider v2 (SIOP)](https://github.com/Sphereon-Opensource/did-auth-siop#introduction), see the documentation in the readme. + +## Requirements + +For this plugin a DID resolver is also required. A DID resolver can be added to the agent as plugin as seen in the example below. + +## Available functions + +## Usage + +### Adding the plugin to an agent: + +```typescript +import { IDidAuthSiopOpAuthenticator } from '@sphereon/ssi-sdk-did-auth-siop-authenticator' +import { Resolver } from 'did-resolver' +import { getDidKeyResolver } from '@veramo/did-provider-key' +import { DIDResolverPlugin } from '@veramo/did-resolver' +import { getUniResolver } from '@sphereon/did-uni-client' + +const agent = createAgent({ + plugins: [ + new DidAuthSiopOpAuthenticator(), + new DIDResolverPlugin({ + resolver: new Resolver({ + ...getDidKeyResolver(), + ...getUniResolver('web'), + ...getUniResolver('jwk'), + }), + }), + ], +}) +``` + +## Installation + +```shell +yarn add @sphereon/ssi-sdk-siopv2-openid4vp-rp +``` + +## Build + +```shell +yarn build +``` diff --git a/packages/oid4vci-issuer-rest-api/__tests__/RestAPI.ts b/packages/oid4vci-issuer-rest-api/__tests__/RestAPI.ts new file mode 100644 index 000000000..68e943c97 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/__tests__/RestAPI.ts @@ -0,0 +1,18 @@ +import { TAgent } from '@veramo/core' +import { IOID4VCIRestAPIOpts, IPlugins, OID4VCIRestAPI } from '../src' +import agent from './agent' + +export const opts: IOID4VCIRestAPIOpts = { + serverOpts: { + host: '0.0.0.0', + port: 5000, + }, +} + +OID4VCIRestAPI.init({ + context: { ...agent.context, agent: agent as TAgent }, + opts, + issuerInstanceArgs: { credentialIssuer: 'http://172.16.1.239:5000/test' }, +}).then((restApi) => { + console.log('REST API STARTED: ' + restApi.instance.metadataOptions.credentialIssuer) +}) diff --git a/packages/oid4vci-issuer-rest-api/__tests__/agent.ts b/packages/oid4vci-issuer-rest-api/__tests__/agent.ts new file mode 100644 index 000000000..95af77226 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/__tests__/agent.ts @@ -0,0 +1,206 @@ +import { IonPublicKeyPurpose } from '@decentralized-identity/ion-sdk' +import { getUniResolver } from '@sphereon/did-uni-client' +import { OID4VCIIssuer } from '@sphereon/ssi-sdk.oid4vci-issuer' +import { OID4VCIStore } from '@sphereon/ssi-sdk.oid4vci-issuer-store' +import { + CredentialHandlerLDLocal, + LdDefaultContexts, + MethodNames, + SphereonBbsBlsSignature2020, + SphereonEd25519Signature2018, + SphereonEd25519Signature2020, + SphereonJsonWebSignature2020, +} from '@sphereon/ssi-sdk.vc-handler-ld-local' +import { createAgent } from '@veramo/core' +import { CredentialPlugin } from '@veramo/credential-w3c' +import { DataStore, DataStoreORM, DIDStore, KeyStore, PrivateKeyStore } from '@veramo/data-store' +import { DIDManager } from '@veramo/did-manager' +import { EthrDIDProvider } from '@veramo/did-provider-ethr' +import { getDidIonResolver, IonDIDProvider } from '@veramo/did-provider-ion' +import { getDidKeyResolver, KeyDIDProvider } from '@veramo/did-provider-key' +import { DIDResolverPlugin } from '@veramo/did-resolver' +import { KeyManager } from '@veramo/key-manager' +import { KeyManagementSystem, SecretBox } from '@veramo/kms-local' +import Debug from 'debug' +import { Resolver } from 'did-resolver' +import { IPlugins } from '../src' +import { DB_CONNECTION_NAME, DB_ENCRYPTION_KEY, getDbConnection } from './database' + +const debug = Debug('ssi-sdk-siopv2-oid4vp-rp-rest-api') + +export const DIF_UNIRESOLVER_RESOLVE_URL = 'https://dev.uniresolver.io/1.0/identifiers' +export const APP_ID = 'sphereon:rp-demo' +export const DID_PREFIX = 'did' + +export enum KeyManagementSystemEnum { + LOCAL = 'local', +} + +export enum SupportedDidMethodEnum { + DID_ETHR = 'ethr', + DID_KEY = 'key', + // DID_LTO = 'lto', + DID_ION = 'ion', + // DID_FACTOM = 'factom', + DID_JWK = 'jwk', +} + +/*const COOKIE_SIGNING_KEY = '8E5er6YyAO6dIrDTm7BXYWsafBSLxzjb' +const BACKEND_BASE_URL = 'https://nk-gx-compliance.eu.ngrok.io' +const AUTH_REQUEST_EXPIRES_AFTER_SEC = 120*/ +const RP_PRIVATE_KEY_HEX = '851eb04ca3e2b2589d6f6a7287565816ee8e3126599bfeede8d3e93c53fb26e3' +// const RP_DID = 'did:ion:EiAG1fCl2kHSyZv7Z1Bb1eL7b_PVbiHaoxGki-5s8PjsFQ:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljS2V5cyI6W3siaWQiOiJhdXRoLWtleSIsInB1YmxpY0tleUp3ayI6eyJjcnYiOiJzZWNwMjU2azEiLCJrdHkiOiJFQyIsIngiOiJmUUE3WUpNRk1qNXFET0RrS25qR1ZLNW0za1VSRFc1YnJ1TWhUa1NYSGQwIiwieSI6IlI3cVBNNEsxWHlqNkprM3M2a3I2aFNrQzlDa0ExSEFpMVFTejZqSU56dFkifSwicHVycG9zZXMiOlsiYXV0aGVudGljYXRpb24iLCJhc3NlcnRpb25NZXRob2QiXSwidHlwZSI6IkVjZHNhU2VjcDI1NmsxVmVyaWZpY2F0aW9uS2V5MjAxOSJ9XX19XSwidXBkYXRlQ29tbWl0bWVudCI6IkVpQmRpaVlrT3kyd3VOQ3Z5OWs4X1RoNzhSSlBvcy04MzZHZWpyRmJycTROZFEifSwic3VmZml4RGF0YSI6eyJkZWx0YUhhc2giOiJFaUFTdTN1NGxsRk5KRkNEbTU5VFVBS1NSLTg3QUpsNFNzWEhlS05kbVRydXp3IiwicmVjb3ZlcnlDb21taXRtZW50IjoiRWlEZXBoWHJVQVdCcWswcnFBLTI3bE1ib08zMFZZVFdoV0Y0NHBlanJyXzNOQSJ9fQ' +// const RP_DID_SHORT = 'did:ion:EiAeobpQwEVpR-Ib9toYwbISQZZGIBck6zIUm0ZDmm9v0g' +const RP_DID = + 'did:ion:EiAeobpQwEVpR-Ib9toYwbISQZZGIBck6zIUm0ZDmm9v0g:eyJkZWx0YSI6eyJwYXRjaGVzIjpbeyJhY3Rpb24iOiJyZXBsYWNlIiwiZG9jdW1lbnQiOnsicHVibGljS2V5cyI6W3siaWQiOiJhdXRoLWtleSIsInB1YmxpY0tleUp3ayI6eyJjcnYiOiJzZWNwMjU2azEiLCJrdHkiOiJFQyIsIngiOiJmUUE3WUpNRk1qNXFET0RrS25qR1ZLNW0za1VSRFc1YnJ1TWhUa1NYSGQwIiwieSI6IlI3cVBNNEsxWHlqNkprM3M2a3I2aFNrQzlDa0ExSEFpMVFTejZqSU56dFkifSwicHVycG9zZXMiOlsiYXV0aGVudGljYXRpb24iLCJhc3NlcnRpb25NZXRob2QiXSwidHlwZSI6IkVjZHNhU2VjcDI1NmsxVmVyaWZpY2F0aW9uS2V5MjAxOSJ9XX19XSwidXBkYXRlQ29tbWl0bWVudCI6IkVpQnpwN1loTjltaFVjWnNGZHhuZi1sd2tSVS1oVmJCdFpXc1ZvSkhWNmprd0EifSwic3VmZml4RGF0YSI6eyJkZWx0YUhhc2giOiJFaUJvbWxvZ0JPOERROFdpVVFsa3diYmxuMXpsRFU2Q3Jvc01wNDRySjYzWHhBIiwicmVjb3ZlcnlDb21taXRtZW50IjoiRWlEQVFYU2k3SGNqSlZCWUFLZE8yenJNNEhmeWJtQkJDV3NsNlBRUEpfamtsQSJ9fQ' +const PRIVATE_RECOVERY_KEY_HEX = '7c90c0575643d09a370c35021c91e9d8af2c968c5f3a4bf73802693511a55b9f' +const PRIVATE_UPDATE_KEY_HEX = '7288a92f6219c873446abd1f8d26fcbbe1caa5274b47f6f086ef3e7e75dcad8b' +const RP_DID_KID = `${RP_DID}#auth-key` + +export const resolver = new Resolver({ + /*// const SPHEREON_UNIRESOLVER_RESOLVE_URL = 'https://uniresolver.test.sphereon.io/1.0/identifiers' + ...getUniResolver('jwk', { + resolveUrl: DIF_UNIRESOLVER_RESOLVE_URL + }), + ...getUniResolver('ion', { + resolveUrl: DIF_UNIRESOLVER_RESOLVE_URL + }), + ..getUniResolver('lto', { + resolveUrl: SPHEREON_UNIRESOLVER_RESOLVE_URL + }),*/ + ...getUniResolver('ethr', { + resolveUrl: DIF_UNIRESOLVER_RESOLVE_URL, + }), + ...getDidKeyResolver(), + // ...getDidJwkResolver(), + ...getUniResolver('jwk', { + resolveUrl: DIF_UNIRESOLVER_RESOLVE_URL, + }), + ...getDidIonResolver(), +}) + +export const didProviders = { + [`${DID_PREFIX}:${SupportedDidMethodEnum.DID_ETHR}`]: new EthrDIDProvider({ + defaultKms: KeyManagementSystemEnum.LOCAL, + network: 'ropsten', + }), + [`${DID_PREFIX}:${SupportedDidMethodEnum.DID_KEY}`]: new KeyDIDProvider({ + defaultKms: KeyManagementSystemEnum.LOCAL, + }), + [`${DID_PREFIX}:${SupportedDidMethodEnum.DID_ION}`]: new IonDIDProvider({ + defaultKms: KeyManagementSystemEnum.LOCAL, + }), + /*[`${DID_PREFIX}:${SupportedDidMethodEnum.DID_JWK}`]: new JwkDIDProvider({ + defaultKms: KeyManagementSystemEnum.LOCAL + })*/ +} + +const dbConnection = getDbConnection(DB_CONNECTION_NAME) +const privateKeyStore: PrivateKeyStore = new PrivateKeyStore(dbConnection, new SecretBox(DB_ENCRYPTION_KEY)) + +const agent = createAgent({ + plugins: [ + new DataStore(dbConnection), + new DataStoreORM(dbConnection), + new KeyManager({ + store: new KeyStore(dbConnection), + kms: { + local: new KeyManagementSystem(privateKeyStore), + }, + }), + new DIDManager({ + store: new DIDStore(dbConnection), + defaultProvider: `${DID_PREFIX}:${SupportedDidMethodEnum.DID_JWK}`, + providers: didProviders, + }), + new DIDResolverPlugin({ + resolver, + }), + new OID4VCIStore({ + defaultOpts: { + userPinRequired: false, + didOpts: { + identifierOpts: { + identifier: RP_DID, + kid: RP_DID_KID, + }, + }, + }, + importMetadatas: [ + { + correlationId: 'http://172.16.1.239:5000/test', + overwriteExisting: true, + metadata: { + credential_issuer: 'http://172.16.1.239:5000/test', + credential_endpoint: 'http://172.16.1.239:5000/test/credentials', + // token_endpoint: 'http://172.16.1.239:5000/test/token', + credentials_supported: [ + { + id: 'test', + types: ['VerifiableCredential'], + format: 'jwt_vc_json', + cryptographic_binding_methods_supported: ['did:web', 'did:jwk', 'did:key'], + cryptographic_suites_supported: ['ES256', 'ES256K', 'EdDSA'], + }, + ], + }, + }, + ], + }), + new OID4VCIIssuer(), + new CredentialPlugin(), + new CredentialHandlerLDLocal({ + contextMaps: [LdDefaultContexts], + suites: [ + new SphereonEd25519Signature2018(), + new SphereonEd25519Signature2020(), + new SphereonBbsBlsSignature2020(), + new SphereonJsonWebSignature2020(), + ], + bindingOverrides: new Map([ + ['createVerifiableCredentialLD', MethodNames.createVerifiableCredentialLDLocal], + ['createVerifiablePresentationLD', MethodNames.createVerifiablePresentationLDLocal], + ]), + keyStore: privateKeyStore, + }), + ], +}) + +// agent.didManagerImport({did: RP_DID, keys: }) +agent + .didManagerCreate({ + provider: 'did:ion', + alias: RP_DID, + options: { + kid: 'auth-key', + anchor: false, + recoveryKey: { + kid: 'recovery-test2', + key: { + privateKeyHex: PRIVATE_RECOVERY_KEY_HEX, + }, + }, + updateKey: { + kid: 'update-test2', + key: { + privateKeyHex: PRIVATE_UPDATE_KEY_HEX, + }, + }, + verificationMethods: [ + { + key: { + kid: 'auth-key', + privateKeyHex: RP_PRIVATE_KEY_HEX, + }, + purposes: [IonPublicKeyPurpose.Authentication, IonPublicKeyPurpose.AssertionMethod], + }, + ], + }, + }) + .then((value) => { + debug(`IDENTIFIER: ${value.did}`) + }) + .catch((reason) => { + debug(`error on creation: ${reason}`) + }) +export default agent diff --git a/packages/oid4vci-issuer-rest-api/__tests__/database/config.ts b/packages/oid4vci-issuer-rest-api/__tests__/database/config.ts new file mode 100644 index 000000000..75da16557 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/__tests__/database/config.ts @@ -0,0 +1,22 @@ +import { Entities as VeramoDataStoreEntities, migrations as VeramoDataStoreMigrations } from '@veramo/data-store' +import { DataStoreContactEntities, DataStoreMigrations } from '@sphereon/ssi-sdk.data-store' +import { SqliteConnectionOptions } from 'typeorm/driver/sqlite/SqliteConnectionOptions' +import { KeyValueStoreEntity } from '@sphereon/ssi-sdk.kv-store-temp' +import { kvStoreMigrations } from '@sphereon/ssi-sdk.kv-store-temp' + +const DB_CONNECTION_NAME = 'default' +const DB_ENCRYPTION_KEY = '29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c' + +const sqliteConfig: SqliteConnectionOptions = { + type: 'sqlite', + database: '__tests__/database/test.sqlite', + entities: [...VeramoDataStoreEntities, ...DataStoreContactEntities, KeyValueStoreEntity], + migrations: [...VeramoDataStoreMigrations, ...DataStoreMigrations, ...kvStoreMigrations], + migrationsRun: false, // We run migrations from code to ensure proper ordering with Redux + synchronize: false, // We do not enable synchronize, as we use migrations from code + migrationsTransactionMode: 'each', // protect every migration with a separate transaction + logging: 'all', // 'all' means to enable all logging + logger: 'advanced-console', +} + +export { sqliteConfig, DB_CONNECTION_NAME, DB_ENCRYPTION_KEY } diff --git a/packages/oid4vci-issuer-rest-api/__tests__/database/databaseService.ts b/packages/oid4vci-issuer-rest-api/__tests__/database/databaseService.ts new file mode 100644 index 000000000..6775b2e6f --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/__tests__/database/databaseService.ts @@ -0,0 +1,36 @@ +import Debug from 'debug' +import { DataSource } from 'typeorm' + +import { sqliteConfig } from './config' + +const debug = Debug(`demo:databaseService`) + +/** + * Todo, move to a class + */ +const dataSources = new Map() + +export const getDbConnection = async (dbName: string): Promise => { + if (sqliteConfig.synchronize) { + return Promise.reject( + `WARNING: Migrations need to be enabled in this app! Adjust the database configuration and set migrationsRun and synchronize to false` + ) + } + + if (dataSources.has(dbName)) { + return dataSources.get(dbName) + } + + const dataSource = await new DataSource({ ...sqliteConfig, name: dbName }).initialize() + dataSources.set(dbName, dataSource) + if (sqliteConfig.migrationsRun) { + debug( + `Migrations are currently managed from config. Please set migrationsRun and synchronize to false to get consistent behaviour. We run migrations from code explicitly` + ) + } else { + debug(`Running ${dataSource.migrations.length} migration(s) from code if needed...`) + await dataSource.runMigrations() + debug(`${dataSource.migrations.length} migration(s) from code were inspected and applied`) + } + return dataSource +} diff --git a/packages/oid4vci-issuer-rest-api/__tests__/database/index.ts b/packages/oid4vci-issuer-rest-api/__tests__/database/index.ts new file mode 100644 index 000000000..4b18e08ce --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/__tests__/database/index.ts @@ -0,0 +1,2 @@ +export * from './config' +export * from './databaseService' diff --git a/packages/oid4vci-issuer-rest-api/agent.yml b/packages/oid4vci-issuer-rest-api/agent.yml new file mode 100644 index 000000000..f78f74ed5 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/agent.yml @@ -0,0 +1,128 @@ +version: 3.0 + +constants: + baseUrl: http://localhost:3335 + port: 3335 + # please use your own X25519 key, this is only an example + secretKey: 29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c + methods: + - authenticateWithSiop + - getSiopAuthorizationRequestFromRP + - getSiopAuthorizationRequestDetails + - verifySiopAuthorizationRequestURI + - sendSiopAuthorizationResponse + +# Database +dbConnection: + $require: typeorm#DataSource + $args: + - type: sqlite + database: ':memory:' + synchronize: false + migrationsRun: true + migrations: + $require: '@veramo/data-store?t=object#migrations' + logging: false + entities: + $require: '@veramo/data-store?t=object#Entities' + +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 + +# DID resolvers +didResolver: + $require: '@veramo/did-resolver#DIDResolverPlugin' + $args: + - resolver: + $require: did-resolver#Resolver + $args: + - elem: + $ref: /universal-resolver + io: + $ref: /universal-resolver + ion: + $ref: /universal-resolver + sov: + $ref: /universal-resolver + ethr: + $ref: /ethr-did-resolver + +ethr-did-resolver: + $require: ethr-did-resolver?t=function&p=/ethr#getResolver + $args: + - infuraProjectId: 5ffc47f65c4042ce847ef66a3fa70d4c + +universal-resolver: + $require: '@veramo/did-resolver#UniversalResolver' + $args: + - url: https://dev.uniresolver.io/1.0/identifiers/ + +# Agent +agent: + $require: '@veramo/core#Agent' + $args: + - schemaValidation: false + plugins: + - $ref: /didResolver + - $require: ./packages/siopv2-openid4vp-op-auth/dist#DidAuthSiopOpAuthenticator + $args: + - presentationSignCallback: {} + - $require: '@veramo/data-store#DataStore' + $args: + - $ref: /dbConnection + - $require: '@veramo/data-store#DataStoreORM' + $args: + - $ref: /dbConnection diff --git a/packages/oid4vci-issuer-rest-api/api-extractor.json b/packages/oid4vci-issuer-rest-api/api-extractor.json new file mode 100644 index 000000000..94c2c6a9f --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../include/api-extractor-base.json" +} diff --git a/packages/oid4vci-issuer-rest-api/package.json b/packages/oid4vci-issuer-rest-api/package.json new file mode 100644 index 000000000..814f5b25f --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/package.json @@ -0,0 +1,91 @@ +{ + "name": "@sphereon/ssi-sdk.oid4vci-issuer-rest-api", + "version": "0.11.0", + "source": "src/index.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "tsc --build", + "build:clean": "tsc --build --clean && tsc --build", + "start:prod": "node build/index.js", + "start:dev": "ts-node __tests__/RestAPI.ts" + }, + "dependencies": { + "@sphereon/oid4vci-common": "0.4.1-unstable.284", + "@sphereon/oid4vci-issuer": "0.4.1-unstable.284", + "@sphereon/oid4vci-issuer-server": "0.4.1-unstable.284", + "@sphereon/ssi-types": "workspace:*", + "@types/uuid": "^9.0.1", + "@veramo/core": "4.2.0", + "@veramo/credential-w3c": "4.2.0", + "@sphereon/ssi-sdk.oid4vci-issuer-store": "workspace:*", + "@sphereon/ssi-sdk.oid4vci-issuer": "workspace:*", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "body-parser": "^1.19.0", + "cookie-parser": "^1.4.5", + "cors": "^2.8.5", + "cross-fetch": "^3.1.5", + "dotenv-flow": "^3.2.0", + "express": "^4.18.2", + "short-uuid": "^4.2.2", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@sphereon/did-uni-client": "^0.6.0", + "@sphereon/ssi-sdk.data-store": "workspace:*", + "@sphereon/ssi-sdk-ext.did-provider-jwk": "^0.12.0", + "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:*", + "@sphereon/pex-models": "^2.0.2", + "@sphereon/pex": "^2.0.1", + "@types/body-parser": "^1.19.2", + "@types/cookie-parser": "^1.4.3", + "@types/cors": "^2.8.13", + "@types/debug": "^4.1.7", + "@types/dotenv-flow": "^3.2.0", + "@types/express": "^4.17.13", + "@types/express-http-proxy": "^1.6.3", + "@types/node": "^18.15.0", + "typeorm": "^0.3.12", + "@decentralized-identity/ion-sdk": "^0.6.0", + "@veramo/did-provider-ion": "4.2.0", + "@veramo/did-provider-key": "4.2.0", + "@veramo/did-provider-web": "4.2.0", + "@veramo/did-provider-ethr": "4.2.0", + "@veramo/did-resolver": "4.2.0", + "@veramo/data-store": "4.2.0", + "@veramo/did-manager": "4.2.0", + "@veramo/key-manager": "4.2.0", + "@veramo/kms-local": "4.2.0", + "@veramo/utils": "4.2.0", + "did-resolver": "^4.1.0", + "nock": "^13.2.1", + "ts-node": "^10.9.1" + }, + "files": [ + ".yalc/**/*", + "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", + "DID", + "SIOP", + "SIOPv2", + "OIDC4VP", + "Presentation Exchange", + "OpenID Connect", + "Authenticator" + ] +} diff --git a/packages/oid4vci-issuer-rest-api/src/OID4VCIRestAPI.ts b/packages/oid4vci-issuer-rest-api/src/OID4VCIRestAPI.ts new file mode 100644 index 000000000..ad4b16814 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/src/OID4VCIRestAPI.ts @@ -0,0 +1,129 @@ +// noinspection JSUnusedGlobalSymbols + +import { CredentialDataSupplier, VcIssuer } from '@sphereon/oid4vci-issuer' +import { OID4VCIServer } from '@sphereon/oid4vci-issuer-server' +import { IOID4VCIServerOpts } from '@sphereon/oid4vci-issuer-server/lib/OID4VCIServer' +import { IIssuerInstanceArgs, IssuerInstance } from '@sphereon/ssi-sdk.oid4vci-issuer' +import { getAccessTokenSignerCallback } from '@sphereon/ssi-sdk.oid4vci-issuer/dist/functions' +import bodyParser from 'body-parser' +import * as dotenv from 'dotenv-flow' +import express, { Express } from 'express' +import { IRequiredContext } from './types' + +export interface IOID4VCIRestAPIOpts extends IOID4VCIServerOpts {} + +export class OID4VCIRestAPI { + private readonly _express: Express + private readonly _context: IRequiredContext + private readonly _opts?: IOID4VCIRestAPIOpts + private readonly _restApi: OID4VCIServer + private readonly _instance: IssuerInstance + private readonly _issuer: VcIssuer + + static async init(args: { + context: IRequiredContext + issuerInstanceArgs: IIssuerInstanceArgs + credentialDataSupplier?: CredentialDataSupplier + express?: Express + opts?: IOID4VCIRestAPIOpts + }): Promise { + const { issuerInstanceArgs, express, context } = args + const instance = await context.agent.oid4vciGetInstance(args.issuerInstanceArgs) + const issuer = await instance.get({ context, credentialDataSupplier: args.credentialDataSupplier }) + const opts = args.opts ?? {} + if (!opts.tokenEndpointOpts) { + opts.tokenEndpointOpts = { accessTokenIssuer: instance.metadataOptions.credentialIssuer ?? issuer.issuerMetadata.credential_issuer } + } + if (opts?.tokenEndpointOpts?.tokenEndpointDisabled !== true && typeof opts?.tokenEndpointOpts?.accessTokenSignerCallback !== 'function') { + opts.tokenEndpointOpts.accessTokenSignerCallback = getAccessTokenSignerCallback( + { + iss: opts.tokenEndpointOpts.accessTokenIssuer ?? instance.metadataOptions.credentialIssuer, + didOpts: instance.issuerOptions.didOpts, + }, + args.context + ) + } + if (!opts.serverOpts) { + opts.serverOpts = { + port: 5000, + host: '0.0.0.0', + app: args.express, + } + } + return new OID4VCIRestAPI({ context, issuerInstanceArgs, express, opts, instance, issuer }) + } + + private constructor(args: { + issuer: VcIssuer + instance: IssuerInstance + context: IRequiredContext + issuerInstanceArgs: IIssuerInstanceArgs + express?: Express + opts: IOID4VCIRestAPIOpts + }) { + const { context, opts } = args + this._context = context + this._opts = opts ?? {} + const existingExpress = !!args.express + this._express = existingExpress ? args.express! : express() + this.setupExpress(existingExpress) + this._issuer = args.issuer + this._instance = args.instance + + this._opts.serverOpts = { + ...opts.serverOpts, + app: this._express, + } + this._restApi = new OID4VCIServer({ ...opts, issuer: this._issuer }) + } + + private setupExpress(existingExpress: boolean) { + dotenv.config() + if (!existingExpress) { + const port = this._opts?.serverOpts?.port || process.env.PORT || 5000 + const hostname = this._opts?.serverOpts?.host || '0.0.0.0' + this._express.use((req, res, next) => { + res.header('Access-Control-Allow-Origin', '*') + // Request methods you wish to allow + res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE') + + // Request headers you wish to allow + res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type') + + // Set to true if you need the website to include cookies in the requests sent + // to the API (e.g. in case you use sessions) + res.setHeader('Access-Control-Allow-Credentials', 'true') + next() + }) + // this.express.use(cors({ credentials: true })); + // this.express.use('/proxy', proxy('www.gssoogle.com')); + this._express.use(bodyParser.urlencoded({ extended: true })) + this._express.use(bodyParser.json()) + this._express.listen(port as number, hostname, () => console.log(`Listening on ${hostname}, port ${port}`)) + } + } + + get express(): Express { + return this._express + } + + get context(): IRequiredContext { + return this._context + } + + get opts(): IOID4VCIRestAPIOpts | undefined { + return this._opts + } + + get restApi(): OID4VCIServer { + return this._restApi + } + + get instance(): IssuerInstance { + return this._instance + } + + get issuer(): VcIssuer { + return this._issuer + } +} diff --git a/packages/oid4vci-issuer-rest-api/src/index.ts b/packages/oid4vci-issuer-rest-api/src/index.ts new file mode 100644 index 000000000..cc3ccf269 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/src/index.ts @@ -0,0 +1,5 @@ +/** + * @public + */ +export * from './OID4VCIRestAPI' +export * from './types' diff --git a/packages/oid4vci-issuer-rest-api/src/request-agent-router.ts b/packages/oid4vci-issuer-rest-api/src/request-agent-router.ts new file mode 100644 index 000000000..b4f1e0130 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/src/request-agent-router.ts @@ -0,0 +1,47 @@ +import { IAgent } from '@veramo/core' +import { Request, Router } from 'express' + +export interface RequestWithAgent extends Request { + agent?: IAgent +} + +/** + * @public + */ +export interface RequestWithAgentRouterOptions { + /** + * Optional. Pre-configured agent + */ + agent?: IAgent + + /** + * Optional. Function that returns a Promise that resolves to a configured agent for specific request + */ + getAgentForRequest?: (req: Request) => Promise +} + +/** + * Creates an expressjs router that adds a Veramo agent to the request object. + * + * This is needed by all other routers provided by this package to be able to perform their functions. + * + * @param options - Initialization option + * @returns Expressjs router + * + * @public + */ +export const RequestWithAgentRouter = (options: RequestWithAgentRouterOptions): Router => { + const router = Router() + router.use(async (req: RequestWithAgent, res, next) => { + if (options.agent) { + req.agent = options.agent + } else if (options.getAgentForRequest) { + req.agent = await options.getAgentForRequest(req) + } else { + throw Error('[RequestWithAgentRouter] agent or getAgentForRequest is required') + } + next() + }) + + return router +} diff --git a/packages/oid4vci-issuer-rest-api/src/types.ts b/packages/oid4vci-issuer-rest-api/src/types.ts new file mode 100644 index 000000000..c21119c99 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/src/types.ts @@ -0,0 +1,15 @@ +import { IOID4VCIIssuer } from '@sphereon/ssi-sdk.oid4vci-issuer' +import { IOID4VCIStore } from '@sphereon/ssi-sdk.oid4vci-issuer-store' +import { IAgentContext, ICredentialIssuer, ICredentialVerifier, IDataStore, IDataStoreORM, IDIDManager, IKeyManager, IResolver } from '@veramo/core' + +export type IRequiredContext = IAgentContext + +export type IPlugins = IDIDManager & + IKeyManager & + IDataStore & + IDataStoreORM & + IResolver & + IOID4VCIStore & + IOID4VCIIssuer & + ICredentialVerifier & + ICredentialIssuer diff --git a/packages/oid4vci-issuer-rest-api/tsconfig.json b/packages/oid4vci-issuer-rest-api/tsconfig.json new file mode 100644 index 000000000..2a83d3c59 --- /dev/null +++ b/packages/oid4vci-issuer-rest-api/tsconfig.json @@ -0,0 +1,26 @@ +{ + "extends": "../tsconfig-base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "declarationDir": "dist", + "esModuleInterop": true + }, + "references": [ + { + "path": "../ssi-types" + }, + { + "path": "../ssi-sdk-core" + }, + { + "path": "../kv-store" + }, + { + "path": "../oid4vci-issuer-store" + }, + { + "path": "../oid4vci-issuer" + } + ] +} diff --git a/packages/oid4vci-issuer-store/CHANGELOG.md b/packages/oid4vci-issuer-store/CHANGELOG.md new file mode 100644 index 000000000..fe7bc128c --- /dev/null +++ b/packages/oid4vci-issuer-store/CHANGELOG.md @@ -0,0 +1,71 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [0.9.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.8.0...v0.9.0) (2023-03-09) + +### Bug Fixes + +- credential mapper for jtw ([f04345b](https://github.com/Sphereon-Opensource/SSI-SDK/commit/f04345b97ff9a78a3dff096599f0b675b3239a3e)) +- Fix DID handling in OP session ([926e358](https://github.com/Sphereon-Opensource/SSI-SDK/commit/926e358ef3eadf19fc3c8f7c9940fe6322c5ff85)) +- Incorrect verification method id returned when signing credentials in some cases ([c508507](https://github.com/Sphereon-Opensource/SSI-SDK/commit/c508507ddd2e35fcb377a79bad3c82d695b3d93d)) +- Move parseDid method to ssi-types ([0b28de3](https://github.com/Sphereon-Opensource/SSI-SDK/commit/0b28de3de21afd0a224d3d174103e072162231ed)) + +### Features + +- Add jwt as signature when decoding JWT VCs/VPs ([f089ac1](https://github.com/Sphereon-Opensource/SSI-SDK/commit/f089ac18dc470f0b8c581b49e70e7eba64d72bc3)) +- 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)) +- Create VP in OP Authenticator and allow for callbacks ([0ed86d8](https://github.com/Sphereon-Opensource/SSI-SDK/commit/0ed86d8d2b655a718d7c8cf1a946e0150bf877ce)) +- Make sure VP type corresponds with PEX definition ([129b663](https://github.com/Sphereon-Opensource/SSI-SDK/commit/129b66383752e05ab3067e459bff591a07aac690)) +- Make sure VP type corresponds with PEX definition ([3dafa3f](https://github.com/Sphereon-Opensource/SSI-SDK/commit/3dafa3ff4c794d13eff3e2e0b6a85675667db089)) +- Update SIOP OP to be in line wiht latest SIOP and also supporting late binding of identifiers ([2beea04](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2beea04a6604d82b12ecbc11e68a9f41775c22ed)) + +# [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-did-auth-siop-authenticator + +# [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-did-auth-siop-authenticator + +# [0.6.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.5.1...v0.6.0) (2022-07-01) + +### Features + +- Add custom DID resolver support ([45cea11](https://github.com/Sphereon-Opensource/SSI-SDK/commit/45cea1182693b698611b062a9d664ad92e8dcd6a)) +- Add default DID resolver support ([eebce18](https://github.com/Sphereon-Opensource/SSI-SDK/commit/eebce18bf9cc9d28a8bcdd6886100b7a8921bb2f)) +- Add did resolver and method support per OpSession ([9378b45](https://github.com/Sphereon-Opensource/SSI-SDK/commit/9378b451d4907c8d5385f464b27f858547409bb4)) +- Add did resolver and method support per OpSession ([a9f7afc](https://github.com/Sphereon-Opensource/SSI-SDK/commit/a9f7afc386189ca4851ce967f5abf7db812d1003)) +- Add supported DID methods ([df74ccd](https://github.com/Sphereon-Opensource/SSI-SDK/commit/df74ccddcab06a032ca47a033a46bd0268826f72)) +- Add supported DID methods ([7322265](https://github.com/Sphereon-Opensource/SSI-SDK/commit/732226544503c2bcc32bf4400da82e9154361abb)) + +## [0.5.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.5.0...v0.5.1) (2022-02-23) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.5.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.4.0...v0.5.0) (2022-02-23) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.4.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.4...v0.4.0) (2022-02-11) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +## [0.3.4](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.3...v0.3.4) (2022-02-11) + +### Bug Fixes + +- fix imports ([738f4ca](https://github.com/Sphereon-Opensource/SSI-SDK/commit/738f4cafdf75c9d4831a3c31de1c0d5aff1d7285)) + +## [0.3.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.0...v0.3.1) (2022-01-28) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.3.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.2.0...v0.3.0) (2022-01-16) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.2.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.1.0...v0.2.0) (2021-12-16) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator diff --git a/packages/oid4vci-issuer-store/LICENSE b/packages/oid4vci-issuer-store/LICENSE new file mode 100644 index 000000000..8aee96b74 --- /dev/null +++ b/packages/oid4vci-issuer-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 [2021] [Sphereon BV] + + 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/oid4vci-issuer-store/README.md b/packages/oid4vci-issuer-store/README.md new file mode 100644 index 000000000..8cbfdb029 --- /dev/null +++ b/packages/oid4vci-issuer-store/README.md @@ -0,0 +1,27 @@ + +

+
+ Sphereon +
OpenID for Verifiable Credentials Issuer (OID4VCI) +
+

+ +--- + +**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!** + +--- + +TODO + +## Installation + +```shell +yarn add @sphereon/ssi-sdk-siopv2-openid4vp-rp +``` + +## Build + +```shell +yarn build +``` diff --git a/packages/oid4vci-issuer-store/agent.yml b/packages/oid4vci-issuer-store/agent.yml new file mode 100644 index 000000000..f78f74ed5 --- /dev/null +++ b/packages/oid4vci-issuer-store/agent.yml @@ -0,0 +1,128 @@ +version: 3.0 + +constants: + baseUrl: http://localhost:3335 + port: 3335 + # please use your own X25519 key, this is only an example + secretKey: 29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c + methods: + - authenticateWithSiop + - getSiopAuthorizationRequestFromRP + - getSiopAuthorizationRequestDetails + - verifySiopAuthorizationRequestURI + - sendSiopAuthorizationResponse + +# Database +dbConnection: + $require: typeorm#DataSource + $args: + - type: sqlite + database: ':memory:' + synchronize: false + migrationsRun: true + migrations: + $require: '@veramo/data-store?t=object#migrations' + logging: false + entities: + $require: '@veramo/data-store?t=object#Entities' + +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 + +# DID resolvers +didResolver: + $require: '@veramo/did-resolver#DIDResolverPlugin' + $args: + - resolver: + $require: did-resolver#Resolver + $args: + - elem: + $ref: /universal-resolver + io: + $ref: /universal-resolver + ion: + $ref: /universal-resolver + sov: + $ref: /universal-resolver + ethr: + $ref: /ethr-did-resolver + +ethr-did-resolver: + $require: ethr-did-resolver?t=function&p=/ethr#getResolver + $args: + - infuraProjectId: 5ffc47f65c4042ce847ef66a3fa70d4c + +universal-resolver: + $require: '@veramo/did-resolver#UniversalResolver' + $args: + - url: https://dev.uniresolver.io/1.0/identifiers/ + +# Agent +agent: + $require: '@veramo/core#Agent' + $args: + - schemaValidation: false + plugins: + - $ref: /didResolver + - $require: ./packages/siopv2-openid4vp-op-auth/dist#DidAuthSiopOpAuthenticator + $args: + - presentationSignCallback: {} + - $require: '@veramo/data-store#DataStore' + $args: + - $ref: /dbConnection + - $require: '@veramo/data-store#DataStoreORM' + $args: + - $ref: /dbConnection diff --git a/packages/oid4vci-issuer-store/api-extractor.json b/packages/oid4vci-issuer-store/api-extractor.json new file mode 100644 index 000000000..94c2c6a9f --- /dev/null +++ b/packages/oid4vci-issuer-store/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../include/api-extractor-base.json" +} diff --git a/packages/oid4vci-issuer-store/package.json b/packages/oid4vci-issuer-store/package.json new file mode 100644 index 000000000..f20c2f4bc --- /dev/null +++ b/packages/oid4vci-issuer-store/package.json @@ -0,0 +1,61 @@ +{ + "name": "@sphereon/ssi-sdk.oid4vci-issuer-store", + "version": "0.11.0", + "source": "src/index.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "veramo": { + "pluginInterfaces": { + "ISIOPv2RP": "./src/types/ISIOPv2RP.ts" + } + }, + "scripts": { + "build": "tsc --build", + "build:clean": "tsc --build --clean && tsc --build" + }, + "dependencies": { + "@sphereon/oid4vci-common": "0.4.1-unstable.284", + "@sphereon/ssi-sdk-ext.did-utils": "^0.12.0", + "@types/uuid": "^9.0.1", + "@veramo/core": "4.2.0", + "@veramo/credential-w3c": "4.2.0", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "cross-fetch": "^3.1.5", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@sphereon/did-uni-client": "^0.6.0", + "@veramo/did-provider-key": "4.2.0", + "@veramo/did-resolver": "4.2.0", + "@veramo/utils": "4.2.0", + "did-resolver": "^4.1.0", + "nock": "^13.2.1" + }, + "files": [ + ".yalc/**/*", + "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", + "DID", + "SIOP", + "SIOPv2", + "OID4VP", + "Presentation Exchange", + "OpenID Connect", + "Authenticator" + ] +} diff --git a/packages/oid4vci-issuer-store/plugin.schema.json b/packages/oid4vci-issuer-store/plugin.schema.json new file mode 100644 index 000000000..03a1513eb --- /dev/null +++ b/packages/oid4vci-issuer-store/plugin.schema.json @@ -0,0 +1,329 @@ +{ + "IDidAuthSiopOpAuthenticator": { + "components": { + "schemas": { + "IGetSiopSessionArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "additionalProperties": false + }, + "required": ["sessionId"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } " + }, + "IRegisterSiopSessionArgs": { + "type": "object", + "properties": { + "identifier": { + "type": "object", + "properties": { + "did": { + "type": "string" + }, + "alias": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "controllerKeyId": { + "type": "string" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "additionalProperties": true + } + } + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "additionalProperties": true + } + } + } + }, + "additionalProperties": false, + "required": ["did", "provider", "keys", "services"] + }, + "sessionId": { + "type": "string" + }, + "expiresIn": { + "type": "number" + }, + "additionalProperties": false + }, + "required": ["identifier"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.registerSessionForSiop } " + }, + "IRemoveSiopSessionArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "additionalProperties": false + }, + "required": ["sessionId"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.removeSessionForSiop } " + }, + "IAuthenticateWithSiopArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "stateId": { + "type": "string" + }, + "redirectUrl": { + "type": "string" + }, + "additionalProperties": false + }, + "required": ["sessionId", "stateId", "redirectUrl"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.authenticateWithSiop } " + }, + "IResponse": { + "type": "object", + "properties": { + "status": { + "type": "number" + }, + "additionalProperties": true + }, + "required": ["status"], + "description": "Result of {@link DidAuthSiopOpAuthenticator.authenticateWithSiop & DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } " + }, + "IGetSiopAuthenticationRequestFromRpArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "stateId": { + "type": "string" + }, + "redirectUrl": { + "type": "string" + }, + "additionalProperties": false + }, + "required": ["sessionId", "stateId", "redirectUrl"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } " + }, + "ParsedAuthenticationRequestURI": { + "type": "object", + "properties": { + "jwt": { + "type": "string" + }, + "requestPayload": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "registration": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["jwt", "requestPayload", "registration"], + "description": "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } " + }, + "IGetSiopAuthenticationRequestDetailsArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "verifiedAuthenticationRequest": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "credentialFilter": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["sessionId", "verifiedAuthenticationRequest"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } " + }, + "IAuthRequestDetails": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "alsoKnownAs": { + "type": "array", + "items": { + "type": "string" + } + }, + "vpResponseOpts": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["id", "vpResponseOpts"], + "description": "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } " + }, + "IVerifySiopAuthenticationRequestUriArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "ParsedAuthenticationRequestURI": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["sessionId", "ParsedAuthenticationRequestURI"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } " + }, + "VerifiedAuthorizationRequest": { + "type": "object", + "properties": { + "payload": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "presentationDefinitions": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "verifyOpts": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["payload", "verifyOpts"], + "description": "Result of {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } " + }, + "ISendSiopAuthenticationResponseArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "verifiedAuthenticationRequest": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "verifiablePresentationResponse": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["sessionId", "verifiedAuthenticationRequest"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } " + } + }, + "methods": { + "getSessionForSiop": { + "description": "Get SIOP session", + "arguments": { + "$ref": "#/components/schemas/IGetSiopSessionArgs" + }, + "returnType": "object" + }, + "registerSessionForSiop": { + "description": "Register SIOP session", + "arguments": { + "$ref": "#/components/schemas/IRegisterSiopSessionArgs" + }, + "returnType": "object" + }, + "removeSessionForSiop": { + "description": "Remove SIOP session", + "arguments": { + "$ref": "#/components/schemas/IRemoveSiopSessionArgs" + }, + "returnType": "boolean" + }, + "authenticateWithSiop": { + "description": "Authenticate using DID Auth SIOP", + "arguments": { + "$ref": "#/components/schemas/IAuthenticateWithSiopArgs" + }, + "returnType": { + "$ref": "#/components/schemas/Response" + } + }, + "getSiopAuthenticationRequestFromRP": { + "description": "Get authentication request from RP", + "arguments": { + "$ref": "#/components/schemas/IGetSiopAuthenticationRequestFromRpArgs" + }, + "returnType": { + "$ref": "#/components/schemas/ParsedAuthenticationRequestURI" + } + }, + "getSiopAuthenticationRequestDetails": { + "description": "Get authentication request details", + "arguments": { + "$ref": "#/components/schemas/IGetSiopAuthenticationRequestDetailsArgs" + }, + "returnType": { + "$ref": "#/components/schemas/IAuthRequestDetails" + } + }, + "verifySiopAuthenticationRequestURI": { + "description": "Verify authentication request URI", + "arguments": { + "$ref": "#/components/schemas/IVerifySiopAuthenticationRequestUriArgs" + }, + "returnType": { + "$ref": "#/components/schemas/VerifiedAuthorizationRequest" + } + }, + "sendSiopAuthenticationResponse": { + "description": "Send authentication response", + "arguments": { + "$ref": "#/components/schemas/ISendSiopAuthenticationResponseArgs" + }, + "returnType": { + "$ref": "#/components/schemas/IRequiredContext" + } + } + } + } + } +} diff --git a/packages/oid4vci-issuer-store/src/agent/OID4VCIStore.ts b/packages/oid4vci-issuer-store/src/agent/OID4VCIStore.ts new file mode 100644 index 000000000..369ad0729 --- /dev/null +++ b/packages/oid4vci-issuer-store/src/agent/OID4VCIStore.ts @@ -0,0 +1,215 @@ +import { CredentialIssuerMetadata } from '@sphereon/oid4vci-common' +import { IKeyValueStore, IValueData, KeyValueStore, ValueStoreType } from '@sphereon/ssi-sdk.kv-store-temp' +import { IAgentPlugin } from '@veramo/core' +import { + IIssuerDefaultOpts, + IIssuerOptions, + IIssuerOptsPersistArgs, + IMetadataPersistArgs, + Ioid4vciStoreClearArgs, + Ioid4vciStoreExistsArgs, + Ioid4vciStoreGetArgs, + IOID4VCIStoreOpts, + Ioid4vciStoreRemoveArgs, +} from '../index' + +import { IOID4VCIStore } from '../types/IOID4VCIStore' + +export class OID4VCIStore implements IAgentPlugin { + get defaultOpts(): IIssuerDefaultOpts | undefined { + return this._defaultOpts + } + private readonly _metadataStores: Map> + private readonly _optionStores: Map> + private readonly defaultStoreId: string + private readonly defaultNamespace: string + + readonly methods: IOID4VCIStore = { + oid4vciStoreDefaultMetadata: this.oid4vciStoreDefaultMetadata.bind(this), + oid4vciStoreDefaultIssuerOptions: this.oid4vciStoreIssuerOptions.bind(this), + oid4vciStoreDefaultStoreId: this.oid4vciStoreDefaultStoreId.bind(this), + oid4vciStoreDefaultNamespace: this.oid4vciStoreDefaultNamespace.bind(this), + + oid4vciStoreGetIssuerOpts: this.oid4vciStoreGetIssuerOpts.bind(this), + oid4vciStoreHasIssuerOpts: this.oid4vciStoreHasIssuerOpts.bind(this), + oid4vciStorePersistIssuerOpts: this.oid4vciStorePersistIssuerOpts.bind(this), + oid4vciStoreRemoveIssuerOpts: this.oid4vciStoreRemoveIssuerOpts.bind(this), + oid4vciStoreClearAllIssuerOpts: this.oid4vciStoreClearAllIssuerOpts.bind(this), + + oid4vciStoreGetMetadata: this.oid4vciStoreGetMetadata.bind(this), + oid4vciStoreHasMetadata: this.oid4vciStoreHasMetadata.bind(this), + oid4vciStorePersistMetadata: this.oid4vciStorePersistMetadata.bind(this), + oid4vciStoreRemoveMetadata: this.oid4vciStoreRemoveMetadata.bind(this), + oid4vciStoreClearAllMetadata: this.oid4vciStoreClearAllMetadata.bind(this), + } + private readonly _defaultOpts?: IIssuerDefaultOpts + + constructor(opts: IOID4VCIStoreOpts) { + this.defaultStoreId = opts.defaultStore ?? '_default' + this.defaultNamespace = opts.defaultNamespace ?? 'oid4vci' + if (opts.defaultOpts) { + this._defaultOpts = opts.defaultOpts + } + if (opts?.metadataStores && opts.metadataStores instanceof Map) { + this._metadataStores = opts.metadataStores + } else if (opts?.metadataStores) { + this._metadataStores = new Map().set(this.defaultStoreId, opts.metadataStores) + } else { + this._metadataStores = new Map().set( + this.defaultStoreId, + new KeyValueStore({ + namespace: this.defaultNamespace, + store: new Map(), + }) + ) + } + if (opts && Array.isArray(opts?.importMetadatas)) { + opts.importMetadatas.forEach((meta) => + this.oid4vciStorePersistMetadata({ + metadata: meta.metadata, + storeId: meta.storeId ?? this.defaultStoreId, + correlationId: meta.correlationId, + namespace: meta.namespace ?? this.defaultNamespace, + overwriteExisting: meta.overwriteExisting === undefined ? true : meta.overwriteExisting, + }) + ) + } + + if (opts?.issuerOptsStores && opts.issuerOptsStores instanceof Map) { + this._optionStores = opts.issuerOptsStores + } else if (opts?.issuerOptsStores) { + this._optionStores = new Map().set(this.defaultStoreId, opts.issuerOptsStores) + } else { + this._optionStores = new Map().set( + this.defaultStoreId, + new KeyValueStore({ + namespace: this.defaultNamespace, + store: new Map(), + }) + ) + } + if (opts && Array.isArray(opts?.importIssuerOpts)) { + opts.importIssuerOpts.forEach(this.oid4vciStorePersistIssuerOpts) + } + } + + private async oid4vciStoreGetIssuerOpts({ correlationId, storeId, namespace }: Ioid4vciStoreGetArgs): Promise { + return (await this.store({ stores: this._optionStores, storeId }).get(this.prefix({ namespace, correlationId }))) ?? this.defaultOpts + } + + private async oid4vciStoreHasIssuerOpts({ correlationId, storeId, namespace }: Ioid4vciStoreExistsArgs): Promise { + return this.store({ stores: this._optionStores, storeId }).has(this.prefix({ namespace, correlationId })) + } + + private async oid4vciStorePersistIssuerOpts(args: IIssuerOptsPersistArgs): Promise> { + const { correlationId, issuerOpts, ttl, storeId, namespace } = args + if (args?.validation !== false) { + //todo + } + const existing = await this.store({ stores: this._optionStores, storeId }).getAsValueData( + this.prefix({ + namespace, + correlationId, + }) + ) + if (!existing.value || (existing.value && args.overwriteExisting !== false)) { + return await this.store({ stores: this._optionStores, storeId }).set( + this.prefix({ + namespace, + correlationId, + }), + issuerOpts, + ttl + ) + } + return existing + } + + private async oid4vciStoreRemoveIssuerOpts({ storeId, correlationId, namespace }: Ioid4vciStoreRemoveArgs): Promise { + return this.store({ stores: this._optionStores, storeId }).delete(this.prefix({ namespace, correlationId })) + } + + private async oid4vciStoreClearAllIssuerOpts({ storeId }: Ioid4vciStoreClearArgs): Promise { + return await this.store({ stores: this._optionStores, storeId }) + .clear() + .then(() => true) + } + + private async oid4vciStoreGetMetadata({ correlationId, storeId, namespace }: Ioid4vciStoreGetArgs): Promise { + return this.store({ stores: this._metadataStores, storeId }).get(this.prefix({ namespace, correlationId })) + } + + private async oid4vciStoreHasMetadata({ correlationId, storeId, namespace }: Ioid4vciStoreExistsArgs): Promise { + return this.store({ stores: this._metadataStores, storeId }).has(this.prefix({ namespace, correlationId })) + } + + private async oid4vciStorePersistMetadata(args: IMetadataPersistArgs): Promise> { + const { correlationId, metadata, ttl, storeId, namespace } = args + if (args?.validation !== false) { + //todo + } + const existing = await this.store({ + stores: this._metadataStores, + storeId, + }).getAsValueData(this.prefix({ namespace, correlationId: correlationId })) + if (!existing.value || (existing.value && args.overwriteExisting !== false)) { + // fixme: cast to issuer metadata + return await this.store({ stores: this._metadataStores, storeId }).set( + this.prefix({ + namespace, + correlationId: correlationId, + }), + metadata as CredentialIssuerMetadata, + ttl + ) + } + return existing + } + + private async oid4vciStoreRemoveMetadata({ storeId, correlationId, namespace }: Ioid4vciStoreRemoveArgs): Promise { + return this.store({ stores: this._metadataStores, storeId }).delete( + this.prefix({ + namespace, + correlationId: correlationId, + }) + ) + } + + private async oid4vciStoreClearAllMetadata({ storeId }: Ioid4vciStoreClearArgs): Promise { + return await this.store({ stores: this._metadataStores, storeId }) + .clear() + .then(() => true) + } + + private oid4vciStoreIssuerOptions(): Promise> { + return Promise.resolve(this.store({ stores: this._optionStores, storeId: this.defaultStoreId })) + } + + private oid4vciStoreDefaultMetadata(): Promise> { + return Promise.resolve(this.store({ stores: this._metadataStores, storeId: this.defaultStoreId })) + } + + private oid4vciStoreDefaultStoreId(): Promise { + return Promise.resolve(this.defaultStoreId) + } + + private oid4vciStoreDefaultNamespace(): Promise { + return Promise.resolve(this.defaultNamespace) + } + + private store({ stores, storeId }: { stores: Map>; storeId?: string }): IKeyValueStore { + const store = stores.get(storeId ?? this.defaultStoreId) + if (!store) { + throw Error(`Could not get issuer metadata store: ${storeId ?? this.defaultStoreId}`) + } + return store + } + + private namespace({ namespace }: { namespace?: string }): string { + return namespace ?? this.defaultStoreId + } + + private prefix({ namespace, correlationId }: { namespace?: string; correlationId: string }) { + return `${this.namespace({ namespace })}:${correlationId}` + } +} diff --git a/packages/oid4vci-issuer-store/src/index.ts b/packages/oid4vci-issuer-store/src/index.ts new file mode 100644 index 000000000..4475e6406 --- /dev/null +++ b/packages/oid4vci-issuer-store/src/index.ts @@ -0,0 +1,7 @@ +/** + * @public + */ +const schema = require('../plugin.schema.json') +export { schema } +export { OID4VCIStore } from './agent/OID4VCIStore' +export * from './types/IOID4VCIStore' diff --git a/packages/oid4vci-issuer-store/src/types/IOID4VCIStore.ts b/packages/oid4vci-issuer-store/src/types/IOID4VCIStore.ts new file mode 100644 index 000000000..72a57e95b --- /dev/null +++ b/packages/oid4vci-issuer-store/src/types/IOID4VCIStore.ts @@ -0,0 +1,89 @@ +import { CredentialIssuerMetadata, CredentialIssuerMetadataOpts } from '@sphereon/oid4vci-common' +import { IDIDOptions } from '@sphereon/ssi-sdk-ext.did-utils' +import { IKeyValueStore, IValueData } from '@sphereon/ssi-sdk.kv-store-temp' +import { IAgentContext, IDataStoreORM, IPluginMethodMap } from '@veramo/core' + +export interface IOID4VCIStore extends IPluginMethodMap { + oid4vciStoreDefaultMetadata(): Promise> + oid4vciStoreDefaultIssuerOptions(): Promise> + oid4vciStoreDefaultStoreId(): Promise + oid4vciStoreDefaultNamespace(): Promise + + oid4vciStoreGetIssuerOpts({ correlationId, storeId, namespace }: Ioid4vciStoreGetArgs): Promise + oid4vciStoreHasIssuerOpts({ correlationId, storeId, namespace }: Ioid4vciStoreExistsArgs): Promise + oid4vciStorePersistIssuerOpts(args: IIssuerOptsPersistArgs): Promise> + oid4vciStoreRemoveIssuerOpts({ storeId, correlationId, namespace }: Ioid4vciStoreRemoveArgs): Promise + oid4vciStoreClearAllIssuerOpts({ storeId }: Ioid4vciStoreClearArgs): Promise + + oid4vciStoreGetMetadata({ correlationId, storeId, namespace }: Ioid4vciStoreGetArgs): Promise + oid4vciStoreHasMetadata({ correlationId, storeId, namespace }: Ioid4vciStoreExistsArgs): Promise + oid4vciStorePersistMetadata(args: IMetadataPersistArgs): Promise> + oid4vciStoreRemoveMetadata({ storeId, correlationId, namespace }: Ioid4vciStoreRemoveArgs): Promise + oid4vciStoreClearAllMetadata({ storeId }: Ioid4vciStoreClearArgs): Promise +} + +export interface IOID4VCIStoreOpts { + defaultStore?: string + defaultNamespace?: string + metadataStores?: Map> | IKeyValueStore + issuerOptsStores?: Map> | IKeyValueStore + importMetadatas?: IMetadataImportArgs[] + importIssuerOpts?: IIssuerOptsImportArgs[] + defaultOpts?: IIssuerDefaultOpts + instanceOpts?: IIssuerInstanceOptions[] +} + +export interface IIssuerDefaultOpts extends IIssuerOptions {} + +export interface IIssuerInstanceOptions extends IMetadataOptions { + issuerOpts?: IIssuerOptions + metadata?: CredentialIssuerMetadataOpts +} + +export interface IIssuerOptions { + didOpts: IDIDOptions + userPinRequired?: boolean + cNonceExpiresIn?: number +} + +export interface IMetadataOptions { + credentialIssuer: string //The Credential Issuer's identifier. + storeId?: string + storeNamespace?: string +} + +export interface Ioid4vciStoreGetArgs { + correlationId: string + storeId?: string + namespace?: string +} + +export type Ioid4vciStoreExistsArgs = Ioid4vciStoreGetArgs +// export type Ioid4vciStoreClearArgs = Ioid4vciStoreGetArgs +export type Ioid4vciStoreRemoveArgs = Ioid4vciStoreGetArgs + +export type IMetadataImportArgs = IMetadataPersistArgs +export type IIssuerOptsImportArgs = IIssuerOptsPersistArgs + +export interface IMetadataPersistArgs extends Ioid4vciStorePersistArgs { + metadata: CredentialIssuerMetadata | CredentialIssuerMetadataOpts // The actual metadata +} + +export interface IIssuerOptsPersistArgs extends Ioid4vciStorePersistArgs { + issuerOpts: IIssuerOptions +} +export interface Ioid4vciStorePersistArgs { + correlationId: string // The credential Issuer to store the metadata for + overwriteExisting?: boolean // Whether to overwrite any existing metadata for a credential issuer. Defaults to true + validation?: boolean // Whether to check the metadata. Defaults to true + ttl?: number // How long should the metadata be stored in seconds. By default, it will be indefinite + storeId?: string // The store id to use. Allows you to use multiple different stores next to each-other + namespace?: string // The namespace (prefix) to use whilst storing the metadata. Allows you to partition metadata objects +} + +export interface Ioid4vciStoreClearArgs { + storeId?: string + // namespace?: string +} + +export type IRequiredContext = IAgentContext diff --git a/packages/oid4vci-issuer-store/tsconfig.json b/packages/oid4vci-issuer-store/tsconfig.json new file mode 100644 index 000000000..492c2c34b --- /dev/null +++ b/packages/oid4vci-issuer-store/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../tsconfig-base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "declarationDir": "dist", + "esModuleInterop": true + }, + "references": [ + { + "path": "../ssi-types" + }, + { + "path": "../ssi-sdk-core" + }, + { + "path": "../kv-store" + } + ] +} diff --git a/packages/oid4vci-issuer/CHANGELOG.md b/packages/oid4vci-issuer/CHANGELOG.md new file mode 100644 index 000000000..fe7bc128c --- /dev/null +++ b/packages/oid4vci-issuer/CHANGELOG.md @@ -0,0 +1,71 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [0.9.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.8.0...v0.9.0) (2023-03-09) + +### Bug Fixes + +- credential mapper for jtw ([f04345b](https://github.com/Sphereon-Opensource/SSI-SDK/commit/f04345b97ff9a78a3dff096599f0b675b3239a3e)) +- Fix DID handling in OP session ([926e358](https://github.com/Sphereon-Opensource/SSI-SDK/commit/926e358ef3eadf19fc3c8f7c9940fe6322c5ff85)) +- Incorrect verification method id returned when signing credentials in some cases ([c508507](https://github.com/Sphereon-Opensource/SSI-SDK/commit/c508507ddd2e35fcb377a79bad3c82d695b3d93d)) +- Move parseDid method to ssi-types ([0b28de3](https://github.com/Sphereon-Opensource/SSI-SDK/commit/0b28de3de21afd0a224d3d174103e072162231ed)) + +### Features + +- Add jwt as signature when decoding JWT VCs/VPs ([f089ac1](https://github.com/Sphereon-Opensource/SSI-SDK/commit/f089ac18dc470f0b8c581b49e70e7eba64d72bc3)) +- 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)) +- Create VP in OP Authenticator and allow for callbacks ([0ed86d8](https://github.com/Sphereon-Opensource/SSI-SDK/commit/0ed86d8d2b655a718d7c8cf1a946e0150bf877ce)) +- Make sure VP type corresponds with PEX definition ([129b663](https://github.com/Sphereon-Opensource/SSI-SDK/commit/129b66383752e05ab3067e459bff591a07aac690)) +- Make sure VP type corresponds with PEX definition ([3dafa3f](https://github.com/Sphereon-Opensource/SSI-SDK/commit/3dafa3ff4c794d13eff3e2e0b6a85675667db089)) +- Update SIOP OP to be in line wiht latest SIOP and also supporting late binding of identifiers ([2beea04](https://github.com/Sphereon-Opensource/SSI-SDK/commit/2beea04a6604d82b12ecbc11e68a9f41775c22ed)) + +# [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-did-auth-siop-authenticator + +# [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-did-auth-siop-authenticator + +# [0.6.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.5.1...v0.6.0) (2022-07-01) + +### Features + +- Add custom DID resolver support ([45cea11](https://github.com/Sphereon-Opensource/SSI-SDK/commit/45cea1182693b698611b062a9d664ad92e8dcd6a)) +- Add default DID resolver support ([eebce18](https://github.com/Sphereon-Opensource/SSI-SDK/commit/eebce18bf9cc9d28a8bcdd6886100b7a8921bb2f)) +- Add did resolver and method support per OpSession ([9378b45](https://github.com/Sphereon-Opensource/SSI-SDK/commit/9378b451d4907c8d5385f464b27f858547409bb4)) +- Add did resolver and method support per OpSession ([a9f7afc](https://github.com/Sphereon-Opensource/SSI-SDK/commit/a9f7afc386189ca4851ce967f5abf7db812d1003)) +- Add supported DID methods ([df74ccd](https://github.com/Sphereon-Opensource/SSI-SDK/commit/df74ccddcab06a032ca47a033a46bd0268826f72)) +- Add supported DID methods ([7322265](https://github.com/Sphereon-Opensource/SSI-SDK/commit/732226544503c2bcc32bf4400da82e9154361abb)) + +## [0.5.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.5.0...v0.5.1) (2022-02-23) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.5.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.4.0...v0.5.0) (2022-02-23) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.4.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.4...v0.4.0) (2022-02-11) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +## [0.3.4](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.3...v0.3.4) (2022-02-11) + +### Bug Fixes + +- fix imports ([738f4ca](https://github.com/Sphereon-Opensource/SSI-SDK/commit/738f4cafdf75c9d4831a3c31de1c0d5aff1d7285)) + +## [0.3.1](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.3.0...v0.3.1) (2022-01-28) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.3.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.2.0...v0.3.0) (2022-01-16) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator + +# [0.2.0](https://github.com/Sphereon-Opensource/SSI-SDK/compare/v0.1.0...v0.2.0) (2021-12-16) + +**Note:** Version bump only for package @sphereon/ssi-sdk-did-auth-siop-authenticator diff --git a/packages/oid4vci-issuer/LICENSE b/packages/oid4vci-issuer/LICENSE new file mode 100644 index 000000000..8aee96b74 --- /dev/null +++ b/packages/oid4vci-issuer/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 [2021] [Sphereon BV] + + 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/oid4vci-issuer/README.md b/packages/oid4vci-issuer/README.md new file mode 100644 index 000000000..8cbfdb029 --- /dev/null +++ b/packages/oid4vci-issuer/README.md @@ -0,0 +1,27 @@ + +

+
+ Sphereon +
OpenID for Verifiable Credentials Issuer (OID4VCI) +
+

+ +--- + +**Warning: This package still is in very early development. Breaking changes without notice will happen at this point!** + +--- + +TODO + +## Installation + +```shell +yarn add @sphereon/ssi-sdk-siopv2-openid4vp-rp +``` + +## Build + +```shell +yarn build +``` diff --git a/packages/oid4vci-issuer/agent.yml b/packages/oid4vci-issuer/agent.yml new file mode 100644 index 000000000..f78f74ed5 --- /dev/null +++ b/packages/oid4vci-issuer/agent.yml @@ -0,0 +1,128 @@ +version: 3.0 + +constants: + baseUrl: http://localhost:3335 + port: 3335 + # please use your own X25519 key, this is only an example + secretKey: 29739248cad1bd1a0fc4d9b75cd4d2990de535baf5caadfdf8d8f86664aa830c + methods: + - authenticateWithSiop + - getSiopAuthorizationRequestFromRP + - getSiopAuthorizationRequestDetails + - verifySiopAuthorizationRequestURI + - sendSiopAuthorizationResponse + +# Database +dbConnection: + $require: typeorm#DataSource + $args: + - type: sqlite + database: ':memory:' + synchronize: false + migrationsRun: true + migrations: + $require: '@veramo/data-store?t=object#migrations' + logging: false + entities: + $require: '@veramo/data-store?t=object#Entities' + +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 + +# DID resolvers +didResolver: + $require: '@veramo/did-resolver#DIDResolverPlugin' + $args: + - resolver: + $require: did-resolver#Resolver + $args: + - elem: + $ref: /universal-resolver + io: + $ref: /universal-resolver + ion: + $ref: /universal-resolver + sov: + $ref: /universal-resolver + ethr: + $ref: /ethr-did-resolver + +ethr-did-resolver: + $require: ethr-did-resolver?t=function&p=/ethr#getResolver + $args: + - infuraProjectId: 5ffc47f65c4042ce847ef66a3fa70d4c + +universal-resolver: + $require: '@veramo/did-resolver#UniversalResolver' + $args: + - url: https://dev.uniresolver.io/1.0/identifiers/ + +# Agent +agent: + $require: '@veramo/core#Agent' + $args: + - schemaValidation: false + plugins: + - $ref: /didResolver + - $require: ./packages/siopv2-openid4vp-op-auth/dist#DidAuthSiopOpAuthenticator + $args: + - presentationSignCallback: {} + - $require: '@veramo/data-store#DataStore' + $args: + - $ref: /dbConnection + - $require: '@veramo/data-store#DataStoreORM' + $args: + - $ref: /dbConnection diff --git a/packages/oid4vci-issuer/api-extractor.json b/packages/oid4vci-issuer/api-extractor.json new file mode 100644 index 000000000..94c2c6a9f --- /dev/null +++ b/packages/oid4vci-issuer/api-extractor.json @@ -0,0 +1,3 @@ +{ + "extends": "../include/api-extractor-base.json" +} diff --git a/packages/oid4vci-issuer/package.json b/packages/oid4vci-issuer/package.json new file mode 100644 index 000000000..814810086 --- /dev/null +++ b/packages/oid4vci-issuer/package.json @@ -0,0 +1,65 @@ +{ + "name": "@sphereon/ssi-sdk.oid4vci-issuer", + "version": "0.11.0", + "source": "src/index.ts", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "veramo": { + "pluginInterfaces": { + "ISIOPv2RP": "./src/types/ISIOPv2RP.ts" + } + }, + "scripts": { + "build": "tsc --build", + "build:clean": "tsc --build --clean && tsc --build" + }, + "dependencies": { + "@sphereon/oid4vci-common": "0.4.1-unstable.284", + "@sphereon/oid4vci-issuer": "0.4.1-unstable.284", + "@sphereon/ssi-sdk.oid4vci-issuer-store": "workspace:*", + "@sphereon/ssi-sdk.core": "workspace:*", + "@sphereon/ssi-sdk-ext.did-utils": "^0.12.0", + "@sphereon/ssi-types": "workspace:*", + "@types/uuid": "^9.0.1", + "@veramo/core": "4.2.0", + "@veramo/credential-w3c": "4.2.0", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", + "cross-fetch": "^3.1.5", + "uuid": "^8.3.2" + }, + "devDependencies": { + "@sphereon/did-uni-client": "^0.6.0", + "@veramo/did-provider-key": "4.2.0", + "@veramo/did-resolver": "4.2.0", + "@veramo/utils": "4.2.0", + "did-resolver": "^4.1.0", + "nock": "^13.2.1" + }, + "files": [ + ".yalc/**/*", + "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", + "DID", + "SIOP", + "SIOPv2", + "OID4VP", + "Presentation Exchange", + "OpenID Connect", + "Authenticator" + ] +} diff --git a/packages/oid4vci-issuer/plugin.schema.json b/packages/oid4vci-issuer/plugin.schema.json new file mode 100644 index 000000000..03a1513eb --- /dev/null +++ b/packages/oid4vci-issuer/plugin.schema.json @@ -0,0 +1,329 @@ +{ + "IDidAuthSiopOpAuthenticator": { + "components": { + "schemas": { + "IGetSiopSessionArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "additionalProperties": false + }, + "required": ["sessionId"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSessionForSiop } " + }, + "IRegisterSiopSessionArgs": { + "type": "object", + "properties": { + "identifier": { + "type": "object", + "properties": { + "did": { + "type": "string" + }, + "alias": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "controllerKeyId": { + "type": "string" + }, + "keys": { + "type": "array", + "items": { + "type": "object", + "properties": { + "additionalProperties": true + } + } + }, + "services": { + "type": "array", + "items": { + "type": "object", + "properties": { + "additionalProperties": true + } + } + } + }, + "additionalProperties": false, + "required": ["did", "provider", "keys", "services"] + }, + "sessionId": { + "type": "string" + }, + "expiresIn": { + "type": "number" + }, + "additionalProperties": false + }, + "required": ["identifier"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.registerSessionForSiop } " + }, + "IRemoveSiopSessionArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "additionalProperties": false + }, + "required": ["sessionId"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.removeSessionForSiop } " + }, + "IAuthenticateWithSiopArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "stateId": { + "type": "string" + }, + "redirectUrl": { + "type": "string" + }, + "additionalProperties": false + }, + "required": ["sessionId", "stateId", "redirectUrl"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.authenticateWithSiop } " + }, + "IResponse": { + "type": "object", + "properties": { + "status": { + "type": "number" + }, + "additionalProperties": true + }, + "required": ["status"], + "description": "Result of {@link DidAuthSiopOpAuthenticator.authenticateWithSiop & DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } " + }, + "IGetSiopAuthenticationRequestFromRpArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "stateId": { + "type": "string" + }, + "redirectUrl": { + "type": "string" + }, + "additionalProperties": false + }, + "required": ["sessionId", "stateId", "redirectUrl"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } " + }, + "ParsedAuthenticationRequestURI": { + "type": "object", + "properties": { + "jwt": { + "type": "string" + }, + "requestPayload": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "registration": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["jwt", "requestPayload", "registration"], + "description": "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestFromRP } " + }, + "IGetSiopAuthenticationRequestDetailsArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "verifiedAuthenticationRequest": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "credentialFilter": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["sessionId", "verifiedAuthenticationRequest"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } " + }, + "IAuthRequestDetails": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "alsoKnownAs": { + "type": "array", + "items": { + "type": "string" + } + }, + "vpResponseOpts": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["id", "vpResponseOpts"], + "description": "Result of {@link DidAuthSiopOpAuthenticator.getSiopAuthenticationRequestDetails } " + }, + "IVerifySiopAuthenticationRequestUriArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "ParsedAuthenticationRequestURI": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["sessionId", "ParsedAuthenticationRequestURI"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } " + }, + "VerifiedAuthorizationRequest": { + "type": "object", + "properties": { + "payload": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "presentationDefinitions": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "verifyOpts": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["payload", "verifyOpts"], + "description": "Result of {@link DidAuthSiopOpAuthenticator.verifySiopAuthenticationRequestURI } " + }, + "ISendSiopAuthenticationResponseArgs": { + "type": "object", + "properties": { + "sessionId": { + "type": "string" + }, + "verifiedAuthenticationRequest": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "verifiablePresentationResponse": { + "type": "object", + "properties": { + "additionalProperties": true + } + }, + "additionalProperties": false + }, + "required": ["sessionId", "verifiedAuthenticationRequest"], + "description": "Arguments needed for {@link DidAuthSiopOpAuthenticator.sendSiopAuthenticationResponse } " + } + }, + "methods": { + "getSessionForSiop": { + "description": "Get SIOP session", + "arguments": { + "$ref": "#/components/schemas/IGetSiopSessionArgs" + }, + "returnType": "object" + }, + "registerSessionForSiop": { + "description": "Register SIOP session", + "arguments": { + "$ref": "#/components/schemas/IRegisterSiopSessionArgs" + }, + "returnType": "object" + }, + "removeSessionForSiop": { + "description": "Remove SIOP session", + "arguments": { + "$ref": "#/components/schemas/IRemoveSiopSessionArgs" + }, + "returnType": "boolean" + }, + "authenticateWithSiop": { + "description": "Authenticate using DID Auth SIOP", + "arguments": { + "$ref": "#/components/schemas/IAuthenticateWithSiopArgs" + }, + "returnType": { + "$ref": "#/components/schemas/Response" + } + }, + "getSiopAuthenticationRequestFromRP": { + "description": "Get authentication request from RP", + "arguments": { + "$ref": "#/components/schemas/IGetSiopAuthenticationRequestFromRpArgs" + }, + "returnType": { + "$ref": "#/components/schemas/ParsedAuthenticationRequestURI" + } + }, + "getSiopAuthenticationRequestDetails": { + "description": "Get authentication request details", + "arguments": { + "$ref": "#/components/schemas/IGetSiopAuthenticationRequestDetailsArgs" + }, + "returnType": { + "$ref": "#/components/schemas/IAuthRequestDetails" + } + }, + "verifySiopAuthenticationRequestURI": { + "description": "Verify authentication request URI", + "arguments": { + "$ref": "#/components/schemas/IVerifySiopAuthenticationRequestUriArgs" + }, + "returnType": { + "$ref": "#/components/schemas/VerifiedAuthorizationRequest" + } + }, + "sendSiopAuthenticationResponse": { + "description": "Send authentication response", + "arguments": { + "$ref": "#/components/schemas/ISendSiopAuthenticationResponseArgs" + }, + "returnType": { + "$ref": "#/components/schemas/IRequiredContext" + } + } + } + } + } +} diff --git a/packages/oid4vci-issuer/src/IssuerInstance.ts b/packages/oid4vci-issuer/src/IssuerInstance.ts new file mode 100644 index 000000000..b3d81f30d --- /dev/null +++ b/packages/oid4vci-issuer/src/IssuerInstance.ts @@ -0,0 +1,54 @@ +import { VcIssuer } from '@sphereon/oid4vci-issuer' +import { createVciIssuerBuilder } from './functions' +import { CredentialIssuerMetadata } from '@sphereon/oid4vci-common' + +import { CredentialDataSupplier } from '@sphereon/oid4vci-issuer' +import { IIssuerOptions, IMetadataOptions, IRequiredContext } from './types/IOID4VCIIssuer' + +export class IssuerInstance { + private _issuer: VcIssuer | undefined + private readonly _metadataOptions: IMetadataOptions + private readonly _issuerOptions: IIssuerOptions + private readonly _metadata: CredentialIssuerMetadata + + public constructor({ + issuerOpts, + metadataOpts, + metadata, + }: { + issuerOpts: IIssuerOptions + metadataOpts: IMetadataOptions + metadata: CredentialIssuerMetadata + }) { + this._issuerOptions = issuerOpts + this._metadataOptions = metadataOpts + this._metadata = metadata + } + + public async get(opts: { context: IRequiredContext; credentialDataSupplier?: CredentialDataSupplier }): Promise { + if (!this._issuer) { + const builder = await createVciIssuerBuilder( + { + issuerOpts: this.issuerOptions, + metadata: this.metadata, + credentialDataSupplier: opts?.credentialDataSupplier, + }, + opts.context + ) + this._issuer = builder.build() + } + return this._issuer + } + + get issuerOptions() { + return this._issuerOptions + } + + get metadataOptions() { + return this._metadataOptions + } + + get metadata() { + return this._metadata + } +} diff --git a/packages/oid4vci-issuer/src/agent/OID4VCIIssuer.ts b/packages/oid4vci-issuer/src/agent/OID4VCIIssuer.ts new file mode 100644 index 000000000..ce636caa1 --- /dev/null +++ b/packages/oid4vci-issuer/src/agent/OID4VCIIssuer.ts @@ -0,0 +1,162 @@ +import { AccessTokenResponse, CredentialResponse } from '@sphereon/oid4vci-common' +import { assertValidAccessTokenRequest, createAccessTokenResponse } from '@sphereon/oid4vci-issuer' +import { VcIssuer } from '@sphereon/oid4vci-issuer' +import { IMetadataOptions } from '@sphereon/ssi-sdk.oid4vci-issuer-store' +import { IAgentPlugin } from '@veramo/core' +import { getAccessTokenSignerCallback } from '../functions' +import { + IAssertValidAccessTokenArgs, + ICreateOfferArgs, + IIssueCredentialArgs, + IIssuerInstanceArgs, + IIssuerOptions, + IOID4VCIIssuerOpts, + IRequiredContext, + schema, +} from '../index' +import { IssuerInstance } from '../IssuerInstance' + +import { IOID4VCIIssuer } from '../types/IOID4VCIIssuer' + +export class OID4VCIIssuer implements IAgentPlugin { + private static readonly _DEFAULT_OPTS_KEY = '_default' + private readonly instances: Map = new Map() + readonly schema = schema.IDidAuthSiopOpAuthenticator + + readonly methods: IOID4VCIIssuer = { + oid4vciCreateOfferURI: this.oid4vciCreateOfferURI.bind(this), + oid4vciIssueCredential: this.oid4vciIssueCredential.bind(this), + oid4vciCreateAccessTokenResponse: this.oid4vciCreateAccessTokenResponse.bind(this), + oid4vciGetInstance: this.oid4vciGetInstance.bind(this), + } + private _opts: IOID4VCIIssuerOpts + + constructor(opts?: IOID4VCIIssuerOpts) { + this._opts = opts ?? {} + } + + private async oid4vciCreateOfferURI(createArgs: ICreateOfferArgs, context: IRequiredContext): Promise { + return await this.oid4vciGetInstance(createArgs, context) + .then((instance) => instance.get({ context })) + .then((issuer: VcIssuer) => issuer.createCredentialOfferURI(createArgs)) + } + + private async oid4vciIssueCredential(issueArgs: IIssueCredentialArgs, context: IRequiredContext): Promise { + return await this.oid4vciGetInstance(issueArgs, context) + .then((instance) => instance.get({ context })) + .then((issuer: VcIssuer) => issuer.issueCredential(issueArgs)) + } + + private async oid4vciCreateAccessTokenResponse( + accessTokenArgs: IAssertValidAccessTokenArgs, + context: IRequiredContext + ): Promise { + return await this.oid4vciGetInstance(accessTokenArgs, context).then(async (instance) => { + const issuer = await instance.get({ context }) + + await assertValidAccessTokenRequest(accessTokenArgs.request, { + credentialOfferSessions: issuer.credentialOfferSessions, + expirationDuration: accessTokenArgs.expirationDuration, + }) + return createAccessTokenResponse(accessTokenArgs.request, { + accessTokenIssuer: instance.issuerOptions.didOpts.identifierOpts.identifier.toString(), + tokenExpiresIn: accessTokenArgs.expirationDuration, + cNonceExpiresIn: accessTokenArgs.expirationDuration, + cNonces: issuer.cNonces, + accessTokenSignerCallback: getAccessTokenSignerCallback({ didOpts: instance.issuerOptions.didOpts }, context), + }) + }) + } + + private async createIssuerInstance(args: IIssuerInstanceArgs, context: IRequiredContext): Promise { + const credentialIssuer = args.credentialIssuer ?? OID4VCIIssuer._DEFAULT_OPTS_KEY + //todo: prob doesn't make sense as credentialIssuer is mandatory anyway + + const metadataOpts = await this.getMetadataOpts({ ...args, credentialIssuer }, context) + const metadata = await this.getIssuerMetadata({ ...args, credentialIssuer }, context) + const issuerOpts = await this.getIssuerOpts({ ...args, credentialIssuer }, context) + this.instances.set(credentialIssuer, new IssuerInstance({ issuerOpts, metadataOpts, metadata })) + return this.oid4vciGetInstance(args, context) + } + + public async oid4vciGetInstance(args: IIssuerInstanceArgs, context: IRequiredContext): Promise { + const credentialIssuer = args.credentialIssuer ?? OID4VCIIssuer._DEFAULT_OPTS_KEY + //todo: prob doesn't make sense as credentialIssuer is mandatory anyway + if (!this.instances.has(credentialIssuer)) { + await this.createIssuerInstance(args, context) + } + return this.instances.get(credentialIssuer)! + } + + private async getIssuerOpts( + opts: { + credentialIssuer: string + storeId?: string + namespace?: string + }, + context: IRequiredContext + ): Promise { + const credentialIssuer = opts.credentialIssuer + const storeId = await this.storeId(opts, context) + const namespace = await this.namespace(opts, context) + const options = await context.agent.oid4vciStoreGetIssuerOpts({ + correlationId: credentialIssuer, + storeId, + namespace, + }) + if (!options) { + throw Error(`Could not get specific nor default options for definition ${credentialIssuer}`) + } + return options + } + + private async getMetadataOpts( + opts: { + credentialIssuer: string + storeId?: string + namespace?: string + }, + context: IRequiredContext + ): Promise { + const credentialIssuer = opts.credentialIssuer + const storeId = await this.storeId(opts, context) + const storeNamespace = await this.namespace(opts, context) + return { credentialIssuer, storeId, storeNamespace } + } + + private async getIssuerMetadata( + opts: { + credentialIssuer: string + storeId?: string + namespace?: string + }, + context: IRequiredContext + ) { + const metadataOpts = await this.getMetadataOpts(opts, context) + let metadata = await context.agent.oid4vciStoreGetMetadata({ + correlationId: metadataOpts.credentialIssuer, + namespace: metadataOpts.storeNamespace, + storeId: metadataOpts.storeId, + }) + if (!metadata) { + throw Error(`Credential issuer ${opts.credentialIssuer} metadata not found for namespace ${opts.namespace} and store ${opts.storeId}`) + } + return metadata + } + + private async storeId(opts?: { storeId?: string }, context?: IRequiredContext): Promise { + const storeId = opts?.storeId ?? this._opts?.defaultStoreId ?? (await context?.agent.oid4vciStoreDefaultStoreId()) + if (!storeId) { + throw Error('Please provide a store id a default value, or provide the context for a global default store id') + } + return storeId + } + + private async namespace(opts?: { namespace?: string }, context?: IRequiredContext): Promise { + const namespace = opts?.namespace ?? this._opts?.defaultNamespace ?? (await context?.agent.oid4vciStoreDefaultNamespace()) + if (!namespace) { + throw Error('Please provide a namespace a default value, or provide the context for a global default namespace') + } + return namespace + } +} diff --git a/packages/oid4vci-issuer/src/functions.ts b/packages/oid4vci-issuer/src/functions.ts new file mode 100644 index 000000000..553b883e1 --- /dev/null +++ b/packages/oid4vci-issuer/src/functions.ts @@ -0,0 +1,120 @@ +import { CredentialIssuerMetadata, Jwt, OID4VCICredentialFormat, UniformCredentialRequest } from '@sphereon/oid4vci-common' +import { VcIssuer, VcIssuerBuilder } from '@sphereon/oid4vci-issuer' +import { getDID, IDIDOptions } from '@sphereon/ssi-sdk-ext.did-utils' +import { ICredential, W3CVerifiableCredential } from '@sphereon/ssi-types' +import { IIdentifier, ProofFormat } from '@veramo/core' +import { CredentialPayload } from '@veramo/core/src/types/vc-data-model' +import { bytesToBase64 } from '@veramo/utils' +import { IIssuerOptions, IRequiredContext } from './types/IOID4VCIIssuer' +import { verifyJWT, decodeJWT, JWTVerifyOptions, createJWT } from 'did-jwt' +import { CredentialDataSupplier } from '@sphereon/oid4vci-issuer' + +function getJwtVerifyCallback({ verifyOpts }: { verifyOpts?: JWTVerifyOptions }, _context: IRequiredContext) { + return async (args: { jwt: string; kid?: string }): Promise => { + const result = await verifyJWT(args.jwt, verifyOpts) + if (!result.verified) { + console.log(`JWT invalid: ${args.jwt}`) + throw Error('JWT did not verify successfully') + } + return (await decodeJWT(args.jwt)) as Jwt + } +} + +export function getAccessTokenSignerCallback(opts: { iss?: string; keyRef?: string; didOpts?: IDIDOptions }, context: IRequiredContext) { + //fixme first key only when did is identifier + const keyRef = + opts.keyRef ?? + opts.didOpts?.identifierOpts?.kid ?? + (typeof opts.didOpts?.identifierOpts.identifier === 'object' + ? (opts.didOpts?.identifierOpts.identifier as IIdentifier).keys[0].kid + : !!opts.didOpts?.identifierOpts.kid + ? opts.didOpts?.identifierOpts.kid + : undefined) + if (!keyRef) { + throw Error('Key ref is needed for access token signer') + } + const signer = (data: string | Uint8Array) => { + let dataString, encoding: 'base64' | undefined + if (typeof data === 'string') { + dataString = data + encoding = undefined + } else { + ;(dataString = bytesToBase64(data)), (encoding = 'base64') + } + return context.agent.keyManagerSign({ keyRef, data: dataString, encoding }) + } + async function accessTokenSignerCallback(jwt: Jwt, kid?: string): Promise { + const issuer = opts?.iss ?? opts.didOpts?.identifierOpts?.identifier.toString() + if (!issuer) { + throw Error('No issuer configured for access tokens') + } + const result = await createJWT(jwt.payload, { signer, issuer }, { ...jwt.header, typ: 'JWT' }) + return result + } + return accessTokenSignerCallback +} + +export function getCredentialSignerCallback(didOpts: IDIDOptions, context: IRequiredContext) { + async function issueVCCallback({ + credential, + credentialRequest, + format, + }: { + credentialRequest: UniformCredentialRequest + credential: ICredential + format?: OID4VCICredentialFormat + }): Promise { + let proofFormat: ProofFormat + + proofFormat = format?.includes('ld') ? 'lds' : 'jwt' + const result = await context.agent.createVerifiableCredential({ + credential: credential as CredentialPayload, + proofFormat, + fetchRemoteContexts: true, + domain: getDID(didOpts.identifierOpts), + }) + return result as W3CVerifiableCredential + } + + return issueVCCallback +} + +export async function createVciIssuerBuilder( + args: { + issuerOpts: IIssuerOptions + metadata: CredentialIssuerMetadata + credentialDataSupplier?: CredentialDataSupplier + }, + context: IRequiredContext +): Promise { + const { issuerOpts, metadata } = args + const { didOpts } = issuerOpts + const builder = new VcIssuerBuilder() + builder.withIssuerMetadata(metadata) + builder.withUserPinRequired(issuerOpts.userPinRequired ?? false) + builder.withCredentialSignerCallback(getCredentialSignerCallback(didOpts, context)) + builder.withJWTVerifyCallback(getJwtVerifyCallback({}, context)) + if (args.credentialDataSupplier) { + builder.withCredentialDataSupplier(args.credentialDataSupplier) + } + builder.withInMemoryCNonceState() + builder.withInMemoryCredentialOfferState() + builder.withInMemoryCredentialOfferURIState() + + return builder +} + +export async function createVciIssuer( + { + issuerOpts, + metadata, + credentialDataSupplier, + }: { + issuerOpts: IIssuerOptions + metadata: CredentialIssuerMetadata + credentialDataSupplier?: CredentialDataSupplier + }, + context: IRequiredContext +): Promise { + return (await createVciIssuerBuilder({ issuerOpts, metadata, credentialDataSupplier }, context)).build() +} diff --git a/packages/oid4vci-issuer/src/index.ts b/packages/oid4vci-issuer/src/index.ts new file mode 100644 index 000000000..85ce9d86c --- /dev/null +++ b/packages/oid4vci-issuer/src/index.ts @@ -0,0 +1,8 @@ +/** + * @public + */ +const schema = require('../plugin.schema.json') +export { schema } +export { OID4VCIIssuer } from './agent/OID4VCIIssuer' +export * from './IssuerInstance' +export * from './types/IOID4VCIIssuer' diff --git a/packages/oid4vci-issuer/src/types/IOID4VCIIssuer.ts b/packages/oid4vci-issuer/src/types/IOID4VCIIssuer.ts new file mode 100644 index 000000000..dbd6c665a --- /dev/null +++ b/packages/oid4vci-issuer/src/types/IOID4VCIIssuer.ts @@ -0,0 +1,90 @@ +import { AccessTokenRequest, AccessTokenResponse } from '@sphereon/oid4vci-common' +import { + CredentialIssuerMetadataOpts, + CredentialOfferFormat, + CredentialRequestV1_0_11, + CredentialResponse, + Grant, + IssuerCredentialDefinition, +} from '@sphereon/oid4vci-common' +import { CredentialDataSupplier } from '@sphereon/oid4vci-issuer/lib/types' +import { IDIDOptions } from '@sphereon/ssi-sdk-ext.did-utils' +import { IOID4VCIStore } from '@sphereon/ssi-sdk.oid4vci-issuer-store' +import { ICredential } from '@sphereon/ssi-types/dist' +import { + IAgentContext, + ICredentialIssuer, + ICredentialVerifier, + IDataStoreORM, + IDIDManager, + IKeyManager, + IPluginMethodMap, + IResolver, +} from '@veramo/core' +import { IssuerInstance } from '../IssuerInstance' + +export interface IOID4VCIIssuer extends IPluginMethodMap { + oid4vciCreateOfferURI(createArgs: ICreateOfferArgs, context: IRequiredContext): Promise + oid4vciIssueCredential(issueArgs: IIssueCredentialArgs, context: IRequiredContext): Promise + oid4vciCreateAccessTokenResponse(accessTokenArgs: IAssertValidAccessTokenArgs, context: IRequiredContext): Promise + oid4vciGetInstance(args: IIssuerInstanceArgs, context: IRequiredContext): Promise +} + +export interface IOID4VCIIssuerOpts { + defaultStoreId?: string + defaultNamespace?: string +} + +export interface IIssuerDefaultOpts extends IIssuerOptions {} + +export interface ICreateOfferArgs extends IIssuerInstanceArgs { + grants?: Grant + credentials?: (CredentialOfferFormat | string)[] + credentialDefinition?: IssuerCredentialDefinition + credentialOfferUri?: string + baseUri?: string + scheme?: string + pinLength?: number +} + +export interface IIssueCredentialArgs extends IIssuerInstanceArgs { + credentialRequest: CredentialRequestV1_0_11 + credential?: ICredential + credentialDataSupplier?: CredentialDataSupplier + newCNonce?: string + cNonceExpiresIn?: number + tokenExpiresIn?: number + responseCNonce?: string +} + +export interface IAssertValidAccessTokenArgs extends IIssuerInstanceArgs { + request: AccessTokenRequest + expirationDuration: number +} + +export interface IIssuerInstanceArgs { + credentialIssuer: string + storeId?: string + namespace?: string +} + +export interface IIssuerInstanceOptions extends IMetadataOptions { + issuerOpts?: IIssuerOptions + metadataOpts?: CredentialIssuerMetadataOpts +} + +export interface IIssuerOptions { + didOpts: IDIDOptions + userPinRequired?: boolean + cNonceExpiresIn?: number +} + +export interface IMetadataOptions { + credentialIssuer: string //The Credential Issuer's identifier. + storeId?: string + storeNamespace?: string +} + +export type IRequiredContext = IAgentContext< + IDataStoreORM & IResolver & IDIDManager & IKeyManager & ICredentialIssuer & ICredentialVerifier & IOID4VCIStore +> diff --git a/packages/oid4vci-issuer/tsconfig.json b/packages/oid4vci-issuer/tsconfig.json new file mode 100644 index 000000000..dd95382f8 --- /dev/null +++ b/packages/oid4vci-issuer/tsconfig.json @@ -0,0 +1,23 @@ +{ + "extends": "../tsconfig-base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "declarationDir": "dist", + "esModuleInterop": true + }, + "references": [ + { + "path": "../oid4vci-issuer-store" + }, + { + "path": "../ssi-types" + }, + { + "path": "../ssi-sdk-core" + }, + { + "path": "../kv-store" + } + ] +} diff --git a/packages/tsconfig.json b/packages/tsconfig.json index acd31eff3..3eaee26cb 100644 --- a/packages/tsconfig.json +++ b/packages/tsconfig.json @@ -10,6 +10,9 @@ { "path": "ms-request-api" }, { "path": "vc-handler-ld-local" }, { "path": "presentation-exchange" }, + { "path": "oid4vci-issuer-store" }, + { "path": "oid4vci-issuer" }, + { "path": "oid4vci-issuer-rest-api" }, { "path": "siopv2-oid4vp-common" }, { "path": "siopv2-oid4vp-op-auth" }, { "path": "siopv2-oid4vp-rp-auth" }, diff --git a/packages/vc-handler-ld-local/src/ld-document-loader.ts b/packages/vc-handler-ld-local/src/ld-document-loader.ts index f68ddd470..560c0bd4e 100644 --- a/packages/vc-handler-ld-local/src/ld-document-loader.ts +++ b/packages/vc-handler-ld-local/src/ld-document-loader.ts @@ -25,6 +25,9 @@ export class LdDocumentLoader { getLoader(context: IAgentContext, attemptToFetchContexts = false) { return extendContextLoader(async (url: string) => { + if (!url || url.trim().length === 0) { + throw Error('URL needs to be provided to load a context!') + } // did resolution if (url.toLowerCase().startsWith('did:')) { let didDoc: DIDDocument | null diff --git a/packages/w3c-vc-api/package.json b/packages/w3c-vc-api/package.json index 25e6c650f..795f8a48c 100644 --- a/packages/w3c-vc-api/package.json +++ b/packages/w3c-vc-api/package.json @@ -8,16 +8,16 @@ "build": "tsc --build", "build:clean": "tsc --build --clean && tsc --build", "start:prod": "node build/index.js", - "start:dev": "ts-node __tests__/agent.ts" + "start:dev": "ts-node __tests__/RestAPI.ts" }, "dependencies": { - "@sphereon/ssi-sdk.presentation-exchange": "^0.11.1-next.70", + "@sphereon/ssi-sdk.presentation-exchange": "workspace:*", "@sphereon/did-auth-siop": "^0.3.1-unstable.1", - "@sphereon/ssi-types": "^0.11.1-next.70", + "@sphereon/ssi-types": "workspace:*", "@types/uuid": "^9.0.1", "@veramo/core": "4.2.0", "@veramo/credential-w3c": "4.2.0", - "@sphereon/ssi-sdk.kv-store-temp": "^0.11.1-next.70", + "@sphereon/ssi-sdk.kv-store-temp": "workspace:*", "body-parser": "^1.19.0", "cookie-parser": "^1.4.5", "cors": "^2.8.5", @@ -29,10 +29,10 @@ }, "devDependencies": { "@sphereon/did-uni-client": "^0.6.0", - "@sphereon/ssi-sdk.data-store": "^0.11.1-next.70", + "@sphereon/ssi-sdk.data-store": "workspace:*", "@sphereon/ssi-sdk-ext.did-provider-jwk": "^0.12.0", "@sphereon/ssi-sdk-ext.did-resolver-jwk": "^0.12.0", - "@sphereon/ssi-sdk.vc-handler-ld-local": "^0.11.1-next.70", + "@sphereon/ssi-sdk.vc-handler-ld-local": "workspace:*", "@sphereon/pex-models": "^2.0.2", "@sphereon/pex": "^2.0.1", "@types/body-parser": "^1.19.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 12cfcbcf6..8df453e49 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -129,7 +129,7 @@ importers: version: 19.0.5 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.21.8)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.5)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) ts-node: specifier: ^10.9.1 version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) @@ -225,7 +225,7 @@ importers: version: 0.4.0 json5: specifier: ^2.2.0 - version: 2.2.3 + version: 2.2.0 jsonpointer: specifier: ^5.0.1 version: 5.0.1 @@ -342,7 +342,7 @@ importers: version: 2.8.8 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.21.8)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.5)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) packages/ms-request-api: dependencies: @@ -400,7 +400,7 @@ importers: version: 5.1.6 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.21.8)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.5)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -408,6 +408,255 @@ importers: specifier: ^9.0.0 version: 9.0.0 + packages/oid4vci-issuer: + dependencies: + '@sphereon/oid4vci-common': + specifier: 0.4.1-unstable.284 + version: 0.4.1-unstable.284 + '@sphereon/oid4vci-issuer': + specifier: 0.4.1-unstable.284 + version: 0.4.1-unstable.284 + '@sphereon/ssi-sdk-ext.did-utils': + specifier: ^0.12.0 + version: 0.12.0 + '@sphereon/ssi-sdk.core': + specifier: workspace:* + version: link:../ssi-sdk-core + '@sphereon/ssi-sdk.kv-store-temp': + specifier: workspace:* + version: link:../kv-store + '@sphereon/ssi-sdk.oid4vci-issuer-store': + specifier: workspace:* + version: link:../oid4vci-issuer-store + '@sphereon/ssi-types': + specifier: workspace:* + version: link:../ssi-types + '@types/uuid': + specifier: ^9.0.1 + version: 9.0.1 + '@veramo/core': + specifier: 4.2.0 + version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) + '@veramo/credential-w3c': + specifier: 4.2.0 + version: 4.2.0 + cross-fetch: + specifier: ^3.1.5 + version: 3.1.5 + uuid: + specifier: ^8.3.2 + version: 8.3.2 + devDependencies: + '@sphereon/did-uni-client': + specifier: ^0.6.0 + version: 0.6.0 + '@veramo/did-provider-key': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-resolver': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/utils': + specifier: 4.2.0 + version: 4.2.0 + did-resolver: + specifier: ^4.1.0 + version: 4.1.0 + nock: + specifier: ^13.2.1 + version: 13.3.0 + + packages/oid4vci-issuer-rest-api: + dependencies: + '@sphereon/oid4vci-common': + specifier: 0.4.1-unstable.284 + version: 0.4.1-unstable.284 + '@sphereon/oid4vci-issuer': + specifier: 0.4.1-unstable.284 + version: 0.4.1-unstable.284 + '@sphereon/oid4vci-issuer-server': + specifier: 0.4.1-unstable.284 + version: 0.4.1-unstable.284 + '@sphereon/ssi-sdk.kv-store-temp': + specifier: workspace:* + version: link:../kv-store + '@sphereon/ssi-sdk.oid4vci-issuer': + specifier: workspace:* + version: link:../oid4vci-issuer + '@sphereon/ssi-sdk.oid4vci-issuer-store': + specifier: workspace:* + version: link:../oid4vci-issuer-store + '@sphereon/ssi-types': + specifier: workspace:* + version: link:../ssi-types + '@types/uuid': + specifier: ^9.0.1 + version: 9.0.1 + '@veramo/core': + specifier: 4.2.0 + version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) + '@veramo/credential-w3c': + specifier: 4.2.0 + version: 4.2.0 + body-parser: + specifier: ^1.19.0 + version: 1.19.0 + cookie-parser: + specifier: ^1.4.5 + version: 1.4.5 + cors: + specifier: ^2.8.5 + version: 2.8.5 + cross-fetch: + specifier: ^3.1.5 + version: 3.1.5 + dotenv-flow: + specifier: ^3.2.0 + version: 3.2.0 + express: + specifier: ^4.18.2 + version: 4.18.2 + short-uuid: + specifier: ^4.2.2 + version: 4.2.2 + uuid: + specifier: ^8.3.2 + version: 8.3.2 + devDependencies: + '@decentralized-identity/ion-sdk': + specifier: ^0.6.0 + version: 0.6.0 + '@sphereon/did-uni-client': + specifier: ^0.6.0 + version: 0.6.0 + '@sphereon/pex': + specifier: ^2.0.1 + version: 2.0.1 + '@sphereon/pex-models': + specifier: ^2.0.2 + version: 2.0.2 + '@sphereon/ssi-sdk-ext.did-provider-jwk': + specifier: ^0.12.0 + version: 0.12.0 + '@sphereon/ssi-sdk.data-store': + specifier: workspace:* + version: link:../data-store + '@sphereon/ssi-sdk.vc-handler-ld-local': + specifier: workspace:* + version: link:../vc-handler-ld-local + '@types/body-parser': + specifier: ^1.19.2 + version: 1.19.2 + '@types/cookie-parser': + specifier: ^1.4.3 + version: 1.4.3 + '@types/cors': + specifier: ^2.8.13 + version: 2.8.13 + '@types/debug': + specifier: ^4.1.7 + version: 4.1.7 + '@types/dotenv-flow': + specifier: ^3.2.0 + version: 3.2.0 + '@types/express': + specifier: ^4.17.13 + version: 4.17.13 + '@types/express-http-proxy': + specifier: ^1.6.3 + version: 1.6.3 + '@types/node': + specifier: ^18.15.0 + version: 18.16.3 + '@veramo/data-store': + specifier: 4.2.0 + version: 4.2.0(patch_hash=feb5u2ygzsdf67qbxr2lxgqjyy)(sqlite3@5.1.6)(ts-node@10.9.1) + '@veramo/did-manager': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-provider-ethr': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-provider-ion': + specifier: 4.2.0 + version: 4.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.10) + '@veramo/did-provider-key': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-provider-web': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-resolver': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/key-manager': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/kms-local': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/utils': + specifier: 4.2.0 + version: 4.2.0 + did-resolver: + specifier: ^4.1.0 + version: 4.1.0 + nock: + specifier: ^13.2.1 + version: 13.3.0 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) + typeorm: + specifier: ^0.3.12 + version: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) + + packages/oid4vci-issuer-store: + dependencies: + '@sphereon/oid4vci-common': + specifier: 0.4.1-unstable.284 + version: 0.4.1-unstable.284 + '@sphereon/ssi-sdk-ext.did-utils': + specifier: ^0.12.0 + version: 0.12.0 + '@sphereon/ssi-sdk.kv-store-temp': + specifier: workspace:* + version: link:../kv-store + '@types/uuid': + specifier: ^9.0.1 + version: 9.0.1 + '@veramo/core': + specifier: 4.2.0 + version: 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) + '@veramo/credential-w3c': + specifier: 4.2.0 + version: 4.2.0 + cross-fetch: + specifier: ^3.1.5 + version: 3.1.5 + uuid: + specifier: ^8.3.2 + version: 8.3.2 + devDependencies: + '@sphereon/did-uni-client': + specifier: ^0.6.0 + version: 0.6.0 + '@veramo/did-provider-key': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/did-resolver': + specifier: 4.2.0 + version: 4.2.0 + '@veramo/utils': + specifier: 4.2.0 + version: 4.2.0 + did-resolver: + specifier: ^4.1.0 + version: 4.1.0 + nock: + specifier: ^13.2.1 + version: 13.3.0 + packages/presentation-exchange: dependencies: '@sphereon/pex': @@ -513,7 +762,7 @@ importers: version: 18.2.0(react@18.2.0) ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.21.8)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.5)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) packages/siopv2-oid4vp-common: dependencies: @@ -775,7 +1024,7 @@ importers: version: 4.2.0 '@veramo/did-provider-ion': specifier: 4.2.0 - version: 4.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.8) + version: 4.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.10) '@veramo/did-provider-key': specifier: 4.2.0 version: 4.2.0 @@ -874,7 +1123,7 @@ importers: version: 2.8.8 ts-jest: specifier: ^27.1.5 - version: 27.1.5(@babel/core@7.21.8)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) + version: 27.1.5(@babel/core@7.22.5)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5) typescript: specifier: 4.9.5 version: 4.9.5 @@ -907,10 +1156,10 @@ importers: version: 1.1.1 '@sphereon/ed25519-signature-2018': specifier: 0.7.0-unstable.6 - version: 0.7.0-unstable.6(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.7.0-unstable.6(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/isomorphic-webcrypto': specifier: ^2.4.0-unstable.4 - version: 2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.did-utils': specifier: ^0.12.0 version: 0.12.0 @@ -979,7 +1228,7 @@ importers: version: 7.0.0 react-native-securerandom: specifier: ^1.0.1 - version: 1.0.1(react-native@0.71.8) + version: 1.0.1(react-native@0.71.10) devDependencies: '@sphereon/did-uni-client': specifier: ^0.6.0 @@ -992,10 +1241,10 @@ importers: version: 0.12.0(typescript@4.9.5) '@sphereon/ssi-sdk-ext.key-manager': specifier: ^0.12.0 - version: 0.12.0(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.12.0(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.kms-local': specifier: ^0.12.0 - version: 0.12.0(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + version: 0.12.0(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk.agent-config': specifier: workspace:* version: link:../agent-config @@ -1075,11 +1324,11 @@ importers: specifier: ^0.3.1-unstable.1 version: 0.3.1-unstable.1 '@sphereon/ssi-sdk.kv-store-temp': - specifier: ^0.11.1-next.70 - version: 0.11.1-next.70(ts-node@10.9.1) + specifier: workspace:* + version: link:../kv-store '@sphereon/ssi-sdk.presentation-exchange': - specifier: ^0.11.1-next.70 - version: 0.11.1-next.70(ts-node@10.9.1) + specifier: workspace:* + version: link:../presentation-exchange '@sphereon/ssi-types': specifier: workspace:* version: link:../ssi-types @@ -1136,11 +1385,11 @@ importers: specifier: ^0.12.0 version: 0.12.0 '@sphereon/ssi-sdk.data-store': - specifier: ^0.11.1-next.70 - version: 0.11.1-next.70(ts-node@10.9.1) + specifier: workspace:* + version: link:../data-store '@sphereon/ssi-sdk.vc-handler-ld-local': - specifier: ^0.11.1-next.70 - version: 0.11.1-next.70(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + specifier: workspace:* + version: link:../vc-handler-ld-local '@types/body-parser': specifier: ^1.19.2 version: 1.19.2 @@ -1176,7 +1425,7 @@ importers: version: 4.2.0 '@veramo/did-provider-ion': specifier: 4.2.0 - version: 4.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.8) + version: 4.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.10) '@veramo/did-provider-key': specifier: 4.2.0 version: 4.2.0 @@ -1286,7 +1535,7 @@ importers: version: 13.3.0 web-did-resolver: specifier: ^2.0.23 - version: 2.0.23 + version: 2.0.24 packages: @@ -1318,38 +1567,38 @@ packages: /@babel/code-frame@7.10.4: resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} dependencies: - '@babel/highlight': 7.18.6 + '@babel/highlight': 7.22.5 /@babel/code-frame@7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: - '@babel/highlight': 7.18.6 + '@babel/highlight': 7.22.5 dev: true - /@babel/code-frame@7.21.4: - resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + /@babel/code-frame@7.22.5: + resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.18.6 + '@babel/highlight': 7.22.5 - /@babel/compat-data@7.21.7: - resolution: {integrity: sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==} + /@babel/compat-data@7.22.5: + resolution: {integrity: sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==} engines: {node: '>=6.9.0'} - /@babel/core@7.21.8: - resolution: {integrity: sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==} + /@babel/core@7.22.5: + resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.5 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) - '@babel/helper-module-transforms': 7.21.5 - '@babel/helpers': 7.21.5 - '@babel/parser': 7.21.8 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 + '@babel/code-frame': 7.22.5 + '@babel/generator': 7.22.5 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/helper-module-transforms': 7.22.5 + '@babel/helpers': 7.22.5 + '@babel/parser': 7.22.5 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.5 + '@babel/types': 7.22.5 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -1358,78 +1607,78 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.21.5: - resolution: {integrity: sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==} + /@babel/generator@7.22.5: + resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 - /@babel/helper-annotate-as-pure@7.18.6: - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-builder-binary-assignment-operator-visitor@7.21.5: - resolution: {integrity: sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: + resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-compilation-targets@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==} + /@babel/helper-compilation-targets@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.21.7 - '@babel/core': 7.21.8 - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 + '@babel/compat-data': 7.22.5 + '@babel/core': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.7 lru-cache: 5.1.1 semver: 6.3.0 - /@babel/helper-create-class-features-plugin@7.21.8(@babel/core@7.21.8): - resolution: {integrity: sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==} + /@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-member-expression-to-functions': 7.21.5 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.21.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/core': 7.22.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.5 semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/helper-create-regexp-features-plugin@7.21.8(@babel/core@7.21.8): - resolution: {integrity: sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==} + /@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/core': 7.22.5 + '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.0 - /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.8): - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + /@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.22.5): + resolution: {integrity: sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.2 @@ -1437,1093 +1686,1214 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-environment-visitor@7.21.5: - resolution: {integrity: sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==} + /@babel/helper-environment-visitor@7.22.5: + resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} engines: {node: '>=6.9.0'} - /@babel/helper-function-name@7.21.0: - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + /@babel/helper-function-name@7.22.5: + resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.5 + '@babel/template': 7.22.5 + '@babel/types': 7.22.5 - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-member-expression-to-functions@7.21.5: - resolution: {integrity: sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==} + /@babel/helper-member-expression-to-functions@7.22.5: + resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-module-imports@7.21.4: - resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + /@babel/helper-module-imports@7.22.5: + resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-module-transforms@7.21.5: - resolution: {integrity: sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==} + /@babel/helper-module-transforms@7.22.5: + resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-simple-access': 7.21.5 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.5 + '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/helper-optimise-call-expression@7.18.6: - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-plugin-utils@7.21.5: - resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==} + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.8): - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + /@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-wrap-function': 7.20.5 - '@babel/types': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-wrap-function': 7.22.5 + '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/helper-replace-supers@7.21.5: - resolution: {integrity: sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==} + /@babel/helper-replace-supers@7.22.5: + resolution: {integrity: sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-member-expression-to-functions': 7.21.5 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.5 + '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/helper-simple-access@7.21.5: - resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-skip-transparent-expression-wrappers@7.20.0: - resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-split-export-declaration@7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + /@babel/helper-split-export-declaration@7.22.5: + resolution: {integrity: sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/helper-string-parser@7.21.5: - resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + /@babel/helper-validator-identifier@7.22.5: + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.21.0: - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + /@babel/helper-validator-option@7.22.5: + resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.20.5: - resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + /@babel/helper-wrap-function@7.22.5: + resolution: {integrity: sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.21.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 + '@babel/helper-function-name': 7.22.5 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.5 + '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/helpers@7.21.5: - resolution: {integrity: sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==} + /@babel/helpers@7.22.5: + resolution: {integrity: sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.5 + '@babel/types': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/highlight@7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + /@babel/highlight@7.22.5: + resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-validator-identifier': 7.22.5 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.21.8: - resolution: {integrity: sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==} + /@babel/parser@7.22.5: + resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.8): - resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.8): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.22.5): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.8): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 - transitivePeerDependencies: - - supports-color - - /@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-decorators@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w==} + /@babel/plugin-proposal-decorators@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-replace-supers': 7.21.5 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/plugin-syntax-decorators': 7.21.0(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.5 + '@babel/plugin-syntax-decorators': 7.22.5(@babel/core@7.22.5) transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.8) - - /@babel/plugin-proposal-export-default-from@7.18.10(@babel/core@7.21.8): - resolution: {integrity: sha512-5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-export-default-from': 7.18.6(@babel/core@7.21.8) - - /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.8): - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.8) - - /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8) - - /@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.8): - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + /@babel/plugin-proposal-export-default-from@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-UCe1X/hplyv6A5g2WnQ90tnHRvYL29dabCWww92lO7VdfMVTVReBTRrhiMrKQejHD9oVkdnRdwYuzUZkBVQisg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.5) - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.8): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8) - - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.8): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.5): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.7 - '@babel/core': 7.21.8 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8) + '@babel/compat-data': 7.22.5 + '@babel/core': 7.22.5 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.8): + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.8): + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.5): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) - - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.21.8 - '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.8) - transitivePeerDependencies: - - supports-color + '@babel/core': 7.22.5 - /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.8): + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.5): resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.8): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.5): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.21.8): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.8): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.5): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.8): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.5): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-decorators@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w==} + /@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.8): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-default-from@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==} + /@babel/plugin-syntax-export-default-from@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-ODAqWWXB/yReh/jVQDag/3/tl6lgBueQkk/TcfW/59Oykm4c8a55XloX0CTk2k2VJiFWMgHby9xNX29IbCv9dQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.8): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-flow@7.21.4(@babel/core@7.21.8): - resolution: {integrity: sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw==} + /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.8): - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.21.8): + /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.5): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.8): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.21.8): - resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.8): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.5): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.8): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.8): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.5): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.8): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.8): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.8): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.5): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.8): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.5): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.8): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.5): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.21.8): - resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-arrow-functions@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==} + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.5): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) + transitivePeerDependencies: + - supports-color - /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.8): - resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.22.5) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + transitivePeerDependencies: + - supports-color + + /@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) + transitivePeerDependencies: + - supports-color - /@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + /@babel/plugin-transform-classes@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-replace-supers': 7.21.5 - '@babel/helper-split-export-declaration': 7.18.6 + '@babel/core': 7.22.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.5 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-computed-properties@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==} + /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/template': 7.20.7 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.5 - /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.21.8): - resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} + /@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.8): - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + /@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.21.5 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) - /@babel/plugin-transform-flow-strip-types@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w==} + /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-for-of@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==} + /@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) - /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.8): - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) - '@babel/helper-function-name': 7.21.0 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5) - /@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.8): - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + /@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/helper-function-name': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.8): - resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + /@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-module-transforms': 7.21.5 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) + + /@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) + + /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-module-transforms': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} + /@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-module-transforms': 7.21.5 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-simple-access': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-module-transforms': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.8): - resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + /@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.21.5 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-validator-identifier': 7.19.1 + '@babel/core': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-module-transforms': 7.21.5 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-module-transforms': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.8): - resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + /@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + /@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-replace-supers': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) + + /@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.5 + '@babel/core': 7.22.5 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) + + /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.5 + transitivePeerDependencies: + - supports-color + + /@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) + + /@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) + + /@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-parameters@7.21.3(@babel/core@7.21.8): - resolution: {integrity: sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==} + /@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) + transitivePeerDependencies: + - supports-color - /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} + /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==} + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.21.8): - resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==} + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-jsx@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-ELdlq61FpoEkHO6gFRpfj0kUgSwQTGoaEU8eMRoS8Dv3v6e7BjEAj5WMtIBRdHUeAioMhKP5HyxNzNnP+heKbA==} + /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8) - '@babel/types': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/types': 7.22.5 - /@babel/plugin-transform-regenerator@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==} + /@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.1 - /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.8): - resolution: {integrity: sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==} + /@babel/plugin-transform-runtime@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-module-imports': 7.21.4 - '@babel/helper-plugin-utils': 7.21.5 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.8) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.8) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.5) + babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.5) + babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.5) semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.8): - resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + /@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.8): - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.8): - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.8): - resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==} + /@babel/plugin-transform-typescript@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-SMubA9S7Cb5sGSFFUlqxyClTA9zWJ8qGQrppNUm05LtFuN1ELRFNndkix4zUJrC9F+YivWwa1dHMSyo0e0N9dA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) transitivePeerDependencies: - supports-color - /@babel/plugin-transform-unicode-escapes@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==} + /@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.8): - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-create-regexp-features-plugin': 7.21.8(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 - /@babel/preset-env@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg==} + /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.7 - '@babel/core': 7.21.8 - '@babel/helper-compilation-targets': 7.21.5(@babel/core@7.21.8) - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.8) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.8) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.8) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8) - '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.8) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.8) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.8) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.8) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-regenerator': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-unicode-escapes': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.8) - '@babel/preset-modules': 0.1.5(@babel/core@7.21.8) - '@babel/types': 7.21.5 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.8) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.8) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.5 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + + /@babel/preset-env@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.5 + '@babel/core': 7.22.5 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.5) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-async-generator-functions': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.22.5) + '@babel/preset-modules': 0.1.5(@babel/core@7.22.5) + '@babel/types': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.5) + babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.5) + babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.5) core-js-compat: 3.30.2 semver: 6.3.0 transitivePeerDependencies: - supports-color - /@babel/preset-flow@7.21.4(@babel/core@7.21.8): - resolution: {integrity: sha512-F24cSq4DIBmhq4OzK3dE63NHagb27OPE3eWR+HLekt4Z3Y5MzIIUGF3LlLgV0gN8vzbDViSY7HnrReNVCJXTeA==} + /@babel/preset-flow@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.5) - /@babel/preset-modules@0.1.5(@babel/core@7.21.8): + /@babel/preset-modules@0.1.5(@babel/core@7.22.5): resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.8) - '@babel/types': 7.21.5 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) + '@babel/types': 7.22.5 esutils: 2.0.3 - /@babel/preset-typescript@7.21.5(@babel/core@7.21.8): - resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} + /@babel/preset-typescript@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-plugin-utils': 7.21.5 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.22.5) transitivePeerDependencies: - supports-color - /@babel/register@7.21.0(@babel/core@7.21.8): - resolution: {integrity: sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw==} + /@babel/register@7.22.5(@babel/core@7.22.5): + resolution: {integrity: sha512-vV6pm/4CijSQ8Y47RH5SopXzursN35RQINfGJkmOlcpAtGuf94miFvIPhCKGQN7WGIcsgG1BHEX2KVdTYwTwUQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.5 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -2533,43 +2903,43 @@ packages: /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - /@babel/runtime@7.21.5: - resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} + /@babel/runtime@7.22.5: + resolution: {integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 - /@babel/template@7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + /@babel/template@7.22.5: + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 + '@babel/code-frame': 7.22.5 + '@babel/parser': 7.22.5 + '@babel/types': 7.22.5 - /@babel/traverse@7.21.5: - resolution: {integrity: sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==} + /@babel/traverse@7.22.5: + resolution: {integrity: sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.5 - '@babel/helper-environment-visitor': 7.21.5 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 + '@babel/code-frame': 7.22.5 + '@babel/generator': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.5 + '@babel/parser': 7.22.5 + '@babel/types': 7.22.5 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.21.5: - resolution: {integrity: sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==} + /@babel/types@7.22.5: + resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-string-parser': 7.21.5 - '@babel/helper-validator-identifier': 7.19.1 + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 to-fast-properties: 2.0.0 /@bcoe/v8-coverage@0.2.3: @@ -2628,6 +2998,7 @@ packages: /@digitalcredentials/credentials-context@1.0.5: resolution: {integrity: sha512-UL4vFxJvR2SV8FkvxnQe0ukcke4+46Up38Yk2SlmvRWIQAKhxgrEkv1Nq+DbTKllOHE75kZF53Ioy0bZNoJhJA==} + dev: false /@digitalcredentials/ed25519-signature-2020@3.0.2: resolution: {integrity: sha512-R8IrR21Dh+75CYriQov3nVHKaOVusbxfk9gyi6eCAwLHKn6fllUt+2LQfuUrL7Ts/sGIJqQcev7YvkX9GvyYRA==} @@ -2706,6 +3077,7 @@ packages: /@digitalcredentials/x25519-key-agreement-2020-context@1.0.0: resolution: {integrity: sha512-dfYTL4iZBSTVd9yvYctPYJ/rh2snWSwuOMn5bj7gGR7TeUWXCCkuxPT1JsNdbYX8opSHHnhaaCWx3B46a1smiw==} + dev: false /@eslint-community/eslint-utils@4.4.0(eslint@8.35.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} @@ -3054,11 +3426,11 @@ packages: mv: 2.1.1 safe-json-stringify: 1.2.0 - /@expo/cli@0.7.1(expo-modules-autolinking@1.2.0): - resolution: {integrity: sha512-414sC4phJA5p96+bgPsyaPNwsepcOsGeErxFXp9OhqwgiQpw+H0uN9mVrvNIKLDHMVWHrW9bAFUEcpoL6VkzbQ==} + /@expo/cli@0.7.3(expo-modules-autolinking@1.2.0): + resolution: {integrity: sha512-uMGHbAhApqXR2sd1KPhgvpbOhBBnspad8msEqHleT2PHXwKIwTUDzBGO9+jdOAWwCx2MJfw3+asYjzoD3DN9Bg==} hasBin: true dependencies: - '@babel/runtime': 7.21.5 + '@babel/runtime': 7.22.5 '@expo/code-signing-certificates': 0.0.5 '@expo/config': 8.0.2 '@expo/config-plugins': 6.0.2 @@ -3181,7 +3553,7 @@ packages: '@expo/metro-config': 0.7.1 '@expo/osascript': 2.0.33 '@expo/spawn-async': 1.5.0 - body-parser: 1.20.1 + body-parser: 1.20.2 chalk: 4.1.2 connect: 3.7.0 fs-extra: 9.0.0 @@ -3212,7 +3584,7 @@ packages: rimraf: 2.7.1 sudo-prompt: 8.2.5 tmp: 0.0.33 - tslib: 2.5.2 + tslib: 2.5.3 transitivePeerDependencies: - supports-color @@ -3278,7 +3650,7 @@ packages: /@expo/plist@0.0.20: resolution: {integrity: sha512-UXQ4LXCfTZ580LDHGJ5q62jSTwJFFJ1GqBu8duQMThiHKWbMJ+gajJh6rsB6EJ3aLUr9wcauxneL5LVRFxwBEA==} dependencies: - '@xmldom/xmldom': 0.7.10 + '@xmldom/xmldom': 0.7.11 base64-js: 1.5.1 xmlbuilder: 14.0.0 @@ -3355,8 +3727,8 @@ packages: dependencies: '@hapi/hoek': 9.3.0 - /@humanwhocodes/config-array@0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + /@humanwhocodes/config-array@0.11.10: + resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -3405,7 +3777,7 @@ packages: dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 strip-ansi-cjs: /strip-ansi@6.0.1 wrap-ansi: 8.1.0 wrap-ansi-cjs: /wrap-ansi@7.0.0 @@ -3624,7 +3996,7 @@ packages: resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.5 '@jest/types': 27.5.1 babel-plugin-istanbul: 6.1.1 chalk: 4.1.2 @@ -3764,7 +4136,7 @@ packages: resolution: {integrity: sha512-yUCDCcRNNbI9UUsUB6FYEmDHpo5Tn/f0q5D7vhDP4i6Or8kBj82y7+e31hwfLvK2ykOYlDVs2MxAluH/+QUBOQ==} engines: {node: ^14.15.0 || >=16.0.0} dependencies: - chalk: 4.1.2 + chalk: 4.1.0 execa: 5.0.0 strong-log-transformer: 2.1.0 dev: true @@ -3981,6 +4353,7 @@ packages: transitivePeerDependencies: - encoding - supports-color + dev: false /@mattrglobal/node-bbs-signatures@0.13.0: resolution: {integrity: sha512-S2wOwDCQYxdjSEjVfcbP3bTq4ZMKeRw/wvBhWRff8CEwuH5u3Qiul+azwDGSesvve1DDceaEhXWiGkXeZTojfQ==} @@ -4086,7 +4459,7 @@ packages: '@npmcli/metavuln-calculator': 5.0.1 '@npmcli/name-from-folder': 2.0.0 '@npmcli/node-gyp': 3.0.0 - '@npmcli/package-json': 3.1.0 + '@npmcli/package-json': 3.1.1 '@npmcli/query': 3.0.0 '@npmcli/run-script': 6.0.2 bin-links: 4.0.1 @@ -4155,8 +4528,8 @@ packages: - bluebird dev: true - /@npmcli/git@4.0.4: - resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==} + /@npmcli/git@4.1.0: + resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/promise-spawn': 6.0.2 @@ -4194,7 +4567,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@npmcli/name-from-folder': 2.0.0 - glob: 10.2.6 + glob: 10.2.7 minimatch: 9.0.1 read-package-json-fast: 3.0.2 dev: true @@ -4244,14 +4617,18 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /@npmcli/package-json@3.1.0: - resolution: {integrity: sha512-qNPy6Yf9ruFST99xcrl5EWAvrb7qFrwgVbwdzcTJlIgxbArKOq5e/bgZ6rTL1X9hDgAdPbvL8RWx/OTLSB0ToA==} + /@npmcli/package-json@3.1.1: + resolution: {integrity: sha512-+UW0UWOYFKCkvszLoTwrYGrjNrT8tI5Ckeb/h+Z1y1fsNJEctl7HmerA5j2FgmoqFaLI2gsA1X9KgMFqx/bRmA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 10.2.6 + '@npmcli/git': 4.1.0 + glob: 10.2.7 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 npm-normalize-package-bin: 3.0.1 + proc-log: 3.0.0 + transitivePeerDependencies: + - bluebird dev: true /@npmcli/promise-spawn@3.0.0: @@ -4323,7 +4700,7 @@ packages: nx: 15.9.4 semver: 7.3.4 tmp: 0.2.1 - tslib: 2.5.2 + tslib: 2.5.3 dev: true /@nrwl/nx-darwin-arm64@15.9.4: @@ -4418,33 +4795,31 @@ packages: - debug dev: true - /@octokit/auth-token@3.0.3: - resolution: {integrity: sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==} + /@octokit/auth-token@3.0.4: + resolution: {integrity: sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==} engines: {node: '>= 14'} - dependencies: - '@octokit/types': 9.2.3 dev: true /@octokit/core@4.2.1: resolution: {integrity: sha512-tEDxFx8E38zF3gT7sSMDrT1tGumDgsw5yPG6BBh/X+5ClIQfMH/Yqocxz1PnHx6CHyF6pxmovUTOfZAUvQ0Lvw==} engines: {node: '>= 14'} dependencies: - '@octokit/auth-token': 3.0.3 + '@octokit/auth-token': 3.0.4 '@octokit/graphql': 5.0.6 '@octokit/request': 6.2.5 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.2.3 + '@octokit/types': 9.3.0 before-after-hook: 2.2.3 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: true - /@octokit/endpoint@7.0.5: - resolution: {integrity: sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==} + /@octokit/endpoint@7.0.6: + resolution: {integrity: sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.2.3 + '@octokit/types': 9.3.0 is-plain-object: 5.0.0 universal-user-agent: 6.0.0 dev: true @@ -4454,7 +4829,7 @@ packages: engines: {node: '>= 14'} dependencies: '@octokit/request': 6.2.5 - '@octokit/types': 9.2.3 + '@octokit/types': 9.3.0 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding @@ -4468,8 +4843,8 @@ packages: resolution: {integrity: sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==} dev: true - /@octokit/openapi-types@17.2.0: - resolution: {integrity: sha512-MazrFNx4plbLsGl+LFesMo96eIXkFgEtaKbnNpdh4aQ0VM10aoylFsTYP1AEjkeoRNZiiPe3T6Gl2Hr8dJWdlQ==} + /@octokit/openapi-types@18.0.0: + resolution: {integrity: sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==} dev: true /@octokit/plugin-enterprise-rest@6.0.1: @@ -4494,7 +4869,7 @@ packages: dependencies: '@octokit/core': 4.2.1 '@octokit/tsconfig': 1.0.2 - '@octokit/types': 9.2.3 + '@octokit/types': 9.3.0 dev: true /@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.1): @@ -4516,22 +4891,33 @@ packages: deprecation: 2.3.1 dev: true - /@octokit/plugin-rest-endpoint-methods@7.1.2(@octokit/core@4.2.1): - resolution: {integrity: sha512-R0oJ7j6f/AdqPLtB9qRXLO+wjI9pctUn8Ka8UGfGaFCcCv3Otx14CshQ89K4E88pmyYZS8p0rNTiprML/81jig==} + /@octokit/plugin-retry@4.1.6(@octokit/core@4.2.1): + resolution: {integrity: sha512-obkYzIgEC75r8+9Pnfiiqy3y/x1bc3QLE5B7qvv9wi9Kj0R5tGQFC6QMBg1154WQ9lAVypuQDGyp3hNpp15gQQ==} engines: {node: '>= 14'} peerDependencies: '@octokit/core': '>=3' dependencies: '@octokit/core': 4.2.1 - '@octokit/types': 9.2.3 - deprecation: 2.3.1 + '@octokit/types': 9.3.0 + bottleneck: 2.19.5 + dev: true + + /@octokit/plugin-throttling@5.2.3(@octokit/core@4.2.1): + resolution: {integrity: sha512-C9CFg9mrf6cugneKiaI841iG8DOv6P5XXkjmiNNut+swePxQ7RWEdAZRp5rJoE1hjsIqiYcKa/ZkOQ+ujPI39Q==} + engines: {node: '>= 14'} + peerDependencies: + '@octokit/core': ^4.0.0 + dependencies: + '@octokit/core': 4.2.1 + '@octokit/types': 9.3.0 + bottleneck: 2.19.5 dev: true /@octokit/request-error@3.0.3: resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} engines: {node: '>= 14'} dependencies: - '@octokit/types': 9.2.3 + '@octokit/types': 9.3.0 deprecation: 2.3.1 once: 1.4.0 dev: true @@ -4540,28 +4926,16 @@ packages: resolution: {integrity: sha512-z83E8UIlPNaJUsXpjD8E0V5o/5f+vJJNbNcBwVZsX3/vC650U41cOkTLjq4PKk9BYonQGOnx7N17gvLyNjgGcQ==} engines: {node: '>= 14'} dependencies: - '@octokit/endpoint': 7.0.5 + '@octokit/endpoint': 7.0.6 '@octokit/request-error': 3.0.3 - '@octokit/types': 9.2.3 + '@octokit/types': 9.3.0 is-plain-object: 5.0.0 - node-fetch: 2.6.7 + node-fetch: 2.6.11 universal-user-agent: 6.0.0 transitivePeerDependencies: - encoding dev: true - /@octokit/rest@19.0.11: - resolution: {integrity: sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==} - engines: {node: '>= 14'} - dependencies: - '@octokit/core': 4.2.1 - '@octokit/plugin-paginate-rest': 6.1.2(@octokit/core@4.2.1) - '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.1) - '@octokit/plugin-rest-endpoint-methods': 7.1.2(@octokit/core@4.2.1) - transitivePeerDependencies: - - encoding - dev: true - /@octokit/rest@19.0.3: resolution: {integrity: sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==} engines: {node: '>= 14'} @@ -4590,10 +4964,10 @@ packages: '@octokit/openapi-types': 14.0.0 dev: true - /@octokit/types@9.2.3: - resolution: {integrity: sha512-MMeLdHyFIALioycq+LFcA71v0S2xpQUX2cw6pPbHQjaibcHYwLnmK/kMZaWuGfGfjBJZ3wRUq+dOaWsvrPJVvA==} + /@octokit/types@9.3.0: + resolution: {integrity: sha512-ZNO1In0QuWZLDngSLcn5H4ExRhYOd1rDcWnwc/LuR55cO1d6Sex6+T6RiSQwp/tyEg7eNWx+MUdJGL7Fu1kMjw==} dependencies: - '@octokit/openapi-types': 17.2.0 + '@octokit/openapi-types': 18.0.0 dev: true /@parcel/watcher@2.0.4: @@ -4610,13 +4984,13 @@ packages: dependencies: asn1js: 3.0.5 pvtsutils: 1.3.2 - tslib: 2.5.2 + tslib: 2.5.3 /@peculiar/json-schema@1.1.12: resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} engines: {node: '>=8.0.0'} dependencies: - tslib: 2.5.2 + tslib: 2.5.3 /@peculiar/webcrypto@1.4.3: resolution: {integrity: sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==} @@ -4625,7 +4999,7 @@ packages: '@peculiar/asn1-schema': 2.3.6 '@peculiar/json-schema': 1.1.12 pvtsutils: 1.3.2 - tslib: 2.5.2 + tslib: 2.5.3 webcrypto-core: 1.7.7 /@pkgjs/parseargs@0.11.0: @@ -4735,13 +5109,13 @@ packages: '@react-native-community/cli-tools': 10.1.1 chalk: 4.1.2 execa: 1.0.0 - fast-xml-parser: 4.2.2 + fast-xml-parser: 4.2.4 glob: 7.2.3 ora: 5.4.1 transitivePeerDependencies: - encoding - /@react-native-community/cli-plugin-metro@10.2.2(@babel/core@7.21.8): + /@react-native-community/cli-plugin-metro@10.2.2(@babel/core@7.22.5): resolution: {integrity: sha512-sTGjZlD3OGqbF9v1ajwUIXhGmjw9NyJ/14Lo0sg7xH8Pv4qUd5ZvQ6+DWYrQn3IKFUMfGFWYyL81ovLuPylrpw==} dependencies: '@react-native-community/cli-server-api': 10.1.1 @@ -4751,7 +5125,7 @@ packages: metro: 0.73.9 metro-config: 0.73.9 metro-core: 0.73.9 - metro-react-native-babel-transformer: 0.73.9(@babel/core@7.21.8) + metro-react-native-babel-transformer: 0.73.9(@babel/core@7.22.5) metro-resolver: 0.73.9 metro-runtime: 0.73.9 readline: 1.3.0 @@ -4800,7 +5174,7 @@ packages: dependencies: joi: 17.9.2 - /@react-native-community/cli@10.2.2(@babel/core@7.21.8): + /@react-native-community/cli@10.2.2(@babel/core@7.22.5): resolution: {integrity: sha512-aZVcVIqj+OG6CrliR/Yn8wHxrvyzbFBY9cj7n0MvRw/P54QUru2nNqUTSSbqv0Qaa297yHJbe6kFDojDMSTM8Q==} engines: {node: '>=14'} hasBin: true @@ -4810,7 +5184,7 @@ packages: '@react-native-community/cli-debugger-ui': 10.0.0 '@react-native-community/cli-doctor': 10.2.2 '@react-native-community/cli-hermes': 10.2.0 - '@react-native-community/cli-plugin-metro': 10.2.2(@babel/core@7.21.8) + '@react-native-community/cli-plugin-metro': 10.2.2(@babel/core@7.22.5) '@react-native-community/cli-server-api': 10.1.1 '@react-native-community/cli-tools': 10.1.1 '@react-native-community/cli-types': 10.0.0 @@ -4900,27 +5274,28 @@ packages: engines: {node: '>=14.17'} dev: true - /@semantic-release/github@8.0.7(semantic-release@19.0.5): - resolution: {integrity: sha512-VtgicRIKGvmTHwm//iqTh/5NGQwsncOMR5vQK9pMT92Aem7dv37JFKKRuulUsAnUOIlO4G8wH3gPiBAA0iW0ww==} + /@semantic-release/github@8.1.0(semantic-release@19.0.5): + resolution: {integrity: sha512-erR9E5rpdsz0dW1I7785JtndQuMWN/iDcemcptf67tBNOmBUN0b2YNOgcjYUnBpgRpZ5ozfBHrK7Bz+2ets/Dg==} engines: {node: '>=14.17'} peerDependencies: semantic-release: '>=18.0.0-beta.1' dependencies: - '@octokit/rest': 19.0.11 + '@octokit/core': 4.2.1 + '@octokit/plugin-paginate-rest': 6.1.2(@octokit/core@4.2.1) + '@octokit/plugin-retry': 4.1.6(@octokit/core@4.2.1) + '@octokit/plugin-throttling': 5.2.3(@octokit/core@4.2.1) '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 - bottleneck: 2.19.5 debug: 4.3.4 dir-glob: 3.0.1 fs-extra: 11.1.1 globby: 11.1.0 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.0 issue-parser: 6.0.0 lodash: 4.17.21 mime: 3.0.0 p-filter: 2.1.0 - p-retry: 4.6.2 semantic-release: 19.0.5 url-join: 4.0.1 transitivePeerDependencies: @@ -4987,6 +5362,17 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true + /@sigstore/tuf@1.0.0: + resolution: {integrity: sha512-bLzi9GeZgMCvjJeLUIfs8LJYCxrPRA8IXQkzUtaFKKVPTz0mucRyqFcV2U20yg9K+kYAD0YSitzGfRZCFLjdHQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.1.0 + make-fetch-happen: 11.1.1 + tuf-js: 1.1.6 + transitivePeerDependencies: + - supports-color + dev: true + /@sinclair/typebox@0.25.24: resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} @@ -5037,7 +5423,7 @@ packages: /@sphereon/did-uni-client@0.4.0: resolution: {integrity: sha512-PJr0xi46iEMtQ7vJW6rAoc2T+gPT8P7q0FjVcOVI3l8so4XJ+iY+wkeF2osEFGmjVS/Q76uhcDCBXTXxPDFdcQ==} dependencies: - cross-fetch: 3.1.5 + cross-fetch: 3.1.6 did-resolver: 3.2.2 transitivePeerDependencies: - encoding @@ -5051,13 +5437,13 @@ packages: transitivePeerDependencies: - encoding - /@sphereon/ed25519-signature-2018@0.7.0-unstable.6(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ed25519-signature-2018@0.7.0-unstable.6(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-HO+W3v50yv0DrCrhCH3MFkHuUk0snM8zf8XFt6ym3xe2Dv/9x1J8xk6VZeYhSygvoUavH5x/Az6NbV4KDMgrXA==} engines: {node: '>=16'} dependencies: '@digitalcredentials/credentials-context': 1.0.5 '@digitalcredentials/jsonld': 5.2.1 - '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@transmute/credentials-context': 0.7.0-unstable.80 '@transmute/ed25519-key-pair': 0.7.0-unstable.80 '@transmute/jose-ld': 0.7.0-unstable.80 @@ -5070,15 +5456,16 @@ packages: - msrcrypto - react-native-securerandom - web-streams-polyfill + dev: false - /@sphereon/ion-pow@0.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.8): + /@sphereon/ion-pow@0.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.10): resolution: {integrity: sha512-SpEG4mV5D+K/jrqGI9QSBPPKO5+Kpu6F3cINBKbWiz+ZI4boWwz9JAdNspD45YnnMqTbR14CDEGtHwOaHboJQg==} peerDependencies: '@sphereon/react-native-argon2': ^2.0.7 dependencies: - '@sphereon/isomorphic-argon2': 1.0.1(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.8) - '@sphereon/react-native-argon2': 2.0.9(react-native@0.71.8) - cross-fetch: 3.1.5 + '@sphereon/isomorphic-argon2': 1.0.1(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.10) + '@sphereon/react-native-argon2': 2.0.9(react-native@0.71.10) + cross-fetch: 3.1.6 debug: 4.3.4 uint8arrays: 3.1.1 transitivePeerDependencies: @@ -5087,19 +5474,19 @@ packages: - supports-color dev: true - /@sphereon/isomorphic-argon2@1.0.1(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.8): + /@sphereon/isomorphic-argon2@1.0.1(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.10): resolution: {integrity: sha512-Z40mdiuuZjII19FfIsti9JFGqX56jhpaeZb135BZayJPaRSbi8JnbJ3pzulJJAHsymkWzVqMqt242fBKpualHg==} peerDependencies: '@sphereon/react-native-argon2': ^2.0.9 react-native: '>=0.60.0' dependencies: - '@sphereon/react-native-argon2': 2.0.9(react-native@0.71.8) + '@sphereon/react-native-argon2': 2.0.9(react-native@0.71.10) argon2-browser: 1.18.0 - react-native: 0.71.8(@babel/core@7.21.8)(@babel/preset-env@7.21.5)(react@18.2.0) + react-native: 0.71.10(@babel/core@7.22.5)(@babel/preset-env@7.22.5)(react@18.2.0) uint8arrays: 3.1.1 dev: true - /@sphereon/isomorphic-webcrypto@2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/isomorphic-webcrypto@2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-7i9GBta0yji3Z5ocyk82fXpqrV/swe7hXZVfVzOXRaGtTUNd+y8W/3cpHRQC2S4UEO/5N3lX7+B6qUunK9wS/Q==} peerDependencies: expo: '*' @@ -5113,13 +5500,13 @@ packages: b64u-lite: 1.1.0 cipher-base: 1.0.4 create-hash: 1.2.0 - expo: 48.0.17(@babel/core@7.21.8) - expo-crypto: 12.2.2(expo@48.0.17) + expo: 48.0.19(@babel/core@7.22.5) + expo-crypto: 12.2.2(expo@48.0.19) inherits: 2.0.4 md5.js: 1.3.5 msrcrypto: 1.5.8 randomfill: 1.0.4 - react-native-securerandom: 1.0.1(react-native@0.71.8) + react-native-securerandom: 1.0.1(react-native@0.71.10) ripemd160: 2.0.2 sha.js: 2.4.11 str2buf: 1.3.0 @@ -5135,10 +5522,50 @@ packages: '@waves/ts-lib-crypto': 1.4.4-beta.1 lto-api: 0.5.14 transitivePeerDependencies: - - debug + - debug + - encoding + - typescript + dev: true + + /@sphereon/oid4vci-common@0.4.1-unstable.284: + resolution: {integrity: sha512-/EKhQ+ZIMJ2Mvq1Bh2QD21MObgzatXLMfiTER4McXhcZ7Js+BMxO/lggJ6/ORUZCaHFV0buICWWaLpM+255cgA==} + engines: {node: '>=16'} + dependencies: + '@sphereon/ssi-types': link:packages/ssi-types + cross-fetch: 3.1.6 + jwt-decode: 3.1.2 + transitivePeerDependencies: + - encoding + dev: false + + /@sphereon/oid4vci-issuer-server@0.4.1-unstable.284: + resolution: {integrity: sha512-qLer7fzqxe1Ghyz6lKHXASziYGjroo7uY8cPKn1dme7AB+yj0qmeOMXZ6W3LcDVbZJqEUfo4Ht+xFlrwMFd6lg==} + engines: {node: '>=16'} + dependencies: + '@sphereon/oid4vci-common': 0.4.1-unstable.284 + '@sphereon/oid4vci-issuer': 0.4.1-unstable.284 + '@sphereon/ssi-types': link:packages/ssi-types + body-parser: 1.20.2 + cookie-parser: 1.4.6 + cors: 2.8.5 + dotenv-flow: 3.2.0 + express: 4.18.2 + uuid: 9.0.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sphereon/oid4vci-issuer@0.4.1-unstable.284: + resolution: {integrity: sha512-z93DrCEZTjupUvkShWEVuhfpRuoZUC5O6kMMzP9/dj9/4naLWqMgG147mseIPEVAcKTzOLC9B6xe7KQsVIKrhQ==} + engines: {node: '>=16'} + dependencies: + '@sphereon/oid4vci-common': 0.4.1-unstable.284 + '@sphereon/ssi-types': link:packages/ssi-types + uuid: 9.0.0 + transitivePeerDependencies: - encoding - - typescript - dev: true + dev: false /@sphereon/pex-models@2.0.2: resolution: {integrity: sha512-ptHM72tdQrhMYSItHoGCm3HgK+HGF6tI29zYfS47H3M7ZjKhBgfmVHohuxhxA0Q6cL5gqH1jEA8G5Z2tadHmTw==} @@ -5156,12 +5583,12 @@ packages: nanoid: 3.3.6 string.prototype.matchall: 4.0.8 - /@sphereon/react-native-argon2@2.0.9(react-native@0.71.8): + /@sphereon/react-native-argon2@2.0.9(react-native@0.71.10): resolution: {integrity: sha512-mXcp3meaKbv5TpEPxItZ1ZuRqkdNf8vjx3EM+GqNVQ8QQF9pbD3jw6wQfuFRPc+8kN+m9GEiVVbd9I0m50OPBg==} peerDependencies: react-native: '>=0.67.0' dependencies: - react-native: 0.71.8(@babel/core@7.21.8)(@babel/preset-env@7.21.5)(react@18.2.0) + react-native: 0.71.10(@babel/core@7.22.5)(@babel/preset-env@7.22.5)(react@18.2.0) dev: true /@sphereon/ssi-sdk-ext.did-provider-jwk@0.12.0: @@ -5236,7 +5663,7 @@ packages: '@stablelib/ed25519': 1.0.3 bigint-mod-arith: 3.2.1 did-resolver: 4.1.0 - enhanced-resolve: 5.14.0 + enhanced-resolve: 5.14.1 lodash.isplainobject: 4.0.6 multiformats: 9.9.0 nist-weierstrauss: 1.6.1 @@ -5262,11 +5689,11 @@ packages: - encoding - supports-color - /@sphereon/ssi-sdk-ext.key-manager@0.12.0(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.key-manager@0.12.0(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-pXruY2bprzduE8Irpj3Vv1RY/2FC7hGHVytuYiPNMfq9nPvXCg0kJ3xOw1bkrPEIixhHpR1zlnnrgm2lTPFfsA==} dependencies: '@mattrglobal/bbs-signatures': 1.1.0 - '@sphereon/ssi-sdk-ext.kms-local': 0.12.0(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/ssi-sdk-ext.kms-local': 0.12.0(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) '@veramo/key-manager': 4.2.0 transitivePeerDependencies: @@ -5297,11 +5724,11 @@ packages: transitivePeerDependencies: - supports-color - /@sphereon/ssi-sdk-ext.kms-local@0.12.0(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): + /@sphereon/ssi-sdk-ext.kms-local@0.12.0(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): resolution: {integrity: sha512-PFsCE7HySyF+pDZAZSodFUpxz7ooWqe1fpz1CdDb/BYm4kQS+8ER1X+d4/i3Fhhv5KSfutWPYMeVBoWme1CYbg==} dependencies: '@mattrglobal/bbs-signatures': 1.1.0 - '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) + '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.19)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) '@sphereon/ssi-sdk-ext.did-utils': 0.12.0 '@sphereon/ssi-sdk-ext.key-utils': 0.12.0 '@trust/keyto': 2.0.0-alpha1 @@ -5318,149 +5745,11 @@ packages: - supports-color dev: true - /@sphereon/ssi-sdk.data-store@0.11.1-next.70(ts-node@10.9.1): - resolution: {integrity: sha512-pnca7KjL30KMamOLhXf6LDp/wKHRt0qf6akKuuMAPWQJxWjHa4ddSXQWB0Owrx5B6xtl7sjayhCIWJKtlIzOMQ==} - dependencies: - '@sphereon/ssi-types': link:packages/ssi-types - '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) - class-validator: 0.14.0 - debug: 4.3.4 - typeorm: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) - transitivePeerDependencies: - - '@google-cloud/spanner' - - '@sap/hana-client' - - better-sqlite3 - - hdb-pool - - ioredis - - mongodb - - mssql - - mysql2 - - oracledb - - pg - - pg-native - - pg-query-stream - - redis - - sql.js - - sqlite3 - - supports-color - - ts-node - - typeorm-aurora-data-api-driver - dev: true - - /@sphereon/ssi-sdk.kv-store-temp@0.11.1-next.70(ts-node@10.9.1): - resolution: {integrity: sha512-p1dKaAJTveaT4q9EzNrwiyVJQMs0vWaDmctPig4rbOV5+gbSaHftllHwLK62UGfYI/iLvesd3TgpYBkE9CkYig==} - dependencies: - '@veramo/utils': 4.2.0 - debug: 4.3.4 - events: 3.3.0 - json-buffer: 3.0.1 - typeorm: 0.3.12(sqlite3@5.1.6)(ts-node@10.9.1) - uint8arrays: 3.1.1 - transitivePeerDependencies: - - '@google-cloud/spanner' - - '@sap/hana-client' - - better-sqlite3 - - encoding - - hdb-pool - - ioredis - - mongodb - - mssql - - mysql2 - - oracledb - - pg - - pg-native - - pg-query-stream - - redis - - sql.js - - sqlite3 - - supports-color - - ts-node - - typeorm-aurora-data-api-driver - dev: false - - /@sphereon/ssi-sdk.presentation-exchange@0.11.1-next.70(ts-node@10.9.1): - resolution: {integrity: sha512-GGWVzX9tKsbTawtoHIHRZqiGpog40yaXWtfQIew9OvmRk/7y3h+fx4xxC+Mf/QrMwoGzRpy85vyWTo3PPrxeog==} - dependencies: - '@sphereon/pex': 2.0.1 - '@sphereon/pex-models': 2.0.2 - '@sphereon/ssi-sdk-ext.did-utils': 0.12.0 - '@sphereon/ssi-sdk.kv-store-temp': 0.11.1-next.70(ts-node@10.9.1) - '@sphereon/ssi-types': link:packages/ssi-types - '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) - transitivePeerDependencies: - - '@google-cloud/spanner' - - '@sap/hana-client' - - better-sqlite3 - - encoding - - hdb-pool - - ioredis - - mongodb - - mssql - - mysql2 - - oracledb - - pg - - pg-native - - pg-query-stream - - redis - - sql.js - - sqlite3 - - supports-color - - ts-node - - typeorm-aurora-data-api-driver - dev: false - - /@sphereon/ssi-sdk.vc-handler-ld-local@0.11.1-next.70(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1): - resolution: {integrity: sha512-/hE+5npK4gZZbWU29vRaF6Y+tY9l7hHx5++fpftf0Y23j7tY0sB/O9uLycfQ7N979x5/2nn231BTjx0k3dpanQ==} - peerDependencies: - react-native-securerandom: ^1.0.1 - dependencies: - '@digitalcredentials/ed25519-signature-2020': 3.0.2 - '@digitalcredentials/ed25519-verification-key-2020': 3.2.2 - '@digitalcredentials/jsonld': 5.2.1 - '@digitalcredentials/jsonld-signatures': 9.3.1 - '@digitalcredentials/rdf-canonize': 1.0.0 - '@digitalcredentials/vc': 5.0.0 - '@digitalcredentials/x25519-key-agreement-2020-context': 1.0.0 - '@mattrglobal/jsonld-signatures-bbs': 1.1.1 - '@sphereon/ed25519-signature-2018': 0.7.0-unstable.6(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) - '@sphereon/isomorphic-webcrypto': 2.4.0-unstable.4(expo-crypto@12.2.2)(expo@48.0.17)(msrcrypto@1.5.8)(react-native-securerandom@1.0.1) - '@sphereon/ssi-sdk-ext.did-utils': 0.12.0 - '@sphereon/ssi-sdk.core': link:packages/ssi-sdk-core - '@sphereon/ssi-types': link:packages/ssi-types - '@transmute/ed25519-key-pair': 0.7.0-unstable.80 - '@transmute/jose-ld': 0.7.0-unstable.80 - '@transmute/jsonld': 0.0.4 - '@transmute/jsonld-document-loader': 0.7.0-unstable.80 - '@transmute/secp256k1-key-pair': 0.7.0-unstable.80 - '@transmute/security-context': 0.7.0-unstable.80 - '@transmute/vc-status-rl-2020': 0.7.0-unstable.80 - '@transmute/web-crypto-key-pair': 0.7.0-unstable.80 - '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) - '@veramo/utils': 4.2.0 - credentials-context: 2.0.0 - crypto-ld: 6.0.0 - debug: 4.3.4 - did-context: 3.1.1 - ed25519-signature-2018-context: 1.1.0 - ed25519-signature-2020-context: 1.1.0 - jsonld: link:node_modules/.pnpm/@digitalcredentials+jsonld@5.2.1/node_modules/@digitalcredentials/jsonld - jsonld-signatures: 7.0.0 - react-native-securerandom: 1.0.1(react-native@0.71.8) - transitivePeerDependencies: - - domexception - - encoding - - expo - - expo-crypto - - msrcrypto - - supports-color - - web-streams-polyfill - dev: true - /@sphereon/wellknown-dids-client@0.1.3: resolution: {integrity: sha512-TAT24L3RoXD8ocrkTcsz7HuJmgjNjdoV6IXP1p3DdaI/GqkynytXE3J1+F7vUFMRYwY5nW2RaXSgDQhrFJemaA==} dependencies: '@sphereon/ssi-types': link:packages/ssi-types - cross-fetch: 3.1.5 + cross-fetch: 3.1.6 jwt-decode: 3.1.2 transitivePeerDependencies: - encoding @@ -5624,8 +5913,8 @@ packages: resolution: {integrity: sha512-Dffe68pGwI6WlLRYR2I0piIkyole9cSBH5jGQKCGMRpHW5RHCqAUaqc2Kv0tUyd4dU4DLPKhJIjyKOnjv4tuUw==} engines: {node: '>=14'} dependencies: - '@babel/code-frame': 7.21.4 - '@babel/runtime': 7.21.5 + '@babel/code-frame': 7.22.5 + '@babel/runtime': 7.22.5 '@types/aria-query': 5.0.1 aria-query: 5.1.3 chalk: 4.1.2 @@ -5639,8 +5928,8 @@ packages: engines: {node: '>=8', npm: '>=6', yarn: '>=1'} dependencies: '@adobe/css-tools': 4.2.0 - '@babel/runtime': 7.21.5 - '@types/testing-library__jest-dom': 5.14.5 + '@babel/runtime': 7.22.5 + '@types/testing-library__jest-dom': 5.14.6 aria-query: 5.1.3 chalk: 3.0.0 css.escape: 1.5.1 @@ -5656,7 +5945,7 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.21.5 + '@babel/runtime': 7.22.5 '@testing-library/dom': 9.3.0 '@types/react-dom': 18.2.4 react: 18.2.0 @@ -5688,6 +5977,7 @@ packages: dependencies: base64url: 3.0.1 pako: 2.1.0 + dev: false /@transmute/credentials-context@0.7.0-unstable.80: resolution: {integrity: sha512-WhTrnSsIFcWGr3nAVUr1CBBzKKGWs8TJnXPAK+I3QzshennkMNbXpLNpU/sK3cum7eTRPyxFVbH37AxrHStQOw==} @@ -5697,6 +5987,7 @@ packages: /@transmute/did-context@0.7.0-unstable.80: resolution: {integrity: sha512-LKVmwWsEiOqK4/HFm+qGmDB+zk4QZkZfzFm4uhSC+FPKigg25xkk7JiNsAV5x03+7EFrKvV1nTG0UZa5t4yvGg==} + dev: false /@transmute/did-key-bls12381@0.3.0-unstable.10: resolution: {integrity: sha512-ExSADdvDxrYeCx8RsKXZGMjJmHrOJ9vyYtziZUaJ97K/sn1uVlvIOTp9V4xHa6j9cT1wTzSqJ325euwGFeK+WQ==} @@ -5718,6 +6009,7 @@ packages: '@stablelib/xchacha20poly1305': 1.0.1 '@transmute/did-key-common': 0.2.1-unstable.42 web-streams-polyfill: 3.2.1 + dev: false /@transmute/did-key-common@0.2.1-unstable.42: resolution: {integrity: sha512-mJ58IKEBxa6SorCrIBSPu0OcEj94Y5+0/qUKqbNTTqfCOsPi6E5BEzMIgpf3Unrb59u+u5JBL0T/Sy7coOSO1A==} @@ -5727,6 +6019,7 @@ packages: borc: 2.1.2 canonicalize: 1.0.8 cbor: 5.2.0 + dev: false /@transmute/did-key-common@0.3.0-unstable.10: resolution: {integrity: sha512-Iryh/HcGIvmTtWFTRaG/JEgbUsqI5OqKqkR2676yQWK4ajLMsyNattz5n0ZfFQk/4U7Ee6pJvvKRduFDAqqV0Q==} @@ -5751,6 +6044,7 @@ packages: base64url: 3.0.1 bs58: 4.0.1 canonicalize: 1.0.8 + dev: false /@transmute/did-key-ed25519@0.3.0-unstable.10: resolution: {integrity: sha512-9QdXl58DjwqBuOJBx6DtvaNW2bZLmVBxMSq2En4RAQcGIz1GGulyEQ1NB7PLIAgnam3LIFxiK6RiQGQTfJmmJg==} @@ -5783,6 +6077,7 @@ packages: base64url: 3.0.1 bs58: 4.0.1 canonicalize: 1.0.8 + dev: false /@transmute/did-key-x25519@0.3.0-unstable.10: resolution: {integrity: sha512-Jm5UxwI9EhlfVQ9D0Clj9RlMvhOi8nqAgQG30KMzjFMVGfWqIPwQNZFvmL+XsQ7g3dfTo5iQwXBY0de/f+RoMA==} @@ -5855,6 +6150,7 @@ packages: engines: {node: '>=16'} dependencies: factory.ts: 1.4.1 + dev: false /@transmute/jsonld-schema@0.7.0-unstable.80: resolution: {integrity: sha512-KWOXmN3WU76ciFQWyzZqrG7bjjmAn0KE+D3M7wB6XI6XB6aWlwYAuQXQqsqrPSpGo69LqTv0nTCHY5ie4Ta58g==} @@ -5863,6 +6159,7 @@ packages: '@transmute/jsonld': 0.0.4 ajv: 8.12.0 genson-js: 0.0.5 + dev: false /@transmute/jsonld@0.0.4: resolution: {integrity: sha512-6G++8imMYW9dtTvATPHNfrV3lLeX5E57DOmlgIDfO0A0yjkBCss1usB80NfONS26ynyveb8vTbp4nQDW9Ki4Rw==} @@ -5898,6 +6195,7 @@ packages: '@transmute/security-context': 0.0.4-unstable.2 jsonld: link:node_modules/.pnpm/@digitalcredentials+jsonld@5.2.1/node_modules/@digitalcredentials/jsonld serialize-error: 7.0.1 + dev: false /@transmute/linked-data-proof@0.7.0-unstable.80: resolution: {integrity: sha512-E4Lq6RFwjWlejDjEZKEZ25j35i93nnPxOevW8pDAabpQfz6osLzhNvVrNR8RdBdRP1a5byRBDzqsO1RsHKhAJA==} @@ -5907,9 +6205,11 @@ packages: serialize-error: 7.0.1 transitivePeerDependencies: - encoding + dev: false /@transmute/revocation-list-context@0.7.0-unstable.80: resolution: {integrity: sha512-rcvGRs8NmiRha56ls1Kbn9NrxYdvcY9E6sxWtZxs1uzjEcshnlj0KMizHZ3AlrUPiP1tGjgi1dAXRUz90TKAuA==} + dev: false /@transmute/secp256k1-key-pair@0.7.0-unstable.80: resolution: {integrity: sha512-tPq00bzqfMKgk6YYEqtSU1p+702j7VV37XLFlwMSSDK18JgVoQlp3ULZddEeFajbXQgX8N6yq6jlDUdXLW27bA==} @@ -5921,6 +6221,7 @@ packages: /@transmute/security-context@0.0.4-unstable.2: resolution: {integrity: sha512-4Z+GvyADU2ol78mrngn6zMHG7bvhEwCs2acNczavtwQR2S5Zkhg9P4ndeDA0PlOgZpaTQY6tnWp2XMcBKxXzhg==} + dev: false /@transmute/security-context@0.6.1-unstable.37: resolution: {integrity: sha512-GtLmG65qlORrz/2S4I74DT+vA4+qXsFxrMr0cNOXjUqZBd/AW1PTrFnryLF9907BfoiD58HC9qb1WVGWjSlBYw==} @@ -5942,6 +6243,7 @@ packages: '@transmute/vc.js': 0.7.0-unstable.80 transitivePeerDependencies: - encoding + dev: false /@transmute/vc.js@0.7.0-unstable.80: resolution: {integrity: sha512-J3Fpvo+67nflpF06OmUmIy70Em+s837ZmbLWsN467Tw6k+VVEB2G7HNGzXHood+BOovYCYmn0rso3wWp39DySw==} @@ -5955,6 +6257,7 @@ packages: moment: 2.29.4 transitivePeerDependencies: - encoding + dev: false /@transmute/web-crypto-key-pair@0.7.0-unstable.80: resolution: {integrity: sha512-k7kV3DPZoIoLSItnU9qHOBebMhem2y6Qay8JSgS+QTsEf4sGMNl3Unm560I9aocvdlurMTwQmgCfwPJ8WFQYaQ==} @@ -6034,33 +6337,33 @@ packages: resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} dev: true - /@types/babel__core@7.20.0: - resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} + /@types/babel__core@7.20.1: + resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} dependencies: - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 + '@babel/parser': 7.22.5 + '@babel/types': 7.22.5 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.18.5 + '@types/babel__traverse': 7.20.1 dev: true /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 + '@babel/parser': 7.22.5 + '@babel/types': 7.22.5 dev: true - /@types/babel__traverse@7.18.5: - resolution: {integrity: sha512-enCvTL8m/EHS/zIvJno9nE+ndYPh1/oNFzRYRmtUqJICG2VnCSBzMLW5VN2KCQU91f23tsNKR8v7VJJQMatl7Q==} + /@types/babel__traverse@7.20.1: + resolution: {integrity: sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==} dependencies: - '@babel/types': 7.21.5 + '@babel/types': 7.22.5 dev: true /@types/body-parser@1.19.2: @@ -6184,8 +6487,8 @@ packages: resolution: {integrity: sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==} dev: true - /@types/json-schema@7.0.11: - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} @@ -6247,8 +6550,8 @@ packages: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true - /@types/prettier@2.7.2: - resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + /@types/prettier@2.7.3: + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} dev: true /@types/prop-types@15.7.5: @@ -6277,10 +6580,6 @@ packages: csstype: 3.1.2 dev: true - /@types/retry@0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - dev: true - /@types/scheduler@0.16.3: resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} dev: true @@ -6306,8 +6605,8 @@ packages: /@types/stack-utils@2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - /@types/testing-library__jest-dom@5.14.5: - resolution: {integrity: sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==} + /@types/testing-library__jest-dom@5.14.6: + resolution: {integrity: sha512-FkHXCb+ikSoUP4Y4rOslzTdX5sqYwMxfefKh1GmZ8ce1GOkEHntSp6b5cGadmNfp5e4BMEWOMx+WSKd5/MqlDA==} dependencies: '@types/jest': 27.5.2 dev: true @@ -6331,6 +6630,7 @@ packages: /@types/validator@13.7.17: resolution: {integrity: sha512-aqayTNmeWrZcvnG2MG9eGYI6b7S5fl+yKgPs6bAjOTwPS316R5SxBGKvtSExfyoJU7pIeHJfsHI0Ji41RVMkvQ==} + dev: false /@types/yargs-parser@21.0.0: resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} @@ -6409,7 +6709,7 @@ packages: peerDependencies: eslint: '*' dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.12 '@typescript-eslint/scope-manager': 4.31.1 '@typescript-eslint/types': 4.31.1 '@typescript-eslint/typescript-estree': 4.31.1(typescript@4.9.5) @@ -6556,7 +6856,7 @@ packages: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.35.0) - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.59.2 '@typescript-eslint/types': 5.59.2 @@ -6740,7 +7040,7 @@ packages: - utf-8-validate dev: true - /@veramo/did-provider-ion@4.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.8): + /@veramo/did-provider-ion@4.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.10): resolution: {integrity: sha512-Fo5L7wd587ohFXEYbRb2a8H7n8RjqcCyc2KABrCkmHi5rdhuOf3/3k5RqJ6xtFq76NBwb9UMtNt9spm7aFrIFg==} peerDependencies: '@sphereon/react-native-argon2': ^2.0.7 @@ -6748,8 +7048,8 @@ packages: '@decentralized-identity/ion-sdk': 0.6.0 '@ethersproject/random': 5.7.0 '@ethersproject/signing-key': 5.7.0 - '@sphereon/ion-pow': 0.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.8) - '@sphereon/react-native-argon2': 2.0.9(react-native@0.71.8) + '@sphereon/ion-pow': 0.2.0(@sphereon/react-native-argon2@2.0.9)(react-native@0.71.10) + '@sphereon/react-native-argon2': 2.0.9(react-native@0.71.10) '@stablelib/ed25519': 1.0.3 '@trust/keyto': 1.0.1 '@veramo/core': 4.2.0(patch_hash=c5oempznsz4br5w3tcuk2i2mau) @@ -6920,20 +7220,20 @@ packages: web-streams-polyfill: 3.2.1 dev: true - /@xmldom/xmldom@0.7.10: - resolution: {integrity: sha512-hb9QhOg5MGmpVkFcoZ9XJMe1em5gd0e2eqqjK87O1dwULedXsnY/Zg/Ju6lcohA+t6jVkmKpe7I1etqhvdRdrQ==} + /@xmldom/xmldom@0.7.11: + resolution: {integrity: sha512-UDi3g6Jss/W5FnSzO9jCtQwEpfymt0M+sPPlmLhDH6h2TJ8j4ESE/LpmNPBij15J5NKkk4/cg/qoVMdWI3vnlQ==} engines: {node: '>=10.0.0'} /@yarnpkg/lockfile@1.1.0: resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} dev: true - /@yarnpkg/parsers@3.0.0-rc.44: - resolution: {integrity: sha512-UVAt9Icc8zfGXioeYJ8XMoSTxOYVmlal2TRNxy9Uh91taS72kQFalK7LpIslcvEBKy4XtarmfIwcFIU3ZY64lw==} + /@yarnpkg/parsers@3.0.0-rc.45: + resolution: {integrity: sha512-Aj0aHBV/crFQTpKQvL6k1xNiOhnlfVLu06LunelQAvl1MTeWrSi8LD9UJJDCFJiG4kx8NysUE6Tx0KZyPQUzIw==} engines: {node: '>=14.15.0'} dependencies: js-yaml: 3.14.1 - tslib: 2.5.2 + tslib: 2.5.3 dev: true /@zkochan/js-yaml@0.0.6: @@ -7050,6 +7350,15 @@ packages: transitivePeerDependencies: - supports-color + /agent-base@7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /agentkeepalive@4.3.0: resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} engines: {node: '>= 8.0.0'} @@ -7115,7 +7424,7 @@ packages: resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} engines: {node: '>=14.16'} dependencies: - type-fest: 3.11.0 + type-fest: 3.11.1 /ansi-fragments@0.2.1: resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} @@ -7373,7 +7682,7 @@ packages: dependencies: pvtsutils: 1.3.2 pvutils: 1.1.3 - tslib: 2.5.2 + tslib: 2.5.3 /assign-symbols@1.0.0: resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} @@ -7383,7 +7692,7 @@ packages: resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} engines: {node: '>=4'} dependencies: - tslib: 2.5.2 + tslib: 2.5.3 /astral-regex@1.0.0: resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} @@ -7444,25 +7753,25 @@ packages: dependencies: b64-lite: 1.4.0 - /babel-core@7.0.0-bridge.0(@babel/core@7.21.8): + /babel-core@7.0.0-bridge.0(@babel/core@7.22.5): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.5 - /babel-jest@27.5.1(@babel/core@7.21.8): + /babel-jest@27.5.1(@babel/core@7.22.5): resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.5 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__core': 7.20.0 + '@types/babel__core': 7.20.1 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.5.1(@babel/core@7.21.8) + babel-preset-jest: 27.5.1(@babel/core@7.22.5) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -7474,7 +7783,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-plugin-utils': 7.22.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -7487,10 +7796,10 @@ packages: resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.5 - '@types/babel__core': 7.20.0 - '@types/babel__traverse': 7.18.5 + '@babel/template': 7.22.5 + '@babel/types': 7.22.5 + '@types/babel__core': 7.20.1 + '@types/babel__traverse': 7.20.1 dev: true /babel-plugin-module-resolver@4.1.0: @@ -7503,36 +7812,36 @@ packages: reselect: 4.1.8 resolve: 1.22.2 - /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.8): - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + /babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.22.5): + resolution: {integrity: sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.7 - '@babel/core': 7.21.8 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8) + '@babel/compat-data': 7.22.5 + '@babel/core': 7.22.5 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) semver: 6.3.0 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.8): - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + /babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.22.5): + resolution: {integrity: sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) core-js-compat: 3.30.2 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.8): - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + /babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.22.5): + resolution: {integrity: sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.5) transitivePeerDependencies: - supports-color @@ -7542,85 +7851,85 @@ packages: /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.21.8): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.5): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.8 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.8) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.8) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.8) - dev: true - - /babel-preset-expo@9.3.2(@babel/core@7.21.8): + '@babel/core': 7.22.5 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.5) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.5) + dev: true + + /babel-preset-expo@9.3.2(@babel/core@7.22.5): resolution: {integrity: sha512-BjyvjwjJG0MaaDBLP/esbXRrAItM76po9L9zfnLxeqgFsHCIPmD+6ir45coDLGAXwR8m9It3G1yqYM9JPyemsQ==} dependencies: - '@babel/plugin-proposal-decorators': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.21.8) - '@babel/preset-env': 7.21.5(@babel/core@7.21.8) + '@babel/plugin-proposal-decorators': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.5) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/preset-env': 7.22.5(@babel/core@7.22.5) babel-plugin-module-resolver: 4.1.0 babel-plugin-react-native-web: 0.18.12 - metro-react-native-babel-preset: 0.73.9(@babel/core@7.21.8) + metro-react-native-babel-preset: 0.73.9(@babel/core@7.22.5) transitivePeerDependencies: - '@babel/core' - supports-color - /babel-preset-fbjs@3.4.0(@babel/core@7.21.8): + /babel-preset-fbjs@3.4.0(@babel/core@7.22.5): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.8 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.8) - '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.8) - '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.21.8) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.8) - '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.5) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.5) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 transitivePeerDependencies: - supports-color - /babel-preset-jest@27.5.1(@babel/core@7.21.8): + /babel-preset-jest@27.5.1(@babel/core@7.22.5): resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.5 babel-plugin-jest-hoist: 27.5.1 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) dev: true /balanced-match@1.0.2: @@ -7796,6 +8105,25 @@ packages: transitivePeerDependencies: - supports-color + /body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.2 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + /borc@2.1.2: resolution: {integrity: sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==} engines: {node: '>=4'} @@ -7807,6 +8135,7 @@ packages: iso-url: 0.4.7 json-text-sequence: 0.1.1 readable-stream: 3.6.2 + dev: false /bottleneck@2.19.5: resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} @@ -7881,15 +8210,15 @@ packages: safe-buffer: 5.2.1 dev: true - /browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + /browserslist@4.21.7: + resolution: {integrity: sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001488 - electron-to-chromium: 1.4.402 - node-releases: 2.0.11 - update-browserslist-db: 1.0.11(browserslist@4.21.5) + caniuse-lite: 1.0.30001497 + electron-to-chromium: 1.4.427 + node-releases: 2.0.12 + update-browserslist-db: 1.0.11(browserslist@4.21.7) /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -8027,7 +8356,7 @@ packages: dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.2 - glob: 10.2.6 + glob: 10.2.7 lru-cache: 7.18.3 minipass: 5.0.0 minipass-collect: 1.0.2 @@ -8111,8 +8440,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - /caniuse-lite@1.0.30001488: - resolution: {integrity: sha512-NORIQuuL4xGpIy6iCCQGN4iFjlBXtfKWIenlUuyZJumLRIindLb7wXM+GO8erEhb7vXfcnf4BAg2PrSDN5TNLQ==} + /caniuse-lite@1.0.30001497: + resolution: {integrity: sha512-I4/duVK4wL6rAK/aKZl3HXB4g+lIZvaT4VLAn2rCgJ38jVLb0lv2Xug6QuqmxXFVRJMF74SPPWPJ/1Sdm3vCzw==} /canonicalize@1.0.1: resolution: {integrity: sha512-N3cmB3QLhS5TJ5smKFf1w42rJXWe6C1qP01z4dxJiI5v269buii4fLHWETDyf7yEd0azGLNC63VxNMiPd2u0Cg==} @@ -8138,6 +8467,7 @@ packages: dependencies: bignumber.js: 9.1.1 nofilter: 1.0.4 + dev: false /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -8223,8 +8553,9 @@ packages: resolution: {integrity: sha512-ct3ltplN8I9fOwUd8GrP8UQixwff129BkEtuWDKL5W45cQuLd19xqmTLu5ge78YDm/fdje6FMt0hGOhl0lii3A==} dependencies: '@types/validator': 13.7.17 - libphonenumber-js: 1.10.30 + libphonenumber-js: 1.10.34 validator: 13.9.0 + dev: false /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} @@ -8677,6 +9008,14 @@ packages: cookie-signature: 1.0.6 dev: false + /cookie-parser@1.4.6: + resolution: {integrity: sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==} + engines: {node: '>= 0.8.0'} + dependencies: + cookie: 0.4.1 + cookie-signature: 1.0.6 + dev: false + /cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -8713,7 +9052,7 @@ packages: /core-js-compat@3.30.2: resolution: {integrity: sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==} dependencies: - browserslist: 4.21.5 + browserslist: 4.21.7 /core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} @@ -8796,6 +9135,13 @@ packages: transitivePeerDependencies: - encoding + /cross-fetch@3.1.6: + resolution: {integrity: sha512-riRvo06crlE8HiqOwIpQhxwdOk4fOeR7FVM/wXoxchFEqMNUjvbs3bfo4OTgMEMHzppd4DxFBDbyySj8Cv781g==} + dependencies: + node-fetch: 2.6.11 + transitivePeerDependencies: + - encoding + /cross-spawn@6.0.5: resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} engines: {node: '>=4.8'} @@ -8923,14 +9269,14 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.21.5 + '@babel/runtime': 7.22.5 /dateformat@3.0.3: resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} dev: true - /dayjs@1.11.7: - resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} + /dayjs@1.11.8: + resolution: {integrity: sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==} /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} @@ -9095,6 +9441,7 @@ packages: /delimit-stream@0.1.0: resolution: {integrity: sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==} + dev: false /denodeify@1.2.1: resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} @@ -9145,6 +9492,7 @@ packages: /did-context@3.1.1: resolution: {integrity: sha512-iFpszgSxc7d1kNBJWC+PAzNTpe5LPalzsIunTMIpbG3O37Q7Zi7u4iIaedaM7UhziBhT+Agr9DyvAiXSUyfepQ==} + dev: false /did-jwt-vc@3.1.3: resolution: {integrity: sha512-qB1FiQ0sT/FUR5+mQ//P5lS0Gllrtes2OxC3WVMOt8ND0LolF92ohozv50ukyOvB2zBzgfm5durcIPqQcoI+LA==} @@ -9249,8 +9597,8 @@ packages: engines: {node: '>=10'} dev: true - /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + /dotenv@16.1.4: + resolution: {integrity: sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==} engines: {node: '>=12'} /dotenv@8.6.0: @@ -9300,11 +9648,11 @@ packages: engines: {node: '>=0.10.0'} hasBin: true dependencies: - jake: 10.8.6 + jake: 10.8.7 dev: true - /electron-to-chromium@1.4.402: - resolution: {integrity: sha512-gWYvJSkohOiBE6ecVYXkrDgNaUjo47QEKK0kQzmWyhkH+yoYiG44bwuicTGNSIQRG3WDMsWVZJLRnJnLNkbWvA==} + /electron-to-chromium@1.4.427: + resolution: {integrity: sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==} /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} @@ -9344,8 +9692,8 @@ packages: dependencies: once: 1.4.0 - /enhanced-resolve@5.14.0: - resolution: {integrity: sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==} + /enhanced-resolve@5.14.1: + resolution: {integrity: sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 @@ -9749,7 +10097,7 @@ packages: dependencies: '@eslint/eslintrc': 2.0.3 '@eslint/js': 8.35.0 - '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -9775,7 +10123,7 @@ packages: imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.4.0 + js-sdsl: 4.4.1 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -10016,19 +10364,19 @@ packages: jest-message-util: 27.5.1 dev: true - /expo-application@5.1.1(expo@48.0.17): + /expo-application@5.1.1(expo@48.0.19): resolution: {integrity: sha512-aDatTcTTCdTbHw8h4/Tq2ilc6InM5ntF9xWCJdOcnUEcglxxGphVI/lzJKBaBF6mJECA8mEOjpVg2EGxOctTwg==} peerDependencies: expo: '*' dependencies: - expo: 48.0.17(@babel/core@7.21.8) + expo: 48.0.19(@babel/core@7.22.5) - /expo-asset@8.9.1(expo@48.0.17): + /expo-asset@8.9.1(expo@48.0.19): resolution: {integrity: sha512-ugavxA7Scn96TBdeTYQA6xtHktnk0o/0xk7nFkxJKoH/t2cZDFSB05X0BI2/LDZY4iE6xTPOYw4C4mmourWfuA==} dependencies: blueimp-md5: 2.19.0 - expo-constants: 14.2.1(expo@48.0.17) - expo-file-system: 15.2.2(expo@48.0.17) + expo-constants: 14.2.1(expo@48.0.19) + expo-file-system: 15.2.2(expo@48.0.19) invariant: 2.2.4 md5-file: 3.2.3 path-browserify: 1.0.1 @@ -10037,47 +10385,47 @@ packages: - expo - supports-color - /expo-constants@14.2.1(expo@48.0.17): + /expo-constants@14.2.1(expo@48.0.19): resolution: {integrity: sha512-DD5u4QmBds2U7uYo409apV7nX+XjudARcgqe7S9aRFJ/6kyftmuxvk1DpaU4X42Av8z/tfKwEpuxl+vl7HHx/Q==} peerDependencies: expo: '*' dependencies: '@expo/config': 8.0.2 - expo: 48.0.17(@babel/core@7.21.8) + expo: 48.0.19(@babel/core@7.22.5) uuid: 3.4.0 transitivePeerDependencies: - supports-color - /expo-crypto@12.2.2(expo@48.0.17): + /expo-crypto@12.2.2(expo@48.0.19): resolution: {integrity: sha512-83SZju/l0UL4n+Dgt+T1csiySa0gwCeE6BKKHzlO+4lJ6B8xXZ5ypu97ttWATBsqcpF/bj1RmYPbfbKsZ+4ixA==} peerDependencies: expo: '*' dependencies: base64-js: 1.5.1 - expo: 48.0.17(@babel/core@7.21.8) + expo: 48.0.19(@babel/core@7.22.5) - /expo-file-system@15.2.2(expo@48.0.17): + /expo-file-system@15.2.2(expo@48.0.19): resolution: {integrity: sha512-LFkOLcWwlmnjkURxZ3/0ukS35OswX8iuQknLHRHeyk8mUA8fpRPPelD/a1lS+yclqfqavMJmTXVKM1Nsq5XVMA==} peerDependencies: expo: '*' dependencies: - expo: 48.0.17(@babel/core@7.21.8) + expo: 48.0.19(@babel/core@7.22.5) uuid: 3.4.0 - /expo-font@11.1.1(expo@48.0.17): + /expo-font@11.1.1(expo@48.0.19): resolution: {integrity: sha512-X+aICqYY69hiiDDtcNrjq8KutHrH2TrHuMqk0Rfq0P7hF6hMd+YefwLBNkvIrqrgmTAuqiLjMUwj2rHLqmgluw==} peerDependencies: expo: '*' dependencies: - expo: 48.0.17(@babel/core@7.21.8) + expo: 48.0.19(@babel/core@7.22.5) fontfaceobserver: 2.3.0 - /expo-keep-awake@12.0.1(expo@48.0.17): + /expo-keep-awake@12.0.1(expo@48.0.19): resolution: {integrity: sha512-hqeCnb4033TyuZaXs93zTK7rjVJ3bywXATyMmKmKkLEsH2PKBAl/VmjlCOPQL/2Ncqz6aj7Wo//tjeJTARBD4g==} peerDependencies: expo: '*' dependencies: - expo: 48.0.17(@babel/core@7.21.8) + expo: 48.0.19(@babel/core@7.22.5) /expo-modules-autolinking@1.2.0: resolution: {integrity: sha512-QOPh/iXykNDCAzUual1imSrn2aDakzCGUp2QmxVREr0llajXygroUWlT9sQXh1zKzbNp+a+i/xK375ZeBFiNJA==} @@ -10095,23 +10443,23 @@ packages: compare-versions: 3.6.0 invariant: 2.2.4 - /expo@48.0.17(@babel/core@7.21.8): - resolution: {integrity: sha512-5T1CsMUlfI+xFB89GOU+/xtSSbSBBFVTqwgheAU0cQolfbs+YyJCMTKU5vN45N5OK+ym7p/LKPa6DQAxYPF8YQ==} + /expo@48.0.19(@babel/core@7.22.5): + resolution: {integrity: sha512-Pmz2HEwcDdjWPq5fM3vF++je0hjZIBX9aTZEkm6sBv09Vfhe4+CuiuKDq3iE+N6G9l2+eFYoRCApDwLqcRMiPA==} hasBin: true dependencies: - '@babel/runtime': 7.21.5 - '@expo/cli': 0.7.1(expo-modules-autolinking@1.2.0) + '@babel/runtime': 7.22.5 + '@expo/cli': 0.7.3(expo-modules-autolinking@1.2.0) '@expo/config': 8.0.2 '@expo/config-plugins': 6.0.2 '@expo/vector-icons': 13.0.0 - babel-preset-expo: 9.3.2(@babel/core@7.21.8) + babel-preset-expo: 9.3.2(@babel/core@7.22.5) cross-spawn: 6.0.5 - expo-application: 5.1.1(expo@48.0.17) - expo-asset: 8.9.1(expo@48.0.17) - expo-constants: 14.2.1(expo@48.0.17) - expo-file-system: 15.2.2(expo@48.0.17) - expo-font: 11.1.1(expo@48.0.17) - expo-keep-awake: 12.0.1(expo@48.0.17) + expo-application: 5.1.1(expo@48.0.19) + expo-asset: 8.9.1(expo@48.0.19) + expo-constants: 14.2.1(expo@48.0.19) + expo-file-system: 15.2.2(expo@48.0.19) + expo-font: 11.1.1(expo@48.0.19) + expo-keep-awake: 12.0.1(expo@48.0.19) expo-modules-autolinking: 1.2.0 expo-modules-core: 1.2.7 fbemitter: 3.0.0 @@ -10232,6 +10580,7 @@ packages: dependencies: clone-deep: 4.0.1 source-map-support: 0.5.21 + dev: false /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -10275,8 +10624,8 @@ packages: punycode: 1.4.1 dev: true - /fast-xml-parser@4.2.2: - resolution: {integrity: sha512-DLzIPtQqmvmdq3VUKR7T6omPK/VCRNqgFlGtbESfyhcH2R4I8EzK1/K6E8PkRCK2EabWrUHK32NjYRbEFnnz0Q==} + /fast-xml-parser@4.2.4: + resolution: {integrity: sha512-fbfMDvgBNIdDJLdLOwacjFAPYt67tr31H9ZhWSm45CDAxvd0I6WTlSOUo7K2P/K5sA5JgMKG64PI3DMcaFdWpQ==} hasBin: true dependencies: strnum: 1.0.5 @@ -10294,23 +10643,23 @@ packages: /fbemitter@3.0.0: resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} dependencies: - fbjs: 3.0.4 + fbjs: 3.0.5 transitivePeerDependencies: - encoding /fbjs-css-vars@1.0.2: resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} - /fbjs@3.0.4: - resolution: {integrity: sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==} + /fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} dependencies: - cross-fetch: 3.1.5 + cross-fetch: 3.1.6 fbjs-css-vars: 1.0.2 loose-envify: 1.4.0 object-assign: 4.1.1 promise: 7.3.1 setimmediate: 1.0.5 - ua-parser-js: 0.7.35 + ua-parser-js: 1.0.35 transitivePeerDependencies: - encoding @@ -10619,7 +10968,7 @@ packages: engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 @@ -10727,6 +11076,7 @@ packages: /genson-js@0.0.5: resolution: {integrity: sha512-1i1y9MIGzTRkn4TusWQwLWLu8IJGHgSE+fbQRt1fy68ZKEq2GjDZI/7NUSZFOfTbHz8bgjP4iCIOcdYrgEsMBA==} + dev: false /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} @@ -10885,8 +11235,8 @@ packages: is-glob: 4.0.3 dev: true - /glob@10.2.6: - resolution: {integrity: sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==} + /glob@10.2.7: + resolution: {integrity: sha512-jTKehsravOJo8IJxUGfZILnkvVJM/MOfHRs8QcXolVef2zNI9Tqyy5+SeuOAZd3upViEZQLyFpQhYiHLrMUNmA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: @@ -10913,7 +11263,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.5 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -11002,7 +11352,6 @@ packages: /graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -11018,7 +11367,7 @@ packages: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: graphql: 15.8.0 - tslib: 2.5.2 + tslib: 2.5.3 /graphql@15.8.0: resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} @@ -11244,6 +11593,16 @@ packages: - supports-color dev: true + /http-proxy-agent@7.0.0: + resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /http2-client@1.3.5: resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} @@ -11256,6 +11615,16 @@ packages: transitivePeerDependencies: - supports-color + /https-proxy-agent@7.0.0: + resolution: {integrity: sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /human-signals@1.1.1: resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} engines: {node: '>=8.12.0'} @@ -11493,7 +11862,7 @@ packages: run-async: 2.4.1 rxjs: 7.8.1 string-width: 5.1.2 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 through: 2.3.8 wrap-ansi: 8.1.0 dev: false @@ -11907,6 +12276,7 @@ packages: /iso-url@0.4.7: resolution: {integrity: sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==} engines: {node: '>=10'} + dev: false /isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} @@ -11938,8 +12308,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.21.8 - '@babel/parser': 7.21.8 + '@babel/core': 7.22.5 + '@babel/parser': 7.22.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -11984,8 +12354,8 @@ packages: '@pkgjs/parseargs': 0.11.0 dev: true - /jake@10.8.6: - resolution: {integrity: sha512-G43Ub9IYEFfu72sua6rzooi8V8Gz2lkfk48rW20vEWCGizeaEPlKB1Kh8JIA84yQbiAEfqlPmSpGgCKKxH3rDA==} + /jake@10.8.7: + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} engines: {node: '>=10'} hasBin: true dependencies: @@ -12075,10 +12445,10 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.5 '@jest/test-sequencer': 27.5.1 '@jest/types': 27.5.1 - babel-jest: 27.5.1(@babel/core@7.21.8) + babel-jest: 27.5.1(@babel/core@7.22.5) chalk: 4.1.2 ci-info: 3.8.0 deepmerge: 4.3.1 @@ -12261,7 +12631,7 @@ packages: resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.22.5 '@jest/types': 27.5.1 '@types/stack-utils': 2.0.1 chalk: 4.1.2 @@ -12276,7 +12646,7 @@ packages: resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.22.5 '@jest/types': 29.5.0 '@types/stack-utils': 2.0.1 chalk: 4.1.2 @@ -12418,16 +12788,16 @@ packages: resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} dependencies: - '@babel/core': 7.21.8 - '@babel/generator': 7.21.5 - '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.21.8) - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 + '@babel/core': 7.22.5 + '@babel/generator': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/traverse': 7.22.5 + '@babel/types': 7.22.5 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/babel__traverse': 7.18.5 - '@types/prettier': 2.7.2 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.21.8) + '@types/babel__traverse': 7.20.1 + '@types/prettier': 2.7.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.5) chalk: 4.1.2 expect: 27.5.1 graceful-fs: 4.2.11 @@ -12553,8 +12923,8 @@ packages: /jose@4.14.4: resolution: {integrity: sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==} - /js-sdsl@4.4.0: - resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + /js-sdsl@4.4.1: + resolution: {integrity: sha512-6Gsx8R0RucyePbWqPssR8DyfuXmLBooYN5cZFZKjHGnQuaf7pEzhtpceagJxVu4LqhYY5EYA7nko3FmeHZ1KbA==} dev: true /js-sha256@0.9.0: @@ -12583,23 +12953,23 @@ packages: /jsc-android@250231.0.0: resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} - /jscodeshift@0.13.1(@babel/preset-env@7.21.5): + /jscodeshift@0.13.1(@babel/preset-env@7.22.5): resolution: {integrity: sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==} hasBin: true peerDependencies: '@babel/preset-env': ^7.1.6 dependencies: - '@babel/core': 7.21.8 - '@babel/parser': 7.21.8 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) - '@babel/preset-env': 7.21.5(@babel/core@7.21.8) - '@babel/preset-flow': 7.21.4(@babel/core@7.21.8) - '@babel/preset-typescript': 7.21.5(@babel/core@7.21.8) - '@babel/register': 7.21.0(@babel/core@7.21.8) - babel-core: 7.0.0-bridge.0(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/parser': 7.22.5 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.5) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) + '@babel/preset-env': 7.22.5(@babel/core@7.22.5) + '@babel/preset-flow': 7.22.5(@babel/core@7.22.5) + '@babel/preset-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/register': 7.22.5(@babel/core@7.22.5) + babel-core: 7.0.0-bridge.0(@babel/core@7.22.5) chalk: 4.1.2 flow-parser: 0.185.2 graceful-fs: 4.2.11 @@ -12635,11 +13005,11 @@ packages: http-proxy-agent: 4.0.1 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.4 + nwsapi: 2.2.5 parse5: 6.0.1 saxes: 5.0.1 symbol-tree: 3.2.4 - tough-cookie: 4.1.2 + tough-cookie: 4.1.3 w3c-hr-time: 1.0.2 w3c-xmlserializer: 2.0.0 webidl-conversions: 6.1.0 @@ -12677,11 +13047,11 @@ packages: http-proxy-agent: 5.0.0 https-proxy-agent: 5.0.1 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.4 + nwsapi: 2.2.5 parse5: 7.1.2 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.2 + tough-cookie: 4.1.3 w3c-xmlserializer: 4.0.0 webidl-conversions: 7.0.0 whatwg-encoding: 2.0.0 @@ -12772,6 +13142,7 @@ packages: resolution: {integrity: sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==} dependencies: delimit-stream: 0.1.0 + dev: false /json5@0.5.1: resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==} @@ -12784,6 +13155,13 @@ packages: minimist: 1.2.8 dev: true + /json5@2.2.0: + resolution: {integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + minimist: 1.2.8 + /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -12836,6 +13214,7 @@ packages: node-forge: 0.10.0 security-context: 4.0.0 serialize-error: 5.0.0 + dev: false /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} @@ -13128,8 +13507,9 @@ packages: - supports-color dev: true - /libphonenumber-js@1.10.30: - resolution: {integrity: sha512-PLGc+xfrQrkya/YK2/5X+bPpxRmyJBHM+xxz9krUdSgk4Vs2ZwxX5/Ow0lv3r9PDlDtNWb4u+it8MY5rZ0IyGw==} + /libphonenumber-js@1.10.34: + resolution: {integrity: sha512-p6g4NaQH4gK1gre32+kV14Mk6GPo2EDcPDvjbi+D2ycsPFsN4gVWNbs0itdHLZqByg6YEK8mE7OeP200I/ScTQ==} + dev: false /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -13153,7 +13533,7 @@ packages: resolution: {integrity: sha512-gUD/epcRms75Cw8RT1pUdHugZYM5ce64ucs2GEISABwkRsOQr0q2wm/MV2TKThycIe5e0ytRweW2RZxclogCdQ==} engines: {node: '>=8'} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 parse-json: 5.2.0 strip-bom: 4.0.0 type-fest: 0.6.0 @@ -13266,7 +13646,7 @@ packages: hasBin: true dependencies: ansi-fragments: 0.2.1 - dayjs: 1.11.7 + dayjs: 1.11.8 yargs: 15.4.1 /long@4.0.0: @@ -13303,8 +13683,8 @@ packages: engines: {node: '>=12'} dev: true - /lru-cache@9.1.1: - resolution: {integrity: sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==} + /lru-cache@9.1.2: + resolution: {integrity: sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==} engines: {node: 14 || >=16.14} dev: true @@ -13541,7 +13921,7 @@ packages: redent: 3.0.0 trim-newlines: 3.0.1 type-fest: 0.18.1 - yargs-parser: 20.2.9 + yargs-parser: 20.2.4 dev: true /merge-descriptors@1.0.1: @@ -13561,7 +13941,7 @@ packages: /metro-babel-transformer@0.73.9: resolution: {integrity: sha512-DlYwg9wwYIZTHtic7dyD4BP0SDftoltZ3clma76nHu43blMWsCnrImHeHsAVne3XsQ+RJaSRxhN5nkG2VyVHwA==} dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.5 hermes-parser: 0.8.0 metro-source-map: 0.73.9 nullthrows: 1.1.1 @@ -13638,69 +14018,69 @@ packages: /metro-minify-terser@0.73.9: resolution: {integrity: sha512-MTGPu2qV5qtzPJ2SqH6s58awHDtZ4jd7lmmLR+7TXDwtZDjIBA0YVfI0Zak2Haby2SqoNKrhhUns/b4dPAQAVg==} dependencies: - terser: 5.17.4 + terser: 5.17.7 /metro-minify-uglify@0.73.9: resolution: {integrity: sha512-gzxD/7WjYcnCNGiFJaA26z34rjOp+c/Ft++194Wg91lYep3TeWQ0CnH8t2HRS7AYDHU81SGWgvD3U7WV0g4LGA==} dependencies: uglify-es: 3.3.9 - /metro-react-native-babel-preset@0.73.9(@babel/core@7.21.8): + /metro-react-native-babel-preset@0.73.9(@babel/core@7.22.5): resolution: {integrity: sha512-AoD7v132iYDV4K78yN2OLgTPwtAKn0XlD2pOhzyBxiI8PeXzozhbKyPV7zUOJUPETj+pcEVfuYj5ZN/8+bhbCw==} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.21.8 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-export-default-from': 7.18.10(@babel/core@7.21.8) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-export-default-from': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-syntax-flow': 7.21.4(@babel/core@7.21.8) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.8) - '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.21.8) - '@babel/plugin-transform-flow-strip-types': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.8) - '@babel/plugin-transform-parameters': 7.21.3(@babel/core@7.21.8) - '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-react-jsx': 7.21.5(@babel/core@7.21.8) - '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.21.8) - '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.8) - '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.8) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.8) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.8) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.8) - '@babel/plugin-transform-typescript': 7.21.3(@babel/core@7.21.8) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.8) - '@babel/template': 7.20.7 + '@babel/core': 7.22.5 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.22.5) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-proposal-export-default-from': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.5) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.22.5) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.22.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-export-default-from': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-runtime': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.22.5) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.22.5) + '@babel/template': 7.22.5 react-refresh: 0.4.3 transitivePeerDependencies: - supports-color - /metro-react-native-babel-transformer@0.73.9(@babel/core@7.21.8): + /metro-react-native-babel-transformer@0.73.9(@babel/core@7.22.5): resolution: {integrity: sha512-DSdrEHuQ22ixY7DyipyKkIcqhOJrt5s6h6X7BYJCP9AMUfXOwLe2biY3BcgJz5GOXv8/Akry4vTCvQscVS1otQ==} peerDependencies: '@babel/core': '*' dependencies: - '@babel/core': 7.21.8 - babel-preset-fbjs: 3.4.0(@babel/core@7.21.8) + '@babel/core': 7.22.5 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.5) hermes-parser: 0.8.0 metro-babel-transformer: 0.73.9 - metro-react-native-babel-preset: 0.73.9(@babel/core@7.21.8) + metro-react-native-babel-preset: 0.73.9(@babel/core@7.22.5) metro-source-map: 0.73.9 nullthrows: 1.1.1 transitivePeerDependencies: @@ -13714,14 +14094,14 @@ packages: /metro-runtime@0.73.9: resolution: {integrity: sha512-d5Hs83FpKB9r8q8Vb95+fa6ESpwysmPr4lL1I2rM2qXAFiO7OAPT9Bc23WmXgidkBtD0uUFdB2lG+H1ATz8rZg==} dependencies: - '@babel/runtime': 7.21.5 + '@babel/runtime': 7.22.5 react-refresh: 0.4.3 /metro-source-map@0.73.9: resolution: {integrity: sha512-l4VZKzdqafipriETYR6lsrwtavCF1+CMhCOY9XbyWeTrpGSNgJQgdeJpttzEZTHQQTLR0csQo0nD1ef3zEP6IQ==} dependencies: - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 + '@babel/traverse': 7.22.5 + '@babel/types': 7.22.5 invariant: 2.2.4 metro-symbolicate: 0.73.9 nullthrows: 1.1.1 @@ -13748,10 +14128,10 @@ packages: /metro-transform-plugins@0.73.9: resolution: {integrity: sha512-r9NeiqMngmooX2VOKLJVQrMuV7PAydbqst5bFhdVBPcFpZkxxqyzjzo+kzrszGy2UpSQBZr2P1L6OMjLHwQwfQ==} dependencies: - '@babel/core': 7.21.8 - '@babel/generator': 7.21.5 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 + '@babel/core': 7.22.5 + '@babel/generator': 7.22.5 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.5 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color @@ -13759,11 +14139,11 @@ packages: /metro-transform-worker@0.73.9: resolution: {integrity: sha512-Rq4b489sIaTUENA+WCvtu9yvlT/C6zFMWhU4sq+97W29Zj0mPBjdk+qGT5n1ZBgtBIJzZWt1KxeYuc17f4aYtQ==} dependencies: - '@babel/core': 7.21.8 - '@babel/generator': 7.21.5 - '@babel/parser': 7.21.8 - '@babel/types': 7.21.5 - babel-preset-fbjs: 3.4.0(@babel/core@7.21.8) + '@babel/core': 7.22.5 + '@babel/generator': 7.22.5 + '@babel/parser': 7.22.5 + '@babel/types': 7.22.5 + babel-preset-fbjs: 3.4.0(@babel/core@7.22.5) metro: 0.73.9 metro-babel-transformer: 0.73.9 metro-cache: 0.73.9 @@ -13782,13 +14162,13 @@ packages: resolution: {integrity: sha512-BlYbPmTF60hpetyNdKhdvi57dSqutb+/oK0u3ni4emIh78PiI0axGo7RfdsZ/mn3saASXc94tDbpC5yn7+NpEg==} hasBin: true dependencies: - '@babel/code-frame': 7.21.4 - '@babel/core': 7.21.8 - '@babel/generator': 7.21.5 - '@babel/parser': 7.21.8 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.5 - '@babel/types': 7.21.5 + '@babel/code-frame': 7.22.5 + '@babel/core': 7.22.5 + '@babel/generator': 7.22.5 + '@babel/parser': 7.22.5 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.5 + '@babel/types': 7.22.5 absolute-path: 0.0.0 accepts: 1.3.8 async: 3.2.4 @@ -13814,7 +14194,7 @@ packages: metro-inspector-proxy: 0.73.9 metro-minify-terser: 0.73.9 metro-minify-uglify: 0.73.9 - metro-react-native-babel-preset: 0.73.9(@babel/core@7.21.8) + metro-react-native-babel-preset: 0.73.9(@babel/core@7.22.5) metro-resolver: 0.73.9 metro-runtime: 0.73.9 metro-source-map: 0.73.9 @@ -14116,6 +14496,7 @@ packages: /moment@2.29.4: resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} + dev: false /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -14189,7 +14570,7 @@ packages: array-differ: 3.0.0 array-union: 2.1.0 arrify: 2.0.1 - minimatch: 3.1.2 + minimatch: 3.0.5 dev: true /mute-stream@0.0.8: @@ -14445,7 +14826,7 @@ packages: dependencies: env-paths: 2.2.1 glob: 7.2.3 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 make-fetch-happen: 10.2.1 nopt: 6.0.0 npmlog: 6.0.2 @@ -14480,8 +14861,8 @@ packages: - supports-color optional: true - /node-releases@2.0.11: - resolution: {integrity: sha512-+M0PwXeU80kRohZ3aT4J/OnR+l9/KD2nVLNNoRgFtnf+umQVFdGBAO2N8+nCnEi0xlh/Wk3zOGC+vNNx+uM79Q==} + /node-releases@2.0.12: + resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} /node-stream-zip@1.15.0: resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} @@ -14490,6 +14871,7 @@ packages: /nofilter@1.0.4: resolution: {integrity: sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==} engines: {node: '>=8'} + dev: false /noms@0.0.0: resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} @@ -14881,8 +15263,8 @@ packages: engines: {node: '>=0.10.0'} optional: true - /nwsapi@2.2.4: - resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} + /nwsapi@2.2.5: + resolution: {integrity: sha512-6xpotnECFy/og7tKSBVmUNft7J3jyXAka4XvG6AUhFWRz+Q/Ljus7znJAA3bxColfQLdS+XsjoodtJfCgeTEFQ==} dev: true /nx@15.9.4: @@ -14902,7 +15284,7 @@ packages: '@nrwl/tao': 15.9.4 '@parcel/watcher': 2.0.4 '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.44 + '@yarnpkg/parsers': 3.0.0-rc.45 '@zkochan/js-yaml': 0.0.6 axios: 1.4.0 chalk: 4.1.2 @@ -14929,7 +15311,7 @@ packages: tar-stream: 2.2.0 tmp: 0.2.1 tsconfig-paths: 4.2.0 - tslib: 2.5.2 + tslib: 2.5.3 v8-compile-cache: 2.3.0 yargs: 17.7.2 yargs-parser: 21.1.1 @@ -15142,7 +15524,7 @@ packages: is-unicode-supported: 1.3.0 log-symbols: 5.1.0 stdin-discarder: 0.1.0 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 wcwidth: 1.0.1 dev: false @@ -15266,14 +15648,6 @@ packages: engines: {node: '>=8'} dev: true - /p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} - dependencies: - '@types/retry': 0.12.0 - retry: 0.13.1 - dev: true - /p-timeout@3.2.0: resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} engines: {node: '>=8'} @@ -15333,7 +15707,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: - '@npmcli/git': 4.0.4 + '@npmcli/git': 4.1.0 '@npmcli/installed-package-contents': 2.0.2 '@npmcli/promise-spawn': 6.0.2 '@npmcli/run-script': 6.0.2 @@ -15346,9 +15720,9 @@ packages: npm-registry-fetch: 14.0.5 proc-log: 3.0.0 promise-retry: 2.0.1 - read-package-json: 6.0.3 + read-package-json: 6.0.4 read-package-json-fast: 3.0.2 - sigstore: 1.5.2 + sigstore: 1.6.0 ssri: 10.0.4 tar: 6.1.11 transitivePeerDependencies: @@ -15394,7 +15768,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.21.4 + '@babel/code-frame': 7.22.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -15519,7 +15893,7 @@ packages: resolution: {integrity: sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 9.1.1 + lru-cache: 9.1.2 minipass: 6.0.2 dev: true @@ -15814,7 +16188,7 @@ packages: /pvtsutils@1.3.2: resolution: {integrity: sha512-+Ipe2iNUyrZz+8K/2IOo+kKikdtfhRKzNpQbruF2URmqPtoqAs8g3xS7TJvFF2GcPXjh7DkqMnpVveRFq4PgEQ==} dependencies: - tslib: 2.5.2 + tslib: 2.5.3 /pvutils@1.1.3: resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} @@ -15905,6 +16279,15 @@ packages: iconv-lite: 0.4.24 unpipe: 1.0.0 + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + /rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -15942,37 +16325,37 @@ packages: /react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - /react-native-codegen@0.71.5(@babel/preset-env@7.21.5): + /react-native-codegen@0.71.5(@babel/preset-env@7.22.5): resolution: {integrity: sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg==} dependencies: - '@babel/parser': 7.21.8 + '@babel/parser': 7.22.5 flow-parser: 0.185.2 - jscodeshift: 0.13.1(@babel/preset-env@7.21.5) + jscodeshift: 0.13.1(@babel/preset-env@7.22.5) nullthrows: 1.1.1 transitivePeerDependencies: - '@babel/preset-env' - supports-color - /react-native-gradle-plugin@0.71.18: - resolution: {integrity: sha512-7F6bD7B8Xsn3JllxcwHhFcsl9aHIig47+3eN4IHFNqfLhZr++3ElDrcqfMzugM+niWbaMi7bJ0kAkAL8eCpdWg==} + /react-native-gradle-plugin@0.71.19: + resolution: {integrity: sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ==} - /react-native-securerandom@1.0.1(react-native@0.71.8): + /react-native-securerandom@1.0.1(react-native@0.71.10): resolution: {integrity: sha512-ibuDnd3xi17HyD5CkilOXGPFpS9Z1oifjyHFwUl8NMzcQcpruM0ZX8ytr3A4rCeAsaBHjz69r78Xgd6vUswv1Q==} peerDependencies: react-native: '*' dependencies: base64-js: 1.5.1 - react-native: 0.71.8(@babel/core@7.21.8)(@babel/preset-env@7.21.5)(react@18.2.0) + react-native: 0.71.10(@babel/core@7.22.5)(@babel/preset-env@7.22.5)(react@18.2.0) - /react-native@0.71.8(@babel/core@7.21.8)(@babel/preset-env@7.21.5)(react@18.2.0): - resolution: {integrity: sha512-ftMAuhpgTkbHU9brrqsEyxcNrpYvXKeATY+if22Nfhhg1zW+6wn95w9otwTnA3xHkljPCbng8mUhmmERjGEl7g==} + /react-native@0.71.10(@babel/core@7.22.5)(@babel/preset-env@7.22.5)(react@18.2.0): + resolution: {integrity: sha512-O+sWH9ln7euxhHdooVL8is2FiVc7CfAp2zsKgIRhbq/8lGbJr5ZyT6QkCQK0M8Sx1zNe9puebr+BE8uBFsartg==} engines: {node: '>=14'} hasBin: true peerDependencies: react: 18.2.0 dependencies: '@jest/create-cache-key-function': 29.5.0 - '@react-native-community/cli': 10.2.2(@babel/core@7.21.8) + '@react-native-community/cli': 10.2.2(@babel/core@7.22.5) '@react-native-community/cli-platform-android': 10.2.0 '@react-native-community/cli-platform-ios': 10.2.1 '@react-native/assets': 1.0.0 @@ -15987,7 +16370,7 @@ packages: jest-environment-node: 29.5.0 jsc-android: 250231.0.0 memoize-one: 5.2.1 - metro-react-native-babel-transformer: 0.73.9(@babel/core@7.21.8) + metro-react-native-babel-transformer: 0.73.9(@babel/core@7.22.5) metro-runtime: 0.73.9 metro-source-map: 0.73.9 mkdirp: 0.5.6 @@ -15996,8 +16379,8 @@ packages: promise: 8.3.0 react: 18.2.0 react-devtools-core: 4.27.8 - react-native-codegen: 0.71.5(@babel/preset-env@7.21.5) - react-native-gradle-plugin: 0.71.18 + react-native-codegen: 0.71.5(@babel/preset-env@7.22.5) + react-native-gradle-plugin: 0.71.19 react-refresh: 0.4.3 react-shallow-renderer: 16.15.0(react@18.2.0) regenerator-runtime: 0.13.11 @@ -16083,11 +16466,11 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true - /read-package-json@6.0.3: - resolution: {integrity: sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==} + /read-package-json@6.0.4: + resolution: {integrity: sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - glob: 10.2.6 + glob: 10.2.7 json-parse-even-better-errors: 3.0.0 normalize-package-data: 5.0.0 npm-normalize-package-bin: 3.0.1 @@ -16183,7 +16566,7 @@ packages: ast-types: 0.14.2 esprima: 4.0.1 source-map: 0.6.1 - tslib: 2.5.2 + tslib: 2.5.3 /redent@2.0.0: resolution: {integrity: sha512-XNwrTx77JQCEMXTeb8movBKuK75MgH0RZkujNuDKCezemx/voapl9i2gCSi8WWm8+ox5ycJi1gxF22fR7c0Ciw==} @@ -16233,7 +16616,7 @@ packages: /regenerator-transform@0.15.1: resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} dependencies: - '@babel/runtime': 7.21.5 + '@babel/runtime': 7.22.5 /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} @@ -16400,11 +16783,6 @@ packages: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - dev: true - /reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -16482,7 +16860,7 @@ packages: /rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: - tslib: 2.5.2 + tslib: 2.5.3 /safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -16575,7 +16953,7 @@ packages: dependencies: '@semantic-release/commit-analyzer': 9.0.2(semantic-release@19.0.5) '@semantic-release/error': 3.0.0 - '@semantic-release/github': 8.0.7(semantic-release@19.0.5) + '@semantic-release/github': 8.1.0(semantic-release@19.0.5) '@semantic-release/npm': 9.0.2(semantic-release@19.0.5) '@semantic-release/release-notes-generator': 10.0.3(semantic-release@19.0.5) aggregate-error: 3.1.0 @@ -16694,6 +17072,7 @@ packages: engines: {node: '>=10'} dependencies: type-fest: 0.13.1 + dev: false /serialize-error@8.1.0: resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} @@ -16804,12 +17183,13 @@ packages: pkg-conf: 2.1.0 dev: true - /sigstore@1.5.2: - resolution: {integrity: sha512-X95v6xAAooVpn7PaB94TDmFeSO5SBfCtB1R23fvzr36WTfjtkiiyOeei979nbTjc8nzh6FSLeltQZuODsm1EjQ==} + /sigstore@1.6.0: + resolution: {integrity: sha512-QODKff/qW/TXOZI6V/Clqu74xnInAS6it05mufj4/fSewexLtfEntgLZZcBtUK44CDQyUE5TUXYy1ARYzlfG9g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} hasBin: true dependencies: '@sigstore/protobuf-specs': 0.1.0 + '@sigstore/tuf': 1.0.0 make-fetch-happen: 11.1.1 tuf-js: 1.1.6 transitivePeerDependencies: @@ -17153,7 +17533,7 @@ packages: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} @@ -17221,8 +17601,8 @@ packages: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 @@ -17496,8 +17876,8 @@ packages: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - /terser@5.17.4: - resolution: {integrity: sha512-jcEKZw6UPrgugz/0Tuk/PVyLAPfMBJf5clnGueo45wTweoV8yh7Q7PEkhkJ5uuUbC7zAxEcG3tqNr1bstkQ8nw==} + /terser@5.17.7: + resolution: {integrity: sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -17621,8 +18001,8 @@ packages: resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==} optional: true - /tough-cookie@4.1.2: - resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} + /tough-cookie@4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} engines: {node: '>=6'} dependencies: psl: 1.9.0 @@ -17675,7 +18055,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-jest@27.1.5(@babel/core@7.21.8)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): + /ts-jest@27.1.5(@babel/core@7.22.5)(@types/jest@27.5.2)(jest@27.5.1)(typescript@4.9.5): resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} hasBin: true @@ -17696,13 +18076,13 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.5 '@types/jest': 27.5.2 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 27.5.1(ts-node@10.9.1) jest-util: 27.5.1 - json5: 2.2.3 + json5: 2.2.0 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.5.1 @@ -17715,7 +18095,7 @@ packages: engines: {node: '>=10.0.0'} hasBin: true dependencies: - '@types/json-schema': 7.0.11 + '@types/json-schema': 7.0.12 commander: 9.5.0 glob: 8.1.0 json5: 2.2.3 @@ -17814,8 +18194,8 @@ packages: /tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - /tslib@2.5.2: - resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} + /tslib@2.5.3: + resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} /tsutils@3.21.0(typescript@4.9.5): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} @@ -17866,6 +18246,7 @@ packages: /type-fest@0.13.1: resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} engines: {node: '>=10'} + dev: false /type-fest@0.16.0: resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} @@ -17906,8 +18287,8 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - /type-fest@3.11.0: - resolution: {integrity: sha512-JaPw5U9ixP0XcpUbQoVSbxSDcK/K4nww20C3kjm9yE6cDRRhptU28AH60VWf9ltXmCrIfIbtt9J+2OUk2Uqiaw==} + /type-fest@3.11.1: + resolution: {integrity: sha512-aCuRNRERRVh33lgQaJRlUxZqzfhzwTrsE98Mc3o3VXqmiaQdHacgUtJ0esp+7MvZ92qhtzKPeusaX6vIEcoreA==} engines: {node: '>=14.16'} /type-is@1.6.18: @@ -17999,7 +18380,7 @@ packages: cli-highlight: 2.1.11 date-fns: 2.30.0 debug: 4.3.4 - dotenv: 16.0.3 + dotenv: 16.1.4 glob: 8.1.0 js-yaml: 4.1.0 mkdirp: 2.1.6 @@ -18007,7 +18388,7 @@ packages: sha.js: 2.4.11 sqlite3: 5.1.6 ts-node: 10.9.1(@types/node@18.16.3)(typescript@4.9.5) - tslib: 2.5.2 + tslib: 2.5.3 uuid: 9.0.0 xml2js: 0.4.23 yargs: 17.7.2 @@ -18035,8 +18416,8 @@ packages: engines: {node: '>=8'} optional: true - /ua-parser-js@0.7.35: - resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==} + /ua-parser-js@1.0.35: + resolution: {integrity: sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==} /uglify-es@3.3.9: resolution: {integrity: sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==} @@ -18202,13 +18583,13 @@ packages: engines: {node: '>=4'} dev: true - /update-browserslist-db@1.0.11(browserslist@4.21.5): + /update-browserslist-db@1.0.11(browserslist@4.21.7): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.21.5 + browserslist: 4.21.7 escalade: 3.1.1 picocolors: 1.0.0 @@ -18387,15 +18768,6 @@ packages: dependencies: defaults: 1.0.4 - /web-did-resolver@2.0.23: - resolution: {integrity: sha512-7yOKnY9E322cVFfVkpV6g2j7QWB3H32aezGn2VagBmTAQr74zf0hxRN0p/PzK/kcgnc/oDCIRuiWUGwJEJAh0w==} - dependencies: - cross-fetch: 3.1.5 - did-resolver: 4.1.0 - transitivePeerDependencies: - - encoding - dev: true - /web-did-resolver@2.0.24: resolution: {integrity: sha512-tJfOfMeXyucV42D3tU7wcPcsvY92CiuaqeF5JRIE6GP7G9z07X6LhNQMFMHUL5D9Jqb7Twk19oKZGE2ivKeC1w==} dependencies: @@ -18423,7 +18795,7 @@ packages: '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 pvtsutils: 1.3.2 - tslib: 2.5.2 + tslib: 2.5.3 /webcrypto-shim@0.1.7: resolution: {integrity: sha512-JAvAQR5mRNRxZW2jKigWMjCMkjSdmP5cColRP1U/pTg69VgHXEi1orv5vVpJ55Zc5MIaPc1aaurzd9pjv2bveg==} @@ -18592,7 +18964,7 @@ packages: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 - strip-ansi: 7.0.1 + strip-ansi: 7.1.0 /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -18600,7 +18972,7 @@ packages: /write-file-atomic@2.4.3: resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} dependencies: - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 imurmurhash: 0.1.4 signal-exit: 3.0.7 @@ -18634,7 +19006,7 @@ packages: engines: {node: '>=6'} dependencies: detect-indent: 5.0.0 - graceful-fs: 4.2.11 + graceful-fs: 4.2.10 make-dir: 2.1.0 pify: 4.0.1 sort-keys: 2.0.0 @@ -18781,11 +19153,11 @@ packages: /yargs-parser@20.2.4: resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} engines: {node: '>=10'} - dev: true /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} + dev: true /yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} @@ -18817,7 +19189,7 @@ packages: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.9 + yargs-parser: 20.2.4 /yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}