diff --git a/packages/client/lib/OpenID4VCIClientV1_0_13.ts b/packages/client/lib/OpenID4VCIClientV1_0_13.ts index 20a0a154..2c728f95 100644 --- a/packages/client/lib/OpenID4VCIClientV1_0_13.ts +++ b/packages/client/lib/OpenID4VCIClientV1_0_13.ts @@ -447,7 +447,7 @@ export class OpenID4VCIClientV1_0_13 { ); } const credentialsSupported = metadata.credential_configurations_supported; - if (!metadata.credential_configurations_supported || !credentialsSupported[credentialIdentifier]) { + if (!credentialsSupported || !credentialsSupported[credentialIdentifier]) { throw new Error(`Credential type ${credentialIdentifier} is not supported by issuer ${this.getIssuer()}`); } } else if (!types) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ae45a9e8..5e4fa991 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -395,6 +395,15 @@ importers: specifier: ^29.1.0 version: 29.2.5(@babel/core@7.25.2)(jest@29.7.0)(typescript@5.4.5) + packages/jarm: + dependencies: + '@sphereon/oid4vc-common': + specifier: workspace:* + version: link:../common + valibot: + specifier: ^0.42.1 + version: 0.42.1(typescript@5.4.5) + packages/oid4vci-common: dependencies: '@sphereon/oid4vc-common': @@ -440,6 +449,9 @@ importers: '@sphereon/did-uni-client': specifier: ^0.6.2 version: 0.6.3 + '@sphereon/jarm': + specifier: workspace:* + version: link:../jarm '@sphereon/kmp-mdl-mdoc': specifier: 0.2.0-SNAPSHOT.22 version: 0.2.0-SNAPSHOT.22 @@ -506,7 +518,7 @@ importers: version: 4.0.3(debug@4.3.7) '@cef-ebsi/verifiable-presentation': specifier: ^6.1.0 - version: 6.4.0(ajv@8.17.1)(debug@4.3.7)(expo@48.0.21)(react-native@0.71.19) + version: 6.4.0(ajv@8.17.1)(debug@4.3.7) '@cef-ebsi/wallet-lib': specifier: ^4.2.0 version: 4.2.0(debug@4.3.7) @@ -530,7 +542,7 @@ importers: version: 0.7.0-unstable.82 '@transmute/ed25519-signature-2018': specifier: ^0.7.0-unstable.82 - version: 0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19) + version: 0.7.0-unstable.82 '@types/debug': specifier: ^4.1.12 version: 4.1.12 @@ -2181,7 +2193,7 @@ packages: '@cef-ebsi/vcdm1.1-attestation-schema': 1.3.0 dev: true - /@cef-ebsi/verifiable-credential@5.5.0(debug@4.3.7)(expo@48.0.21)(react-native@0.71.19): + /@cef-ebsi/verifiable-credential@5.5.0(debug@4.3.7): resolution: {integrity: sha512-WmHlKT0ykovbbYTO6rBvECEyTGFnFZhw65Hy8x+p9/jn+GBjj0qsh78qahKUZM+Biau8wKNx6r8n+pKjK8dHjg==} dependencies: '@cef-ebsi/ebsi-did-resolver': 4.0.3(debug@4.3.7) @@ -2190,8 +2202,8 @@ packages: '@cef-ebsi/vcdm1.1-attestation-schema': 1.3.0 '@cef-ebsi/vcdm1.1-revocation-statuslist-schema': 1.3.0 '@segment/ajv-human-errors': 2.13.0(ajv@8.17.1) - '@transmute/json-web-signature': 0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19) - '@transmute/vc.js': 0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19) + '@transmute/json-web-signature': 0.7.0-unstable.82 + '@transmute/vc.js': 0.7.0-unstable.82 ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) axios: 1.7.7(debug@4.3.7) @@ -2207,22 +2219,20 @@ packages: - bufferutil - debug - encoding - - expo - - react-native - utf-8-validate - web-streams-polyfill dev: true - /@cef-ebsi/verifiable-presentation@6.4.0(ajv@8.17.1)(debug@4.3.7)(expo@48.0.21)(react-native@0.71.19): + /@cef-ebsi/verifiable-presentation@6.4.0(ajv@8.17.1)(debug@4.3.7): resolution: {integrity: sha512-ESx/xngeQOWvIE8O71ZbrSudlCEYZX7lu+ImzX3Y3IFvQLKS8WJzjXkrpBTqK1Q8gNmPsh02Td1iVH3auBkInA==} dependencies: '@cef-ebsi/ebsi-did-resolver': 4.0.3(debug@4.3.7) '@cef-ebsi/key-did-resolver': 2.0.3 '@cef-ebsi/vcdm1.1-presentation-schema': 1.0.3 - '@cef-ebsi/verifiable-credential': 5.5.0(debug@4.3.7)(expo@48.0.21)(react-native@0.71.19) + '@cef-ebsi/verifiable-credential': 5.5.0(debug@4.3.7) '@segment/ajv-human-errors': 2.13.0(ajv@8.17.1) - '@transmute/json-web-signature': 0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19) - '@transmute/vc.js': 0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19) + '@transmute/json-web-signature': 0.7.0-unstable.82 + '@transmute/vc.js': 0.7.0-unstable.82 did-resolver: 4.1.0 jose: 4.15.9 memoize: 10.0.0 @@ -2232,8 +2242,6 @@ packages: - bufferutil - debug - encoding - - expo - - react-native - utf-8-validate - web-streams-polyfill dev: true @@ -3267,7 +3275,7 @@ packages: /@expo/bunyan@4.0.1: resolution: {integrity: sha512-+Lla7nYSiHZirgK+U/uYzsLv/X+HaJienbD5AKX1UQZHYfWaP+9uuQluRB4GrEVWF0GZ7vEVp/jzaOT9k/SQlg==} - engines: {node: '>=0.10.0'} + engines: {'0': node >=0.10.0} dependencies: uuid: 8.3.2 @@ -4132,7 +4140,7 @@ packages: /@noble/curves@1.2.0: resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} dependencies: - '@noble/hashes': 1.2.0 + '@noble/hashes': 1.3.2 dev: true /@noble/curves@1.6.0: @@ -4145,10 +4153,6 @@ packages: resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} dev: false - /@noble/hashes@1.2.0: - resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} - dev: true - /@noble/hashes@1.3.2: resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} @@ -5024,6 +5028,7 @@ packages: '@js-joda/timezone': 2.3.0(@js-joda/core@5.6.3) format-util: 1.0.5 dev: false + bundledDependencies: [] /@sphereon/pex-models@2.3.1: resolution: {integrity: sha512-SByU4cJ0XYA6VZQ/L6lsSiRcFtBPHbFioCeQ4GP7/W/jQ+PSBD7uK2oTnKQ9/0iEiMK/6JYqhKgLs4a9UX3UTQ==} @@ -5667,19 +5672,17 @@ packages: '@transmute/x25519-key-pair': 0.7.0-unstable.82 dev: true - /@transmute/ed25519-signature-2018@0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19): + /@transmute/ed25519-signature-2018@0.7.0-unstable.82: resolution: {integrity: sha512-WvD+x7EpeacXEtOTmOQltSNdevwHJZ3Y53Yj8SZJ0CGzVKyqj3/F7wGvagbEUWxALe2rXrby5F6FPVS7mJwgCg==} engines: {node: '>=16'} dependencies: '@transmute/credentials-context': 0.7.0-unstable.82 '@transmute/ed25519-key-pair': 0.7.0-unstable.2 '@transmute/jose-ld': 0.7.0-unstable.82 - '@transmute/jsonld': 0.0.4(expo@48.0.21)(react-native@0.71.19) + '@transmute/jsonld': 0.0.4 '@transmute/security-context': 0.7.0-unstable.82 transitivePeerDependencies: - encoding - - expo - - react-native - web-streams-polyfill dev: true @@ -5695,47 +5698,41 @@ packages: web-streams-polyfill: 3.3.3 dev: true - /@transmute/json-web-signature@0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19): + /@transmute/json-web-signature@0.7.0-unstable.82: resolution: {integrity: sha512-Snku9yg5sN10zkSy678n7VnHZgd7s0EQmjRylhW+mg4n9aL1SXPSbmRx6wUXfdXe1RGY1oNfDd7R5WegZVg9ew==} engines: {node: '>=16'} dependencies: '@transmute/ed25519-key-pair': 0.7.0-unstable.82 '@transmute/jose-ld': 0.7.0-unstable.82 - '@transmute/jsonld': 0.0.4(expo@48.0.21)(react-native@0.71.19) + '@transmute/jsonld': 0.0.4 '@transmute/secp256k1-key-pair': 0.7.0-unstable.82 '@transmute/security-context': 0.7.0-unstable.82 '@transmute/web-crypto-key-pair': 0.7.0-unstable.82 transitivePeerDependencies: - encoding - - expo - - react-native - web-streams-polyfill dev: true - /@transmute/jsonld-schema@0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19): + /@transmute/jsonld-schema@0.7.0-unstable.82: resolution: {integrity: sha512-WrPwYXLNvb5o8xg9yTb8PBiMvX5tyLOGPYDOuX7mlr/2HmAJyyplxprJEKCixmb817O06keU5jrkCwiYaAcyfg==} engines: {node: '>=16'} dependencies: - '@transmute/jsonld': 0.0.4(expo@48.0.21)(react-native@0.71.19) + '@transmute/jsonld': 0.0.4 ajv: 8.17.1 genson-js: 0.0.5 transitivePeerDependencies: - encoding - - expo - - react-native - web-streams-polyfill dev: true - /@transmute/jsonld@0.0.4(expo@48.0.21)(react-native@0.71.19): + /@transmute/jsonld@0.0.4: resolution: {integrity: sha512-6G++8imMYW9dtTvATPHNfrV3lLeX5E57DOmlgIDfO0A0yjkBCss1usB80NfONS26ynyveb8vTbp4nQDW9Ki4Rw==} engines: {node: '>=16'} dependencies: json-pointer: 0.6.2 - jsonld: /@digitalcredentials/jsonld@6.0.0(expo@48.0.21)(react-native@0.71.19) + jsonld: 5.2.0 transitivePeerDependencies: - encoding - - expo - - react-native - web-streams-polyfill dev: true @@ -5776,20 +5773,18 @@ packages: resolution: {integrity: sha512-Hih4A3iatK8daSREtuF/y9hGnrLZGRTfBYBUlUeaGEoCrcnhNcZrn8EQmW2dqj/7VZ2W5ResxQLPljA9pVJt5w==} dev: true - /@transmute/vc.js@0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19): + /@transmute/vc.js@0.7.0-unstable.82: resolution: {integrity: sha512-P/QGvnybAhtz4jQiX38bPXquTE+mjxbXsE60cDn41TdijiUNK8Ge3c1jmLKFMqrwDRaK1aVqJWBxtMYvQ+0QMw==} engines: {node: '>=16'} dependencies: '@transmute/did-key-ed25519': 0.3.0-unstable.10 - '@transmute/json-web-signature': 0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19) - '@transmute/jsonld': 0.0.4(expo@48.0.21)(react-native@0.71.19) - '@transmute/jsonld-schema': 0.7.0-unstable.82(expo@48.0.21)(react-native@0.71.19) + '@transmute/json-web-signature': 0.7.0-unstable.82 + '@transmute/jsonld': 0.0.4 + '@transmute/jsonld-schema': 0.7.0-unstable.82 '@transmute/linked-data-proof': 0.7.0-unstable.82 moment: 2.30.1 transitivePeerDependencies: - encoding - - expo - - react-native - web-streams-polyfill dev: true @@ -16567,6 +16562,17 @@ packages: convert-source-map: 2.0.0 dev: true + /valibot@0.42.1(typescript@5.4.5): + resolution: {integrity: sha512-3keXV29Ar5b//Hqi4MbSdV7lfVp6zuYLZuA9V1PvQUsXqogr+u5lvLPLk3A4f74VUXDnf/JfWMN6sB+koJ/FFw==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + typescript: 5.4.5 + dev: false + /valid-url@1.0.9: resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==}