@sphereon/ssi-sdk.oid4vci-holder 0.34.1-fix.80 → 0.34.1-next.278

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.cjs CHANGED
@@ -141,9 +141,11 @@ var import_ssi_sdk_ext5 = require("@sphereon/ssi-sdk-ext.did-utils");
141
141
  var import_ssi_sdk_ext6 = require("@sphereon/ssi-sdk-ext.identifier-resolution");
142
142
  var import_ssi_sdk_ext7 = require("@sphereon/ssi-sdk-ext.key-utils");
143
143
  var import_ssi_sdk2 = require("@sphereon/ssi-sdk.core");
144
- var import_ssi_sdk3 = require("@sphereon/ssi-sdk.data-store");
144
+ var import_ssi_sdk3 = require("@sphereon/ssi-sdk.data-store-types");
145
+ var import_ssi_sdk4 = require("@sphereon/ssi-sdk.data-store-types");
145
146
  var import_ssi_types2 = require("@sphereon/ssi-types");
146
147
  var import_utils2 = require("@veramo/utils");
148
+ var import_cross_fetch = __toESM(require("cross-fetch"), 1);
147
149
  var import_did_jwt = require("did-jwt");
148
150
  var import_uuid2 = require("uuid");
149
151
 
@@ -156,18 +158,18 @@ var import_i18n_js = __toESM(require("i18n-js"), 1);
156
158
  var import_lodash = __toESM(require("lodash.memoize"), 1);
157
159
 
158
160
  // src/types/IOID4VCIHolder.ts
159
- var OID4VCIHolderEvent = /* @__PURE__ */ function(OID4VCIHolderEvent2) {
161
+ var OID4VCIHolderEvent = /* @__PURE__ */ (function(OID4VCIHolderEvent2) {
160
162
  OID4VCIHolderEvent2["CONTACT_IDENTITY_CREATED"] = "contact_identity_created";
161
163
  OID4VCIHolderEvent2["CREDENTIAL_STORED"] = "credential_stored";
162
164
  OID4VCIHolderEvent2["IDENTIFIER_CREATED"] = "identifier_created";
163
165
  return OID4VCIHolderEvent2;
164
- }({});
165
- var SupportedLanguage = /* @__PURE__ */ function(SupportedLanguage2) {
166
+ })({});
167
+ var SupportedLanguage = /* @__PURE__ */ (function(SupportedLanguage2) {
166
168
  SupportedLanguage2["ENGLISH"] = "en";
167
169
  SupportedLanguage2["DUTCH"] = "nl";
168
170
  return SupportedLanguage2;
169
- }({});
170
- var OID4VCIMachineStates = /* @__PURE__ */ function(OID4VCIMachineStates2) {
171
+ })({});
172
+ var OID4VCIMachineStates = /* @__PURE__ */ (function(OID4VCIMachineStates2) {
171
173
  OID4VCIMachineStates2["start"] = "start";
172
174
  OID4VCIMachineStates2["createCredentialsToSelectFrom"] = "createCredentialsToSelectFrom";
173
175
  OID4VCIMachineStates2["getContact"] = "getContact";
@@ -198,18 +200,18 @@ var OID4VCIMachineStates = /* @__PURE__ */ function(OID4VCIMachineStates2) {
198
200
  OID4VCIMachineStates2["error"] = "error";
199
201
  OID4VCIMachineStates2["done"] = "done";
200
202
  return OID4VCIMachineStates2;
201
- }({});
202
- var OID4VCIMachineAddContactStates = /* @__PURE__ */ function(OID4VCIMachineAddContactStates2) {
203
+ })({});
204
+ var OID4VCIMachineAddContactStates = /* @__PURE__ */ (function(OID4VCIMachineAddContactStates2) {
203
205
  OID4VCIMachineAddContactStates2["idle"] = "idle";
204
206
  OID4VCIMachineAddContactStates2["next"] = "next";
205
207
  return OID4VCIMachineAddContactStates2;
206
- }({});
207
- var OID4VCIMachineVerifyPinStates = /* @__PURE__ */ function(OID4VCIMachineVerifyPinStates2) {
208
+ })({});
209
+ var OID4VCIMachineVerifyPinStates = /* @__PURE__ */ (function(OID4VCIMachineVerifyPinStates2) {
208
210
  OID4VCIMachineVerifyPinStates2["idle"] = "idle";
209
211
  OID4VCIMachineVerifyPinStates2["next"] = "next";
210
212
  return OID4VCIMachineVerifyPinStates2;
211
- }({});
212
- var OID4VCIMachineEvents = /* @__PURE__ */ function(OID4VCIMachineEvents2) {
213
+ })({});
214
+ var OID4VCIMachineEvents = /* @__PURE__ */ (function(OID4VCIMachineEvents2) {
213
215
  OID4VCIMachineEvents2["NEXT"] = "NEXT";
214
216
  OID4VCIMachineEvents2["PREVIOUS"] = "PREVIOUS";
215
217
  OID4VCIMachineEvents2["DECLINE"] = "DECLINE";
@@ -222,8 +224,8 @@ var OID4VCIMachineEvents = /* @__PURE__ */ function(OID4VCIMachineEvents2) {
222
224
  OID4VCIMachineEvents2["INVOKED_AUTHORIZATION_CODE_REQUEST"] = "INVOKED_AUTHORIZATION_CODE_REQUEST";
223
225
  OID4VCIMachineEvents2["PROVIDE_AUTHORIZATION_CODE_RESPONSE"] = "PROVIDE_AUTHORIZATION_CODE_RESPONSE";
224
226
  return OID4VCIMachineEvents2;
225
- }({});
226
- var OID4VCIMachineGuards = /* @__PURE__ */ function(OID4VCIMachineGuards2) {
227
+ })({});
228
+ var OID4VCIMachineGuards = /* @__PURE__ */ (function(OID4VCIMachineGuards2) {
227
229
  OID4VCIMachineGuards2["hasContactGuard"] = "oid4vciHasContactGuard";
228
230
  OID4VCIMachineGuards2["hasNoContactGuard"] = "oid4vciHasNoContactGuard";
229
231
  OID4VCIMachineGuards2["credentialsToSelectRequiredGuard"] = "oid4vciCredentialsToSelectRequiredGuard";
@@ -240,8 +242,8 @@ var OID4VCIMachineGuards = /* @__PURE__ */ function(OID4VCIMachineGuards2) {
240
242
  OID4VCIMachineGuards2["contactHasLowTrustGuard"] = "oid4vciContactHasLowTrustGuard";
241
243
  OID4VCIMachineGuards2["isFirstPartyApplication"] = "oid4vciIsFirstPartyApplication";
242
244
  return OID4VCIMachineGuards2;
243
- }({});
244
- var OID4VCIMachineServices = /* @__PURE__ */ function(OID4VCIMachineServices2) {
245
+ })({});
246
+ var OID4VCIMachineServices = /* @__PURE__ */ (function(OID4VCIMachineServices2) {
245
247
  OID4VCIMachineServices2["start"] = "start";
246
248
  OID4VCIMachineServices2["getContact"] = "getContact";
247
249
  OID4VCIMachineServices2["getFederationTrust"] = "getFederationTrust";
@@ -256,17 +258,17 @@ var OID4VCIMachineServices = /* @__PURE__ */ function(OID4VCIMachineServices2) {
256
258
  OID4VCIMachineServices2["storeCredentials"] = "storeCredentials";
257
259
  OID4VCIMachineServices2["startFirstPartApplicationFlow"] = "startFirstPartApplicationFlow";
258
260
  return OID4VCIMachineServices2;
259
- }({});
260
- var RequestType = /* @__PURE__ */ function(RequestType2) {
261
+ })({});
262
+ var RequestType = /* @__PURE__ */ (function(RequestType2) {
261
263
  RequestType2["OPENID_INITIATE_ISSUANCE"] = "openid-initiate-issuance";
262
264
  RequestType2["OPENID_CREDENTIAL_OFFER"] = "openid-credential-offer";
263
265
  RequestType2["URL"] = "URL";
264
266
  return RequestType2;
265
- }({});
266
- var IdentifierAliasEnum = /* @__PURE__ */ function(IdentifierAliasEnum2) {
267
+ })({});
268
+ var IdentifierAliasEnum = /* @__PURE__ */ (function(IdentifierAliasEnum2) {
267
269
  IdentifierAliasEnum2["PRIMARY"] = "primary";
268
270
  return IdentifierAliasEnum2;
269
- }({});
271
+ })({});
270
272
 
271
273
  // src/localization/Localization.ts
272
274
  var Localization = class Localization2 {
@@ -308,7 +310,7 @@ var Localization = class Localization2 {
308
310
  var translate = Localization.translate;
309
311
 
310
312
  // src/types/FirstPartyMachine.ts
311
- var FirstPartyMachineStateTypes = /* @__PURE__ */ function(FirstPartyMachineStateTypes2) {
313
+ var FirstPartyMachineStateTypes = /* @__PURE__ */ (function(FirstPartyMachineStateTypes2) {
312
314
  FirstPartyMachineStateTypes2["sendAuthorizationChallengeRequest"] = "sendAuthorizationChallengeRequest";
313
315
  FirstPartyMachineStateTypes2["sendAuthorizationResponse"] = "sendAuthorizationResponse";
314
316
  FirstPartyMachineStateTypes2["selectCredentials"] = "selectCredentials";
@@ -319,21 +321,21 @@ var FirstPartyMachineStateTypes = /* @__PURE__ */ function(FirstPartyMachineStat
319
321
  FirstPartyMachineStateTypes2["aborted"] = "aborted";
320
322
  FirstPartyMachineStateTypes2["declined"] = "declined";
321
323
  return FirstPartyMachineStateTypes2;
322
- }({});
323
- var FirstPartyMachineServices = /* @__PURE__ */ function(FirstPartyMachineServices2) {
324
+ })({});
325
+ var FirstPartyMachineServices = /* @__PURE__ */ (function(FirstPartyMachineServices2) {
324
326
  FirstPartyMachineServices2["sendAuthorizationChallengeRequest"] = "sendAuthorizationChallengeRequest";
325
327
  FirstPartyMachineServices2["sendAuthorizationResponse"] = "sendAuthorizationResponse";
326
328
  FirstPartyMachineServices2["createConfig"] = "createConfig";
327
329
  FirstPartyMachineServices2["getSiopRequest"] = "getSiopRequest";
328
330
  return FirstPartyMachineServices2;
329
- }({});
330
- var FirstPartyMachineEvents = /* @__PURE__ */ function(FirstPartyMachineEvents2) {
331
+ })({});
332
+ var FirstPartyMachineEvents = /* @__PURE__ */ (function(FirstPartyMachineEvents2) {
331
333
  FirstPartyMachineEvents2["NEXT"] = "NEXT";
332
334
  FirstPartyMachineEvents2["PREVIOUS"] = "PREVIOUS";
333
335
  FirstPartyMachineEvents2["DECLINE"] = "DECLINE";
334
336
  FirstPartyMachineEvents2["SET_SELECTED_CREDENTIALS"] = "SET_SELECTED_CREDENTIALS";
335
337
  return FirstPartyMachineEvents2;
336
- }({});
338
+ })({});
337
339
 
338
340
  // src/machines/oid4vciMachine.ts
339
341
  var oid4vciHasNoContactGuard = /* @__PURE__ */ __name((_ctx, _event) => {
@@ -2077,7 +2079,7 @@ var getIssuanceCryptoSuite = /* @__PURE__ */ __name(async (opts) => {
2077
2079
  case "jwt":
2078
2080
  case "jwt_vc_json":
2079
2081
  case "jwt_vc":
2080
- //case 'vc+sd-jwt': FIXME re-enable for vcdm2
2082
+ //case 'vc+sd-jwt': // TODO see SSISDK-52 concerning vc+sd-jwt
2081
2083
  case "dc+sd-jwt":
2082
2084
  case "mso_mdoc": {
2083
2085
  const supportedPreferences = jwtCryptographicSuitePreferences.filter((suite) => signing_algs_supported.includes(suite));
@@ -2146,7 +2148,6 @@ var startFirstPartApplicationMachine = /* @__PURE__ */ __name(async (args, conte
2146
2148
  }, "startFirstPartApplicationMachine");
2147
2149
 
2148
2150
  // src/agent/OID4VCIHolder.ts
2149
- var import_polyfill = require("cross-fetch/polyfill");
2150
2151
  var oid4vciHolderContextMethods = [
2151
2152
  "cmGetContacts",
2152
2153
  "cmGetContact",
@@ -2367,7 +2368,6 @@ var OID4VCIHolder = class _OID4VCIHolder {
2367
2368
  formats = Array.from(new Set(authFormats));
2368
2369
  }
2369
2370
  let oid4vciClient;
2370
- let types = void 0;
2371
2371
  let offer;
2372
2372
  if (requestData.existingClientState) {
2373
2373
  oid4vciClient = await import_oid4vci_client3.OpenID4VCIClient.fromState({
@@ -2403,17 +2403,18 @@ var OID4VCIHolder = class _OID4VCIHolder {
2403
2403
  });
2404
2404
  }
2405
2405
  }
2406
+ let configurationIds = [];
2406
2407
  if (offer) {
2407
- types = (0, import_oid4vci_common4.getTypesFromCredentialOffer)(offer.original_credential_offer);
2408
+ configurationIds = offer.original_credential_offer.credential_configuration_ids;
2408
2409
  } else {
2409
- types = (0, import_utils2.asArray)(authorizationRequestOpts.authorizationDetails).map((authReqOpts) => (0, import_oid4vci_common4.getTypesFromAuthorizationDetails)(authReqOpts) ?? []).filter((inner) => inner.length > 0);
2410
+ configurationIds = (0, import_utils2.asArray)(authorizationRequestOpts.authorizationDetails).filter((authDetails) => typeof authDetails !== "string").map((authReqOpts) => authReqOpts.credential_configuration_id).filter((id) => !!id);
2410
2411
  }
2411
- const serverMetadata = await oid4vciClient.retrieveServerMetadata();
2412
2412
  const credentialsSupported = await getCredentialConfigsSupportedMerged({
2413
2413
  client: oid4vciClient,
2414
2414
  vcFormatPreferences: formats,
2415
- types
2415
+ configurationIds
2416
2416
  });
2417
+ const serverMetadata = await oid4vciClient.retrieveServerMetadata();
2417
2418
  const credentialBranding = await getCredentialBranding({
2418
2419
  credentialsSupported,
2419
2420
  context
@@ -2630,26 +2631,26 @@ var OID4VCIHolder = class _OID4VCIHolder {
2630
2631
  return Promise.reject(Error("Missing credential offers in context"));
2631
2632
  }
2632
2633
  let correlationId = credentialsToAccept[0].correlationId;
2633
- let identifierType = import_ssi_sdk3.CorrelationIdentifierType.DID;
2634
+ let identifierType = import_ssi_sdk4.CorrelationIdentifierType.DID;
2634
2635
  if (!correlationId.toLowerCase().startsWith("did:")) {
2635
- identifierType = import_ssi_sdk3.CorrelationIdentifierType.URL;
2636
+ identifierType = import_ssi_sdk4.CorrelationIdentifierType.URL;
2636
2637
  if (correlationId.startsWith("http")) {
2637
2638
  correlationId = new URL(correlationId).hostname;
2638
2639
  }
2639
2640
  }
2640
2641
  const identity = {
2641
2642
  alias: credentialsToAccept[0].correlationId,
2642
- origin: import_ssi_sdk3.IdentityOrigin.EXTERNAL,
2643
+ origin: import_ssi_sdk4.IdentityOrigin.EXTERNAL,
2643
2644
  roles: [
2644
- import_ssi_sdk3.CredentialRole.ISSUER
2645
+ import_ssi_types2.CredentialRole.ISSUER
2645
2646
  ],
2646
2647
  identifier: {
2647
2648
  type: identifierType,
2648
2649
  correlationId
2649
2650
  },
2650
- ...identifierType === import_ssi_sdk3.CorrelationIdentifierType.URL && {
2651
+ ...identifierType === import_ssi_sdk4.CorrelationIdentifierType.URL && {
2651
2652
  connection: {
2652
- type: import_ssi_sdk3.ConnectionType.OPENID_CONNECT,
2653
+ type: import_ssi_sdk4.ConnectionType.OPENID_CONNECT,
2653
2654
  config: {
2654
2655
  clientId: "138d7bf8-c930-4c6e-b928-97d3a4928b01",
2655
2656
  clientSecret: "03b3955f-d020-4f2a-8a27-4e452d4e27a0",
@@ -2676,7 +2677,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
2676
2677
  }
2677
2678
  async oid4vciHolderGetIssuerBranding(args, context) {
2678
2679
  const { serverMetadata, contact } = args;
2679
- const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_sdk3.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
2680
+ const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_types2.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
2680
2681
  if (issuerCorrelationId) {
2681
2682
  const branding = await context.agent.ibGetIssuerBranding({
2682
2683
  filter: [
@@ -2706,7 +2707,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
2706
2707
  if (!contact) {
2707
2708
  return Promise.reject(Error("Missing contact in context"));
2708
2709
  }
2709
- const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_sdk3.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
2710
+ const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_types2.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
2710
2711
  const branding = await context.agent.ibGetIssuerBranding({
2711
2712
  filter: [
2712
2713
  {
@@ -2908,8 +2909,8 @@ var OID4VCIHolder = class _OID4VCIHolder {
2908
2909
  rawDocument: (0, import_ssi_sdk3.ensureRawDocument)(persistCredential),
2909
2910
  kmsKeyRef,
2910
2911
  identifierMethod: method,
2911
- credentialRole: import_ssi_sdk3.CredentialRole.HOLDER,
2912
- issuerCorrelationType: issuer?.startsWith("did:") ? import_ssi_sdk3.CredentialCorrelationType.DID : import_ssi_sdk3.CredentialCorrelationType.URL,
2912
+ credentialRole: import_ssi_types2.CredentialRole.HOLDER,
2913
+ issuerCorrelationType: issuer?.startsWith("did:") ? import_ssi_sdk4.CredentialCorrelationType.DID : import_ssi_sdk4.CredentialCorrelationType.URL,
2913
2914
  issuerCorrelationId: issuer,
2914
2915
  subjectCorrelationType,
2915
2916
  subjectCorrelationId
@@ -2977,12 +2978,12 @@ var OID4VCIHolder = class _OID4VCIHolder {
2977
2978
  case "did":
2978
2979
  if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierDidResult)(identifier)) {
2979
2980
  return [
2980
- import_ssi_sdk3.CredentialCorrelationType.DID,
2981
+ import_ssi_sdk4.CredentialCorrelationType.DID,
2981
2982
  identifier.did
2982
2983
  ];
2983
2984
  } else if ((0, import_ssi_sdk_ext6.isManagedIdentifierDidOpts)(identifier)) {
2984
2985
  return [
2985
- import_ssi_sdk3.CredentialCorrelationType.DID,
2986
+ import_ssi_sdk4.CredentialCorrelationType.DID,
2986
2987
  typeof identifier.identifier === "string" ? identifier.identifier : identifier.identifier.did
2987
2988
  ];
2988
2989
  }
@@ -2990,12 +2991,12 @@ var OID4VCIHolder = class _OID4VCIHolder {
2990
2991
  case "kid":
2991
2992
  if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierKidResult)(identifier)) {
2992
2993
  return [
2993
- import_ssi_sdk3.CredentialCorrelationType.KID,
2994
+ import_ssi_sdk4.CredentialCorrelationType.KID,
2994
2995
  identifier.kid
2995
2996
  ];
2996
2997
  } else if ((0, import_ssi_sdk_ext6.isManagedIdentifierDidOpts)(identifier)) {
2997
2998
  return [
2998
- import_ssi_sdk3.CredentialCorrelationType.KID,
2999
+ import_ssi_sdk4.CredentialCorrelationType.KID,
2999
3000
  identifier.identifier
3000
3001
  ];
3001
3002
  }
@@ -3003,19 +3004,19 @@ var OID4VCIHolder = class _OID4VCIHolder {
3003
3004
  case "x5c":
3004
3005
  if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierX5cResult)(identifier)) {
3005
3006
  return [
3006
- import_ssi_sdk3.CredentialCorrelationType.X509_SAN,
3007
+ import_ssi_sdk4.CredentialCorrelationType.X509_SAN,
3007
3008
  identifier.x5c.join("\r\n")
3008
3009
  ];
3009
3010
  } else if ((0, import_ssi_sdk_ext6.isManagedIdentifierX5cOpts)(identifier)) {
3010
3011
  return [
3011
- import_ssi_sdk3.CredentialCorrelationType.X509_SAN,
3012
+ import_ssi_sdk4.CredentialCorrelationType.X509_SAN,
3012
3013
  identifier.identifier.join("\r\n")
3013
3014
  ];
3014
3015
  }
3015
3016
  break;
3016
3017
  }
3017
3018
  return [
3018
- import_ssi_sdk3.CredentialCorrelationType.URL,
3019
+ import_ssi_sdk4.CredentialCorrelationType.URL,
3019
3020
  issuer
3020
3021
  ];
3021
3022
  }
@@ -3074,9 +3075,9 @@ var OID4VCICallbackStateListener = /* @__PURE__ */ __name((callbacks) => {
3074
3075
  // src/link-handler/index.ts
3075
3076
  var import_oid4vci_client4 = require("@sphereon/oid4vci-client");
3076
3077
  var import_oid4vci_common5 = require("@sphereon/oid4vci-common");
3077
- var import_ssi_sdk4 = require("@sphereon/ssi-sdk.core");
3078
- var import_ssi_sdk5 = require("@sphereon/ssi-sdk.xstate-machine-persistence");
3079
- var OID4VCIHolderLinkHandler = class extends import_ssi_sdk4.LinkHandlerAdapter {
3078
+ var import_ssi_sdk5 = require("@sphereon/ssi-sdk.core");
3079
+ var import_ssi_sdk6 = require("@sphereon/ssi-sdk.xstate-machine-persistence");
3080
+ var OID4VCIHolderLinkHandler = class extends import_ssi_sdk5.LinkHandlerAdapter {
3080
3081
  static {
3081
3082
  __name(this, "OID4VCIHolderLinkHandler");
3082
3083
  }
@@ -3136,7 +3137,7 @@ var OID4VCIHolderLinkHandler = class extends import_ssi_sdk4.LinkHandlerAdapter
3136
3137
  const interpreter = oid4vciMachine.interpreter;
3137
3138
  if (!opts?.machineState && this.context.agent.availableMethods().includes("machineStatesFindActive")) {
3138
3139
  const stateType = hasCode ? "existing" : "new";
3139
- await (0, import_ssi_sdk5.interpreterStartOrResume)({
3140
+ await (0, import_ssi_sdk6.interpreterStartOrResume)({
3140
3141
  stateType,
3141
3142
  interpreter,
3142
3143
  context: this.context,