@sphereon/ssi-sdk.oid4vci-holder 0.34.1-fix.223 → 0.34.1-fix.226

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.oid4vci-holder",
3
- "version": "0.34.1-fix.223+9c86d039",
3
+ "version": "0.34.1-fix.226+0b5294f9",
4
4
  "source": "src/index.ts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -30,23 +30,23 @@
30
30
  "@sphereon/kmp-mdoc-core": "0.2.0-SNAPSHOT.26",
31
31
  "@sphereon/oid4vci-client": "0.19.1-feature.DIIPv4.170",
32
32
  "@sphereon/oid4vci-common": "0.19.1-feature.DIIPv4.170",
33
- "@sphereon/ssi-sdk-ext.did-utils": "0.34.1-fix.223+9c86d039",
34
- "@sphereon/ssi-sdk-ext.identifier-resolution": "0.34.1-fix.223+9c86d039",
35
- "@sphereon/ssi-sdk-ext.jwt-service": "0.34.1-fix.223+9c86d039",
36
- "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-fix.223+9c86d039",
37
- "@sphereon/ssi-sdk.contact-manager": "0.34.1-fix.223+9c86d039",
38
- "@sphereon/ssi-sdk.core": "0.34.1-fix.223+9c86d039",
39
- "@sphereon/ssi-sdk.credential-store": "0.34.1-fix.223+9c86d039",
40
- "@sphereon/ssi-sdk.credential-validation": "0.34.1-fix.223+9c86d039",
41
- "@sphereon/ssi-sdk.data-store": "0.34.1-fix.223+9c86d039",
42
- "@sphereon/ssi-sdk.issuance-branding": "0.34.1-fix.223+9c86d039",
43
- "@sphereon/ssi-sdk.mdl-mdoc": "0.34.1-fix.223+9c86d039",
44
- "@sphereon/ssi-sdk.oidf-client": "0.34.1-fix.223+9c86d039",
45
- "@sphereon/ssi-sdk.sd-jwt": "0.34.1-fix.223+9c86d039",
46
- "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.34.1-fix.223+9c86d039",
47
- "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.34.1-fix.223+9c86d039",
48
- "@sphereon/ssi-sdk.xstate-machine-persistence": "0.34.1-fix.223+9c86d039",
49
- "@sphereon/ssi-types": "0.34.1-fix.223+9c86d039",
33
+ "@sphereon/ssi-sdk-ext.did-utils": "0.34.1-fix.226+0b5294f9",
34
+ "@sphereon/ssi-sdk-ext.identifier-resolution": "0.34.1-fix.226+0b5294f9",
35
+ "@sphereon/ssi-sdk-ext.jwt-service": "0.34.1-fix.226+0b5294f9",
36
+ "@sphereon/ssi-sdk-ext.key-utils": "0.34.1-fix.226+0b5294f9",
37
+ "@sphereon/ssi-sdk.contact-manager": "0.34.1-fix.226+0b5294f9",
38
+ "@sphereon/ssi-sdk.core": "0.34.1-fix.226+0b5294f9",
39
+ "@sphereon/ssi-sdk.credential-store": "0.34.1-fix.226+0b5294f9",
40
+ "@sphereon/ssi-sdk.credential-validation": "0.34.1-fix.226+0b5294f9",
41
+ "@sphereon/ssi-sdk.data-store": "0.34.1-fix.226+0b5294f9",
42
+ "@sphereon/ssi-sdk.issuance-branding": "0.34.1-fix.226+0b5294f9",
43
+ "@sphereon/ssi-sdk.mdl-mdoc": "0.34.1-fix.226+0b5294f9",
44
+ "@sphereon/ssi-sdk.oidf-client": "0.34.1-fix.226+0b5294f9",
45
+ "@sphereon/ssi-sdk.sd-jwt": "0.34.1-fix.226+0b5294f9",
46
+ "@sphereon/ssi-sdk.siopv2-oid4vp-common": "0.34.1-fix.226+0b5294f9",
47
+ "@sphereon/ssi-sdk.siopv2-oid4vp-op-auth": "0.34.1-fix.226+0b5294f9",
48
+ "@sphereon/ssi-sdk.xstate-machine-persistence": "0.34.1-fix.226+0b5294f9",
49
+ "@sphereon/ssi-types": "0.34.1-fix.226+0b5294f9",
50
50
  "@veramo/core": "4.2.0",
51
51
  "@veramo/data-store": "4.2.0",
52
52
  "@veramo/utils": "4.2.0",
@@ -60,7 +60,7 @@
60
60
  },
61
61
  "devDependencies": {
62
62
  "@sphereon/oid4vc-common": "0.19.1-feature.DIIPv4.170",
63
- "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.34.1-fix.223+9c86d039",
63
+ "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.34.1-fix.226+0b5294f9",
64
64
  "@sphereon/ssi-sdk.siopv2-oid4vp-common": "workspace:*",
65
65
  "@types/i18n-js": "^3.8.9",
66
66
  "@types/lodash.memoize": "^4.1.9",
@@ -90,5 +90,5 @@
90
90
  "OID4VCI",
91
91
  "State Machine"
92
92
  ],
93
- "gitHead": "9c86d03951f1267495e456d1fbfd9eb380f27e78"
93
+ "gitHead": "0b5294f9513532c0bf553b1faf38363c5754b5af"
94
94
  }
@@ -4,14 +4,11 @@ import {
4
4
  AuthorizationRequestOpts,
5
5
  AuthorizationServerClientOpts,
6
6
  AuthorizationServerOpts,
7
- CredentialConfigurationSupported,
8
7
  CredentialConfigurationSupportedJwtVcJsonLdAndLdpVcV1_0_15,
9
8
  CredentialDefinitionJwtVcJsonLdAndLdpVcV1_0_15,
10
9
  CredentialOfferRequestWithBaseUrl,
11
10
  DefaultURISchemes,
12
11
  EndpointMetadataResult,
13
- getTypesFromAuthorizationDetails,
14
- getTypesFromCredentialSupported,
15
12
  getTypesFromObject,
16
13
  Jwt,
17
14
  NotificationRequest,
@@ -49,6 +46,7 @@ import {
49
46
  import {
50
47
  CredentialMapper,
51
48
  type CredentialProofFormat,
49
+ CredentialRole,
52
50
  HasherSync,
53
51
  IVerifiableCredential,
54
52
  JoseSignatureAlgorithm,
@@ -58,7 +56,6 @@ import {
58
56
  parseDid,
59
57
  SdJwtDecodedVerifiableCredentialPayload,
60
58
  WrappedW3CVerifiableCredential,
61
- CredentialRole,
62
59
  } from '@sphereon/ssi-types'
63
60
  import {
64
61
  CredentialPayload,
@@ -401,7 +398,6 @@ export class OID4VCIHolder implements IAgentPlugin {
401
398
  formats = Array.from(new Set(authFormats))
402
399
  }
403
400
  let oid4vciClient: OpenID4VCIClient
404
- let types: string[][] | undefined = undefined
405
401
  let offer: CredentialOfferRequestWithBaseUrl | undefined
406
402
  if (requestData.existingClientState) {
407
403
  oid4vciClient = await OpenID4VCIClient.fromState({ state: requestData.existingClientState })
@@ -443,26 +439,23 @@ export class OID4VCIHolder implements IAgentPlugin {
443
439
  }
444
440
  }
445
441
 
442
+ let configurationIds: Array<string> = []
446
443
  if (offer) {
447
- const credentialsSupported: CredentialConfigurationSupported[] = offer.original_credential_offer.credential_configuration_ids.flatMap(
448
- (configId) => {
449
- const config = oid4vciClient.endpointMetadata.credentialIssuerMetadata?.credential_configurations_supported[configId]
450
- return config ? [config as CredentialConfigurationSupported] : []
451
- },
452
- )
453
- types = credentialsSupported.map((credentialSupported) => getTypesFromCredentialSupported(credentialSupported))
444
+ configurationIds = offer.original_credential_offer.credential_configuration_ids
454
445
  } else {
455
- types = asArray(authorizationRequestOpts.authorizationDetails)
456
- .map((authReqOpts) => getTypesFromAuthorizationDetails(authReqOpts) ?? [])
457
- .filter((inner) => inner.length > 0)
446
+ configurationIds = asArray(authorizationRequestOpts.authorizationDetails)
447
+ .filter((authDetails): authDetails is Exclude<AuthorizationDetails, string> => typeof authDetails !== 'string')
448
+ .map((authReqOpts) => authReqOpts.credential_configuration_id)
449
+ .filter((id): id is string => !!id)
458
450
  }
459
451
 
460
- const serverMetadata = await oid4vciClient.retrieveServerMetadata()
461
452
  const credentialsSupported = await getCredentialConfigsSupportedMerged({
462
453
  client: oid4vciClient,
463
454
  vcFormatPreferences: formats,
464
- types,
455
+ configurationIds,
465
456
  })
457
+
458
+ const serverMetadata = await oid4vciClient.retrieveServerMetadata()
466
459
  const credentialBranding = await getCredentialBranding({ credentialsSupported, context })
467
460
  const authorizationCodeURL = oid4vciClient.authorizationURL
468
461
  if (authorizationCodeURL) {
@@ -384,9 +384,6 @@ export const getCredentialConfigsSupportedBySingleTypeOrId = async (
384
384
  }
385
385
 
386
386
  if (configurationId) {
387
- if (!format) {
388
- return Promise.reject(Error('format parameter missing from input'))
389
- }
390
387
  const allSupported = client.getCredentialsSupported(format)
391
388
  return Object.fromEntries(
392
389
  Object.entries(allSupported).filter(