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

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/dist/index.js CHANGED
@@ -56,13 +56,13 @@ var require_nl = __commonJS({
56
56
 
57
57
  // src/agent/OID4VCIHolder.ts
58
58
  import { CredentialOfferClient, MetadataClient, OpenID4VCIClient as OpenID4VCIClient2 } from "@sphereon/oid4vci-client";
59
- import { DefaultURISchemes, getTypesFromObject as getTypesFromObject2 } from "@sphereon/oid4vci-common";
59
+ import { DefaultURISchemes, getTypesFromAuthorizationDetails, getTypesFromCredentialSupported as getTypesFromCredentialSupported2, getTypesFromObject as getTypesFromObject2 } from "@sphereon/oid4vci-common";
60
60
  import { SupportedDidMethodEnum as SupportedDidMethodEnum2 } from "@sphereon/ssi-sdk-ext.did-utils";
61
61
  import { isManagedIdentifierDidOpts, isManagedIdentifierDidResult as isManagedIdentifierDidResult2, isManagedIdentifierJwkResult, isManagedIdentifierKidResult, isManagedIdentifierResult as isManagedIdentifierResult2, isManagedIdentifierX5cOpts, isManagedIdentifierX5cResult } from "@sphereon/ssi-sdk-ext.identifier-resolution";
62
62
  import { signatureAlgorithmFromKey } from "@sphereon/ssi-sdk-ext.key-utils";
63
63
  import { defaultHasher as defaultHasher2 } from "@sphereon/ssi-sdk.core";
64
64
  import { ConnectionType, CorrelationIdentifierType, CredentialCorrelationType, ensureRawDocument, IdentityOrigin } from "@sphereon/ssi-sdk.data-store";
65
- import { CredentialMapper as CredentialMapper2, CredentialRole, JoseSignatureAlgorithm as JoseSignatureAlgorithm2, Loggers, parseDid } from "@sphereon/ssi-types";
65
+ import { CredentialMapper as CredentialMapper2, JoseSignatureAlgorithm as JoseSignatureAlgorithm2, Loggers, parseDid, CredentialRole } from "@sphereon/ssi-types";
66
66
  import { asArray as asArray2, computeEntryHash } from "@veramo/utils";
67
67
  import { decodeJWT } from "did-jwt";
68
68
  import { v4 as uuidv42 } from "uuid";
@@ -1810,6 +1810,9 @@ var getCredentialConfigsSupportedBySingleTypeOrId = /* @__PURE__ */ __name(async
1810
1810
  }
1811
1811
  __name(createIdFromTypes, "createIdFromTypes");
1812
1812
  if (configurationId) {
1813
+ if (!format) {
1814
+ return Promise.reject(Error("format parameter missing from input"));
1815
+ }
1813
1816
  const allSupported2 = client.getCredentialsSupported(format);
1814
1817
  return Object.fromEntries(Object.entries(allSupported2).filter(([id, supported]) => id === configurationId || supported.id === configurationId || createIdFromTypes(supported) === configurationId));
1815
1818
  }
@@ -2287,6 +2290,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
2287
2290
  formats = Array.from(new Set(authFormats));
2288
2291
  }
2289
2292
  let oid4vciClient;
2293
+ let types = void 0;
2290
2294
  let offer;
2291
2295
  if (requestData.existingClientState) {
2292
2296
  oid4vciClient = await OpenID4VCIClient2.fromState({
@@ -2322,18 +2326,23 @@ var OID4VCIHolder = class _OID4VCIHolder {
2322
2326
  });
2323
2327
  }
2324
2328
  }
2325
- let configurationIds = [];
2326
2329
  if (offer) {
2327
- configurationIds = offer.original_credential_offer.credential_configuration_ids;
2330
+ const credentialsSupported2 = offer.original_credential_offer.credential_configuration_ids.flatMap((configId) => {
2331
+ const config = oid4vciClient.endpointMetadata.credentialIssuerMetadata?.credential_configurations_supported[configId];
2332
+ return config ? [
2333
+ config
2334
+ ] : [];
2335
+ });
2336
+ types = credentialsSupported2.map((credentialSupported) => getTypesFromCredentialSupported2(credentialSupported));
2328
2337
  } else {
2329
- configurationIds = asArray2(authorizationRequestOpts.authorizationDetails).filter((authDetails) => typeof authDetails !== "string").map((authReqOpts) => authReqOpts.credential_configuration_id).filter((id) => !!id);
2338
+ types = asArray2(authorizationRequestOpts.authorizationDetails).map((authReqOpts) => getTypesFromAuthorizationDetails(authReqOpts) ?? []).filter((inner) => inner.length > 0);
2330
2339
  }
2340
+ const serverMetadata = await oid4vciClient.retrieveServerMetadata();
2331
2341
  const credentialsSupported = await getCredentialConfigsSupportedMerged({
2332
2342
  client: oid4vciClient,
2333
2343
  vcFormatPreferences: formats,
2334
- configurationIds
2344
+ types
2335
2345
  });
2336
- const serverMetadata = await oid4vciClient.retrieveServerMetadata();
2337
2346
  const credentialBranding = await getCredentialBranding({
2338
2347
  credentialsSupported,
2339
2348
  context