@sphereon/oid4vci-common 0.8.2-next.4 → 0.8.2-next.9

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.
Files changed (41) hide show
  1. package/dist/functions/CredentialOfferUtil.d.ts +3 -0
  2. package/dist/functions/CredentialOfferUtil.d.ts.map +1 -1
  3. package/dist/functions/CredentialOfferUtil.js +29 -1
  4. package/dist/functions/CredentialOfferUtil.js.map +1 -1
  5. package/dist/functions/CredentialRequestUtil.d.ts +3 -2
  6. package/dist/functions/CredentialRequestUtil.d.ts.map +1 -1
  7. package/dist/functions/CredentialRequestUtil.js +26 -2
  8. package/dist/functions/CredentialRequestUtil.js.map +1 -1
  9. package/dist/functions/FormatUtils.d.ts +15 -0
  10. package/dist/functions/FormatUtils.d.ts.map +1 -0
  11. package/dist/functions/FormatUtils.js +44 -0
  12. package/dist/functions/FormatUtils.js.map +1 -0
  13. package/dist/functions/IssuerMetadataUtils.d.ts +3 -0
  14. package/dist/functions/IssuerMetadataUtils.d.ts.map +1 -1
  15. package/dist/functions/IssuerMetadataUtils.js +21 -4
  16. package/dist/functions/IssuerMetadataUtils.js.map +1 -1
  17. package/dist/functions/index.d.ts +1 -0
  18. package/dist/functions/index.d.ts.map +1 -1
  19. package/dist/functions/index.js +1 -0
  20. package/dist/functions/index.js.map +1 -1
  21. package/dist/types/Authorization.types.d.ts +14 -5
  22. package/dist/types/Authorization.types.d.ts.map +1 -1
  23. package/dist/types/Authorization.types.js.map +1 -1
  24. package/dist/types/Generic.types.d.ts +46 -17
  25. package/dist/types/Generic.types.d.ts.map +1 -1
  26. package/dist/types/Generic.types.js.map +1 -1
  27. package/dist/types/v1_0_08.types.d.ts +6 -2
  28. package/dist/types/v1_0_08.types.d.ts.map +1 -1
  29. package/dist/types/v1_0_11.types.d.ts +3 -15
  30. package/dist/types/v1_0_11.types.d.ts.map +1 -1
  31. package/dist/types/v1_0_11.types.js.map +1 -1
  32. package/lib/functions/CredentialOfferUtil.ts +27 -0
  33. package/lib/functions/CredentialRequestUtil.ts +31 -3
  34. package/lib/functions/FormatUtils.ts +52 -0
  35. package/lib/functions/IssuerMetadataUtils.ts +20 -3
  36. package/lib/functions/index.ts +1 -0
  37. package/lib/types/Authorization.types.ts +28 -5
  38. package/lib/types/Generic.types.ts +60 -15
  39. package/lib/types/v1_0_08.types.ts +7 -2
  40. package/lib/types/v1_0_11.types.ts +6 -20
  41. package/package.json +2 -2
@@ -22,4 +22,7 @@ export declare function getCredentialOfferPayload(offer: AssertedUniformCredenti
22
22
  export declare function determineGrantTypes(offer: AssertedUniformCredentialOffer | UniformCredentialOfferPayload | ({
23
23
  grants: Grant;
24
24
  } & Record<never, never>)): GrantTypes[];
25
+ export declare function getTypesFromOffer(credentialOffer: UniformCredentialOfferPayload, opts?: {
26
+ filterVerifiableCredential: boolean;
27
+ }): string[];
25
28
  //# sourceMappingURL=CredentialOfferUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialOfferUtil.d.ts","sourceRoot":"","sources":["../../lib/functions/CredentialOfferUtil.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAC9B,aAAa,EACb,eAAe,EACf,sBAAsB,EAKtB,KAAK,EACL,UAAU,EACV,iBAAiB,EAEjB,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AAMlB,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAmB1E;AAED,wBAAgB,8BAA8B,CAAC,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,qBAS9G;AAED,wBAAgB,SAAS,CAAC,kBAAkB,EAAE,MAAM,UAKnD;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAKvG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,GAAG,iBAAiB,CAShH;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,iBAAiB,WAaxI;AA+CD,wBAAsB,+BAA+B,CACnD,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE;IACL,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,GACA,OAAO,CAAC,6BAA6B,CAAC,CAwBxC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,6BAA6B,GAAG,sBAAsB,WAG5F;AAED,wBAAsB,8BAA8B,CAClD,mBAAmB,EAAE,sBAAsB,EAC3C,IAAI,CAAC,EAAE;IACL,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,OAAO,CAAC,8BAA8B,CAAC,CAczC;AAED,wBAAsB,yBAAyB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,GAAG,SAAS,CAAC,CAShH;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,sBAAsB,EAC7B,IAAI,CAAC,EAAE;IACL,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,GACA,6BAA6B,CAkD/B;AAED,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,8BAA8B,GAAG,6BAA6B,EAC7E,OAAO,EAAE,iBAAiB,GACzB,aAAa,EAAE,CAcjB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,GAAG,6BAA6B,GAAG,6BAA6B,CAQ9I;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EACD,8BAA8B,GAC9B,6BAA6B,GAC7B,CAAC;IACC,MAAM,EAAE,KAAK,CAAC;CACf,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAC5B,UAAU,EAAE,CAqBd"}
1
+ {"version":3,"file":"CredentialOfferUtil.d.ts","sourceRoot":"","sources":["../../lib/functions/CredentialOfferUtil.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,8BAA8B,EAC9B,aAAa,EACb,eAAe,EACf,sBAAsB,EAKtB,KAAK,EACL,UAAU,EACV,iBAAiB,EAEjB,sBAAsB,EACtB,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,UAAU,CAAC;AAMlB,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAmB1E;AAED,wBAAgB,8BAA8B,CAAC,kBAAkB,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,qBAS9G;AAED,wBAAgB,SAAS,CAAC,kBAAkB,EAAE,MAAM,UAKnD;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAKvG;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,GAAG,iBAAiB,CAShH;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,sBAAsB,GAAG,eAAe,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,iBAAiB,WAaxI;AA+CD,wBAAsB,+BAA+B,CACnD,KAAK,EAAE,eAAe,EACtB,IAAI,CAAC,EAAE;IACL,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,GACA,OAAO,CAAC,6BAA6B,CAAC,CAwBxC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,6BAA6B,GAAG,sBAAsB,WAG5F;AAED,wBAAsB,8BAA8B,CAClD,mBAAmB,EAAE,sBAAsB,EAC3C,IAAI,CAAC,EAAE;IACL,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,OAAO,CAAC,8BAA8B,CAAC,CAczC;AAED,wBAAsB,yBAAyB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,GAAG,SAAS,CAAC,CAShH;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,sBAAsB,EAC7B,IAAI,CAAC,EAAE;IACL,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,GACA,6BAA6B,CAkD/B;AAED,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,8BAA8B,GAAG,6BAA6B,EAC7E,OAAO,EAAE,iBAAiB,GACzB,aAAa,EAAE,CAcjB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,GAAG,6BAA6B,GAAG,6BAA6B,CAQ9I;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EACD,8BAA8B,GAC9B,6BAA6B,GAC7B,CAAC;IACC,MAAM,EAAE,KAAK,CAAC;CACf,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAC5B,UAAU,EAAE,CAqBd;AAmBD,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,6BAA6B,EAAE,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YAyB/H"}
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.determineGrantTypes = exports.getCredentialOfferPayload = exports.determineFlowType = exports.toUniformCredentialOfferPayload = exports.resolveCredentialOfferURI = exports.assertedUniformCredentialOffer = exports.isPreAuthCode = exports.toUniformCredentialOfferRequest = exports.isCredentialOfferVersion = exports.determineSpecVersionFromOffer = exports.getIssuerFromCredentialOfferPayload = exports.getScheme = exports.determineSpecVersionFromScheme = exports.determineSpecVersionFromURI = void 0;
15
+ exports.getTypesFromOffer = exports.determineGrantTypes = exports.getCredentialOfferPayload = exports.determineFlowType = exports.toUniformCredentialOfferPayload = exports.resolveCredentialOfferURI = exports.assertedUniformCredentialOffer = exports.isPreAuthCode = exports.toUniformCredentialOfferRequest = exports.isCredentialOfferVersion = exports.determineSpecVersionFromOffer = exports.getIssuerFromCredentialOfferPayload = exports.getScheme = exports.determineSpecVersionFromScheme = exports.determineSpecVersionFromURI = void 0;
16
16
  const debug_1 = __importDefault(require("debug"));
17
17
  const types_1 = require("../types");
18
18
  const HttpUtils_1 = require("./HttpUtils");
@@ -305,4 +305,32 @@ function recordVersion(currentVersion, matchingVersion, key) {
305
305
  }
306
306
  throw new Error(`Invalid param. Some keys have been used from version: ${currentVersion} version while '${key}' is used from version: ${matchingVersion}`);
307
307
  }
308
+ function getTypesFromOffer(credentialOffer, opts) {
309
+ const types = credentialOffer.credentials.reduce((prev, curr) => {
310
+ // FIXME returning the string value is wrong (as it's an id), but just matching the current behavior of this library
311
+ // The credential_type (from draft 8) and the actual 'type' value in a VC (from draft 11) are mixed up
312
+ // Fix for this here: https://github.com/Sphereon-Opensource/OID4VCI/pull/54
313
+ if (typeof curr === 'string') {
314
+ return [...prev, curr];
315
+ }
316
+ else if (curr.format === 'jwt_vc_json-ld' || curr.format === 'ldp_vc') {
317
+ return [...prev, ...curr.credential_definition.types];
318
+ }
319
+ else if (curr.format === 'jwt_vc_json') {
320
+ return [...prev, ...curr.types];
321
+ }
322
+ else if (curr.format === 'vc+sd-jwt') {
323
+ return [...prev, curr.credential_definition.vct];
324
+ }
325
+ return prev;
326
+ }, []);
327
+ if (!types || types.length === 0) {
328
+ throw Error('Could not deduce types from credential offer');
329
+ }
330
+ if (opts === null || opts === void 0 ? void 0 : opts.filterVerifiableCredential) {
331
+ return types.filter((type) => type !== 'VerifiableCredential');
332
+ }
333
+ return types;
334
+ }
335
+ exports.getTypesFromOffer = getTypesFromOffer;
308
336
  //# sourceMappingURL=CredentialOfferUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialOfferUtil.js","sourceRoot":"","sources":["../../lib/functions/CredentialOfferUtil.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CredentialOfferUtil.js","sourceRoot":"","sources":["../../lib/functions/CredentialOfferUtil.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- import { CredentialRequestV1_0_11 } from '../types';
2
- export declare function getTypesFromRequest(credentialRequest: CredentialRequestV1_0_11, opts?: {
1
+ import { CredentialRequestV1_0_08, OpenId4VCIVersion, UniformCredentialRequest } from '../types';
2
+ export declare function getTypesFromRequest(credentialRequest: UniformCredentialRequest, opts?: {
3
3
  filterVerifiableCredential: boolean;
4
4
  }): string[];
5
+ export declare function getCredentialRequestForVersion(credentialRequest: UniformCredentialRequest, version: OpenId4VCIVersion): UniformCredentialRequest | CredentialRequestV1_0_08;
5
6
  //# sourceMappingURL=CredentialRequestUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialRequestUtil.d.ts","sourceRoot":"","sources":["../../lib/functions/CredentialRequestUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YAS9H"}
1
+ {"version":3,"file":"CredentialRequestUtil.d.ts","sourceRoot":"","sources":["../../lib/functions/CredentialRequestUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIjG,wBAAgB,mBAAmB,CAAC,iBAAiB,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YAiB9H;AAED,wBAAgB,8BAA8B,CAC5C,iBAAiB,EAAE,wBAAwB,EAC3C,OAAO,EAAE,iBAAiB,GACzB,wBAAwB,GAAG,wBAAwB,CAarD"}
@@ -1,8 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTypesFromRequest = void 0;
3
+ exports.getCredentialRequestForVersion = exports.getTypesFromRequest = void 0;
4
+ const types_1 = require("../types");
5
+ const FormatUtils_1 = require("./FormatUtils");
4
6
  function getTypesFromRequest(credentialRequest, opts) {
5
- const types = 'types' in credentialRequest ? credentialRequest.types : credentialRequest.credential_definition.types;
7
+ let types = [];
8
+ if (credentialRequest.format === 'jwt_vc_json') {
9
+ types = credentialRequest.types;
10
+ }
11
+ else if (credentialRequest.format === 'jwt_vc_json-ld' || credentialRequest.format === 'ldp_vc') {
12
+ types = credentialRequest.credential_definition.types;
13
+ }
14
+ else if (credentialRequest.format === 'vc+sd-jwt') {
15
+ types = [credentialRequest.credential_definition.vct];
16
+ }
6
17
  if (!types || types.length === 0) {
7
18
  throw Error('Could not deduce types from credential request');
8
19
  }
@@ -12,4 +23,17 @@ function getTypesFromRequest(credentialRequest, opts) {
12
23
  return types;
13
24
  }
14
25
  exports.getTypesFromRequest = getTypesFromRequest;
26
+ function getCredentialRequestForVersion(credentialRequest, version) {
27
+ if (version === types_1.OpenId4VCIVersion.VER_1_0_08) {
28
+ const draft8Format = (0, FormatUtils_1.getFormatForVersion)(credentialRequest.format, version);
29
+ const types = getTypesFromRequest(credentialRequest, { filterVerifiableCredential: true });
30
+ return {
31
+ format: draft8Format,
32
+ proof: credentialRequest.proof,
33
+ type: types[0],
34
+ };
35
+ }
36
+ return credentialRequest;
37
+ }
38
+ exports.getCredentialRequestForVersion = getCredentialRequestForVersion;
15
39
  //# sourceMappingURL=CredentialRequestUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialRequestUtil.js","sourceRoot":"","sources":["../../lib/functions/CredentialRequestUtil.ts"],"names":[],"mappings":";;;AAEA,SAAgB,mBAAmB,CAAC,iBAA2C,EAAE,IAA8C;IAC7H,MAAM,KAAK,GAAG,OAAO,IAAI,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,CAAC;IACrH,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;KAC/D;IACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,0BAA0B,EAAE;QACpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;KAChE;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AATD,kDASC"}
1
+ {"version":3,"file":"CredentialRequestUtil.js","sourceRoot":"","sources":["../../lib/functions/CredentialRequestUtil.ts"],"names":[],"mappings":";;;AAAA,oCAAiG;AAEjG,+CAAoD;AAEpD,SAAgB,mBAAmB,CAAC,iBAA2C,EAAE,IAA8C;IAC7H,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,iBAAiB,CAAC,MAAM,KAAK,aAAa,EAAE;QAC9C,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;KACjC;SAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,gBAAgB,IAAI,iBAAiB,CAAC,MAAM,KAAK,QAAQ,EAAE;QACjG,KAAK,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,KAAK,CAAC;KACvD;SAAM,IAAI,iBAAiB,CAAC,MAAM,KAAK,WAAW,EAAE;QACnD,KAAK,GAAG,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;KACvD;IAED,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAChC,MAAM,KAAK,CAAC,gDAAgD,CAAC,CAAC;KAC/D;IACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,0BAA0B,EAAE;QACpC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,sBAAsB,CAAC,CAAC;KAChE;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAjBD,kDAiBC;AAED,SAAgB,8BAA8B,CAC5C,iBAA2C,EAC3C,OAA0B;IAE1B,IAAI,OAAO,KAAK,yBAAiB,CAAC,UAAU,EAAE;QAC5C,MAAM,YAAY,GAAG,IAAA,iCAAmB,EAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3F,OAAO;YACL,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,iBAAiB,CAAC,KAAK;YAC9B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;SACoB,CAAC;KACtC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAhBD,wEAgBC"}
@@ -0,0 +1,15 @@
1
+ import { CredentialFormat } from '@sphereon/ssi-types';
2
+ import { OID4VCICredentialFormat, OpenId4VCIVersion } from '../types';
3
+ export declare function isFormat<T extends {
4
+ format?: OID4VCICredentialFormat;
5
+ }, Format extends OID4VCICredentialFormat>(formatObject: T, format: Format): formatObject is T & {
6
+ format: Format;
7
+ };
8
+ export declare function isNotFormat<T extends {
9
+ format?: OID4VCICredentialFormat;
10
+ }, Format extends OID4VCICredentialFormat>(formatObject: T, format: Format): formatObject is T & {
11
+ format: Exclude<OID4VCICredentialFormat, Format>;
12
+ };
13
+ export declare function getUniformFormat(format: string | OID4VCICredentialFormat | CredentialFormat): OID4VCICredentialFormat;
14
+ export declare function getFormatForVersion(format: string, version: OpenId4VCIVersion): "jwt_vc" | OID4VCICredentialFormat;
15
+ //# sourceMappingURL=FormatUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/FormatUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtE,wBAAgB,QAAQ,CAAC,CAAC,SAAS;IAAE,MAAM,CAAC,EAAE,uBAAuB,CAAA;CAAE,EAAE,MAAM,SAAS,uBAAuB,EAC7G,YAAY,EAAE,CAAC,EACf,MAAM,EAAE,MAAM,GACb,YAAY,IAAI,CAAC,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAExC;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,MAAM,CAAC,EAAE,uBAAuB,CAAA;CAAE,EAAE,MAAM,SAAS,uBAAuB,EAChH,YAAY,EAAE,CAAC,EACf,MAAM,EAAE,MAAM,GACb,YAAY,IAAI,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAA;CAAE,CAE1E;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB,GAAG,gBAAgB,GAAG,uBAAuB,CAerH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,sCAY7E"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFormatForVersion = exports.getUniformFormat = exports.isNotFormat = exports.isFormat = void 0;
4
+ const types_1 = require("../types");
5
+ function isFormat(formatObject, format) {
6
+ return formatObject.format === format;
7
+ }
8
+ exports.isFormat = isFormat;
9
+ function isNotFormat(formatObject, format) {
10
+ return formatObject.format !== format;
11
+ }
12
+ exports.isNotFormat = isNotFormat;
13
+ const isUniformFormat = (format) => {
14
+ return ['jwt_vc_json', 'jwt_vc_json-ld', 'ldp_vc', 'vc+sd-jwt'].includes(format);
15
+ };
16
+ function getUniformFormat(format) {
17
+ // Already valid format
18
+ if (isUniformFormat(format)) {
19
+ return format;
20
+ }
21
+ // Older formats
22
+ if (format === 'jwt_vc' || format === 'jwt') {
23
+ return 'jwt_vc_json';
24
+ }
25
+ if (format === 'ldp_vc' || format === 'ldp') {
26
+ return 'ldp_vc';
27
+ }
28
+ throw new Error(`Invalid format: ${format}`);
29
+ }
30
+ exports.getUniformFormat = getUniformFormat;
31
+ function getFormatForVersion(format, version) {
32
+ const uniformFormat = isUniformFormat(format) ? format : getUniformFormat(format);
33
+ if (version === types_1.OpenId4VCIVersion.VER_1_0_08) {
34
+ if (uniformFormat === 'jwt_vc_json') {
35
+ return 'jwt_vc';
36
+ }
37
+ else if (uniformFormat === 'ldp_vc' || uniformFormat === 'jwt_vc_json-ld') {
38
+ return 'ldp_vc';
39
+ }
40
+ }
41
+ return uniformFormat;
42
+ }
43
+ exports.getFormatForVersion = getFormatForVersion;
44
+ //# sourceMappingURL=FormatUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatUtils.js","sourceRoot":"","sources":["../../lib/functions/FormatUtils.ts"],"names":[],"mappings":";;;AAEA,oCAAsE;AAEtE,SAAgB,QAAQ,CACtB,YAAe,EACf,MAAc;IAEd,OAAO,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;AACxC,CAAC;AALD,4BAKC;AAED,SAAgB,WAAW,CACzB,YAAe,EACf,MAAc;IAEd,OAAO,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;AACxC,CAAC;AALD,kCAKC;AAED,MAAM,eAAe,GAAG,CAAC,MAAc,EAAqC,EAAE;IAC5E,OAAO,CAAC,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,SAAgB,gBAAgB,CAAC,MAA2D;IAC1F,uBAAuB;IACvB,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE;QAC3B,OAAO,MAAM,CAAC;KACf;IAED,gBAAgB;IAChB,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE;QAC3C,OAAO,aAAa,CAAC;KACtB;IACD,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE;QAC3C,OAAO,QAAQ,CAAC;KACjB;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAfD,4CAeC;AAED,SAAgB,mBAAmB,CAAC,MAAc,EAAE,OAA0B;IAC5E,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAElF,IAAI,OAAO,KAAK,yBAAiB,CAAC,UAAU,EAAE;QAC5C,IAAI,aAAa,KAAK,aAAa,EAAE;YACnC,OAAO,QAAiB,CAAC;SAC1B;aAAM,IAAI,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,gBAAgB,EAAE;YAC3E,OAAO,QAAiB,CAAC;SAC1B;KACF;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAZD,kDAYC"}
@@ -11,6 +11,9 @@ export declare function getSupportedCredential(opts?: {
11
11
  types?: string | string[];
12
12
  format?: (OID4VCICredentialFormat | string) | (OID4VCICredentialFormat | string)[];
13
13
  }): CredentialSupported[];
14
+ export declare function getTypesFromCredentialSupported(credentialSupported: CredentialSupported, opts?: {
15
+ filterVerifiableCredential: boolean;
16
+ }): string[];
14
17
  export declare function credentialsSupportedV8ToV11(supportedV8: CredentialSupportedTypeV1_0_08): CredentialSupported[];
15
18
  export declare function credentialSupportedV8ToV11(key: string, supportedV8: CredentialSupportedV1_0_08): CredentialSupported[];
16
19
  export declare function getIssuerDisplays(metadata: CredentialIssuerMetadata | IssuerMetadataV1_0_08, opts?: {
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerMetadataUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAExB,mBAAmB,EACnB,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE;IAC7C,cAAc,CAAC,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IAClE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CACpF,GAAG,mBAAmB,EAAE,CAKxB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE;IAC5C,cAAc,CAAC,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IAClE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CACpF,GAAG,mBAAmB,EAAE,CAsExB;AAaD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,8BAA8B,GAAG,mBAAmB,EAAE,CAM9G;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,mBAAmB,EAAE,CAgBtH;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,qBAAqB,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,EAAE,CAMjJ"}
1
+ {"version":3,"file":"IssuerMetadataUtils.d.ts","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAExB,mBAAmB,EACnB,8BAA8B,EAC9B,0BAA0B,EAC1B,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAElB,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE;IAC7C,cAAc,CAAC,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IAClE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CACpF,GAAG,mBAAmB,EAAE,CAKxB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE;IAC5C,cAAc,CAAC,EAAE,wBAAwB,GAAG,qBAAqB,CAAC;IAClE,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,CAAC,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,GAAG,MAAM,CAAC,EAAE,CAAC;CACpF,GAAG,mBAAmB,EAAE,CAsExB;AAED,wBAAgB,+BAA+B,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE;IAAE,0BAA0B,EAAE,OAAO,CAAA;CAAE,YAevI;AAaD,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,8BAA8B,GAAG,mBAAmB,EAAE,CAM9G;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,GAAG,mBAAmB,EAAE,CAgBtH;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,qBAAqB,EAAE,IAAI,CAAC,EAAE;IAAE,WAAW,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,eAAe,EAAE,CAMjJ"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getIssuerDisplays = exports.credentialSupportedV8ToV11 = exports.credentialsSupportedV8ToV11 = exports.getSupportedCredential = exports.getSupportedCredentials = void 0;
3
+ exports.getIssuerDisplays = exports.credentialSupportedV8ToV11 = exports.credentialsSupportedV8ToV11 = exports.getTypesFromCredentialSupported = exports.getSupportedCredential = exports.getSupportedCredentials = void 0;
4
4
  const types_1 = require("../types");
5
5
  function getSupportedCredentials(opts) {
6
6
  if ((opts === null || opts === void 0 ? void 0 : opts.types) && Array.isArray(opts === null || opts === void 0 ? void 0 : opts.types)) {
@@ -58,7 +58,7 @@ function getSupportedCredential(opts) {
58
58
  const credentialSupportedOverlap = [];
59
59
  if (((opts === null || opts === void 0 ? void 0 : opts.types) && typeof (opts === null || opts === void 0 ? void 0 : opts.types) === 'string') || ((_a = opts === null || opts === void 0 ? void 0 : opts.types) === null || _a === void 0 ? void 0 : _a.length) === 1) {
60
60
  const types = Array.isArray(opts.types) ? opts.types[0] : opts.types;
61
- const supported = credentialsSupported.filter((sup) => sup.id === types || (initiationTypes && arrayEqualsIgnoreOrder(sup.types, initiationTypes)));
61
+ const supported = credentialsSupported.filter((sup) => sup.id === types || (initiationTypes && arrayEqualsIgnoreOrder(getTypesFromCredentialSupported(sup), initiationTypes)));
62
62
  if (supported) {
63
63
  credentialSupportedOverlap.push(...supported);
64
64
  }
@@ -69,7 +69,7 @@ function getSupportedCredential(opts) {
69
69
  initiationTypes.push('VerifiableCredential');
70
70
  }
71
71
  const supported = credentialsSupported.filter((sup) => {
72
- const supTypes = sup.types;
72
+ const supTypes = getTypesFromCredentialSupported(sup);
73
73
  if (!supTypes.includes('VerifiableCredential')) {
74
74
  supTypes.push('VerifiableCredential');
75
75
  }
@@ -82,6 +82,23 @@ function getSupportedCredential(opts) {
82
82
  return credentialSupportedOverlap;
83
83
  }
84
84
  exports.getSupportedCredential = getSupportedCredential;
85
+ function getTypesFromCredentialSupported(credentialSupported, opts) {
86
+ let types = [];
87
+ if (credentialSupported.format === 'jwt_vc_json' || credentialSupported.format === 'jwt_vc_json-ld' || credentialSupported.format === 'ldp_vc') {
88
+ types = credentialSupported.types;
89
+ }
90
+ else if (credentialSupported.format === 'vc+sd-jwt') {
91
+ types = [credentialSupported.credential_definition.vct];
92
+ }
93
+ if (!types || types.length === 0) {
94
+ throw Error('Could not deduce types from credential supported');
95
+ }
96
+ if (opts === null || opts === void 0 ? void 0 : opts.filterVerifiableCredential) {
97
+ return types.filter((type) => type !== 'VerifiableCredential');
98
+ }
99
+ return types;
100
+ }
101
+ exports.getTypesFromCredentialSupported = getTypesFromCredentialSupported;
85
102
  function arrayEqualsIgnoreOrder(a, b) {
86
103
  if (a.length !== b.length)
87
104
  return false;
@@ -110,7 +127,7 @@ function credentialSupportedV8ToV11(key, supportedV8) {
110
127
  throw Error(`Unknown format received ${JSON.stringify(format)}`);
111
128
  }
112
129
  let credentialSupport = {};
113
- credentialSupport = Object.assign(Object.assign({ format, display: supportedV8.display }, credentialSupportBrief), { credentialSubject: supportedV8.claims });
130
+ credentialSupport = Object.assign(Object.assign({ format: format, display: supportedV8.display }, credentialSupportBrief), { credentialSubject: supportedV8.claims });
114
131
  return credentialSupport;
115
132
  });
116
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IssuerMetadataUtils.js","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssuerMetadataUtils.js","sourceRoot":"","sources":["../../lib/functions/IssuerMetadataUtils.ts"],"names":[],"mappings":"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"}
@@ -2,4 +2,5 @@ export * from './CredentialRequestUtil';
2
2
  export * from './CredentialOfferUtil';
3
3
  export * from './Encoding';
4
4
  export * from './TypeConversionUtils';
5
+ export * from './FormatUtils';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC"}
@@ -18,4 +18,5 @@ __exportStar(require("./CredentialRequestUtil"), exports);
18
18
  __exportStar(require("./CredentialOfferUtil"), exports);
19
19
  __exportStar(require("./Encoding"), exports);
20
20
  __exportStar(require("./TypeConversionUtils"), exports);
21
+ __exportStar(require("./FormatUtils"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,wDAAsC;AACtC,6CAA2B;AAC3B,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/functions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,wDAAsC;AACtC,6CAA2B;AAC3B,wDAAsC;AACtC,gDAA8B"}
@@ -1,5 +1,5 @@
1
1
  import { CredentialOfferPayload, UniformCredentialOffer } from './CredentialIssuance.types';
2
- import { ErrorResponse, IssuerCredentialDefinition, IssuerCredentialSubject, OID4VCICredentialFormat } from './Generic.types';
2
+ import { ErrorResponse, IssuerCredentialSubject, JsonLdIssuerCredentialDefinition, OID4VCICredentialFormat, SdJwtVcCredentialDefinition } from './Generic.types';
3
3
  import { EndpointMetadata } from './ServerMetadata';
4
4
  export interface CommonAuthorizationRequest {
5
5
  /**
@@ -62,14 +62,17 @@ export interface CommonAuthorizationRequest {
62
62
  /**
63
63
  * string type added for conformity with our previous code in the client
64
64
  */
65
- export type AuthorizationDetails = AuthorizationDetailsJwtVcJson | AuthorizationRequestJwtVcJsonLdAndLdpVc | string;
66
- export type AuthorizationRequest = AuthorizationRequestJwtVcJson | AuthorizationDetailsJwtVcJsonLdAndLdpVc;
65
+ export type AuthorizationDetails = AuthorizationDetailsJwtVcJson | AuthorizationDetailsJwtVcJsonLdAndLdpVc | AuthorizationDetailsSdJwtVc | string;
66
+ export type AuthorizationRequest = AuthorizationRequestJwtVcJson | AuthorizationRequestJwtVcJsonLdAndLdpVc | AuthorizationRequestSdJwtVc;
67
67
  export interface AuthorizationRequestJwtVcJson extends CommonAuthorizationRequest {
68
68
  authorization_details?: AuthorizationDetailsJwtVcJson[];
69
69
  }
70
70
  export interface AuthorizationRequestJwtVcJsonLdAndLdpVc extends CommonAuthorizationRequest {
71
71
  authorization_details?: AuthorizationDetailsJwtVcJsonLdAndLdpVc[];
72
72
  }
73
+ export interface AuthorizationRequestSdJwtVc extends CommonAuthorizationRequest {
74
+ authorization_details?: AuthorizationDetailsSdJwtVc[];
75
+ }
73
76
  export interface CommonAuthorizationDetails {
74
77
  /**
75
78
  * REQUIRED. JSON string that determines the authorization details type.
@@ -88,10 +91,10 @@ export interface CommonAuthorizationDetails {
88
91
  * the authorization detail's locations common data field MUST be set to the Credential Issuer Identifier value.
89
92
  */
90
93
  locations?: string[];
91
- types: string[];
92
94
  [key: string]: any;
93
95
  }
94
96
  export interface AuthorizationDetailsJwtVcJson extends CommonAuthorizationDetails {
97
+ format: 'jwt_vc_json';
95
98
  /**
96
99
  * A JSON object containing a list of key value pairs, where the key identifies the claim offered in the Credential.
97
100
  * The value MAY be a dictionary, which allows to represent the full (potentially deeply nested) structure of the
@@ -99,8 +102,10 @@ export interface AuthorizationDetailsJwtVcJson extends CommonAuthorizationDetail
99
102
  * credential to be issued.
100
103
  */
101
104
  credentialSubject?: IssuerCredentialSubject;
105
+ types: string[];
102
106
  }
103
107
  export interface AuthorizationDetailsJwtVcJsonLdAndLdpVc extends CommonAuthorizationDetails {
108
+ format: 'ldp_vc' | 'jwt_vc_json-ld';
104
109
  /**
105
110
  * REQUIRED. JSON object containing (and isolating) the detailed description of the credential type.
106
111
  * This object MUST be processed using full JSON-LD processing. It consists of the following sub-claims:
@@ -108,7 +113,11 @@ export interface AuthorizationDetailsJwtVcJsonLdAndLdpVc extends CommonAuthoriza
108
113
  * - types: REQUIRED. JSON array as defined in Appendix E.1.3.2.
109
114
  * This claim contains the type values the Wallet shall request in the subsequent Credential Request
110
115
  */
111
- credential_definition: IssuerCredentialDefinition;
116
+ credential_definition: JsonLdIssuerCredentialDefinition;
117
+ }
118
+ export interface AuthorizationDetailsSdJwtVc extends CommonAuthorizationDetails {
119
+ format: 'vc+sd-jwt';
120
+ credential_definition: SdJwtVcCredentialDefinition;
112
121
  }
113
122
  export declare enum GrantTypes {
114
123
  AUTHORIZATION_CODE = "authorization_code",
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.types.d.ts","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Authorization.types.d.ts","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.types.js","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":";;;AACA,mDAAqJ;AAyHrJ,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,0FAA4E,CAAA;IAC5E,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,kEAAsD,CAAA;IACtD,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,kCAAkB,CAAA;AACpB,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,sCAAe,CAAA;AACjB,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AAqED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oEAAmD,CAAA;IACnD,sEAAqD,CAAA;AACvD,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AAED,2DAA2D;AAC3D,WAAiB,aAAa;IAC5B,SAAgB,OAAO,CAAC,OAA+B;QACrD,IAAI,qCAAqB,IAAI,OAAO,EAAE;YACpC,OAAO,aAAa,CAAC,wBAAwB,CAAC;SAC/C;QACD,OAAO,aAAa,CAAC,uBAAuB,CAAC;IAC/C,CAAC;IALe,qBAAO,UAKtB,CAAA;AACH,CAAC,EAPgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAO7B"}
1
+ {"version":3,"file":"Authorization.types.js","sourceRoot":"","sources":["../../lib/types/Authorization.types.ts"],"names":[],"mappings":";;;AACA,mDAOyB;AAyIzB,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,uDAAyC,CAAA;IACzC,0FAA4E,CAAA;IAC5E,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,kEAAsD,CAAA;IACtD,2BAAe,CAAA;AACjB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,kCAAkB,CAAA;AACpB,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,sCAAe,CAAA;AACjB,CAAC,EAHW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAG9B;AAqED,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,oEAAmD,CAAA;IACnD,sEAAqD,CAAA;AACvD,CAAC,EAHW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAGxB;AAED,2DAA2D;AAC3D,WAAiB,aAAa;IAC5B,SAAgB,OAAO,CAAC,OAA+B;QACrD,IAAI,qCAAqB,IAAI,OAAO,EAAE;YACpC,OAAO,aAAa,CAAC,wBAAwB,CAAC;SAC/C;QACD,OAAO,aAAa,CAAC,uBAAuB,CAAC;IAC/C,CAAC;IALe,qBAAO,UAKtB,CAAA;AACH,CAAC,EAPgB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAO7B"}
@@ -11,7 +11,7 @@ export interface ImageInfo {
11
11
  alt_text?: string;
12
12
  [key: string]: unknown;
13
13
  }
14
- export type OID4VCICredentialFormat = 'jwt_vc_json' | 'jwt_vc_json-ld' | 'ldp_vc';
14
+ export type OID4VCICredentialFormat = 'jwt_vc_json' | 'jwt_vc_json-ld' | 'ldp_vc' | 'vc+sd-jwt';
15
15
  export interface NameAndLocale {
16
16
  name?: string;
17
17
  locale?: string;
@@ -47,8 +47,6 @@ export interface CredentialIssuerMetadata extends CredentialIssuerMetadataOpts,
47
47
  credential_endpoint: string;
48
48
  }
49
49
  export interface CredentialSupportedBrief {
50
- name?: string;
51
- types: string[];
52
50
  cryptographic_binding_methods_supported?: string[];
53
51
  cryptographic_suites_supported?: string[];
54
52
  }
@@ -56,23 +54,46 @@ export type CommonCredentialSupported = CredentialSupportedBrief & {
56
54
  format: OID4VCICredentialFormat | string;
57
55
  id?: string;
58
56
  display?: CredentialsSupportedDisplay[];
59
- /**
60
- * following properties are non-mso_mdoc specific and we might wanna rethink them when we're going to support mso_mdoc
61
- */
62
- credentialSubject?: IssuerCredentialSubject;
63
- order?: string[];
64
57
  };
65
58
  export interface CredentialSupportedJwtVcJsonLdAndLdpVc extends CommonCredentialSupported {
59
+ types: string[];
66
60
  '@context': ICredentialContextType[];
61
+ credentialSubject?: IssuerCredentialSubject;
62
+ order?: string[];
63
+ format: 'ldp_vc' | 'jwt_vc_json-ld';
67
64
  }
68
65
  export interface CredentialSupportedJwtVcJson extends CommonCredentialSupported {
66
+ types: string[];
67
+ credentialSubject?: IssuerCredentialSubject;
68
+ order?: string[];
69
69
  format: 'jwt_vc_json';
70
70
  }
71
- export type CredentialSupported = CommonCredentialSupported & (CredentialSupportedJwtVcJson | CredentialSupportedJwtVcJsonLdAndLdpVc);
72
- export interface CredentialOfferFormat {
71
+ export interface SdJwtVcCredentialDefinition {
72
+ vct: string;
73
+ claims?: IssuerCredentialSubject;
74
+ }
75
+ export interface CredentialSupportedSdJwtVc extends CommonCredentialSupported {
76
+ format: 'vc+sd-jwt';
77
+ credential_definition: SdJwtVcCredentialDefinition;
78
+ order?: string[];
79
+ }
80
+ export type CredentialSupported = CommonCredentialSupported & (CredentialSupportedJwtVcJson | CredentialSupportedJwtVcJsonLdAndLdpVc | CredentialSupportedSdJwtVc);
81
+ export interface CommonCredentialOfferFormat {
73
82
  format: OID4VCICredentialFormat | string;
83
+ }
84
+ export interface CredentialOfferFormatJwtVcJsonLdAndLdpVc extends CommonCredentialOfferFormat {
85
+ format: 'ldp_vc' | 'jwt_vc_json-ld';
86
+ credential_definition: JsonLdIssuerCredentialDefinition;
87
+ }
88
+ export interface CredentialOfferFormatJwtVcJson extends CommonCredentialOfferFormat {
89
+ format: 'jwt_vc_json';
74
90
  types: string[];
75
91
  }
92
+ export interface CredentialOfferFormatSdJwtVc extends CommonCredentialOfferFormat {
93
+ format: 'vc+sd-jwt';
94
+ credential_definition: SdJwtVcCredentialDefinition;
95
+ }
96
+ export type CredentialOfferFormat = CommonCredentialOfferFormat & (CredentialOfferFormatJwtVcJsonLdAndLdpVc | CredentialOfferFormatJwtVcJson | CredentialOfferFormatSdJwtVc);
76
97
  /**
77
98
  * Optional storage that can help the credential Data Supplier. For instance to store credential input data during offer creation, if no additional data can be supplied later on
78
99
  */
@@ -85,10 +106,10 @@ export type CreateCredentialOfferURIResult = {
85
106
  userPinLength?: number;
86
107
  userPinRequired: boolean;
87
108
  };
88
- export interface IssuerCredentialDefinition {
109
+ export interface JsonLdIssuerCredentialDefinition {
89
110
  '@context': ICredentialContextType[];
90
111
  types: string[];
91
- credentialSubject: IssuerCredentialSubject;
112
+ credentialSubject?: IssuerCredentialSubject;
92
113
  }
93
114
  export interface ErrorResponse extends Response {
94
115
  error: string;
@@ -101,14 +122,18 @@ export interface CommonCredentialRequest {
101
122
  format: OID4VCICredentialFormat;
102
123
  proof?: ProofOfPossession;
103
124
  }
104
- export interface CredentialRequestJwtVc extends CommonCredentialRequest {
105
- format: 'jwt_vc_json' | 'jwt_vc_json-ld';
125
+ export interface CredentialRequestJwtVcJson extends CommonCredentialRequest {
126
+ format: 'jwt_vc_json';
106
127
  types: string[];
107
128
  credentialSubject?: IssuerCredentialSubject;
108
129
  }
109
- export interface CredentialRequestLdpVc extends CommonCredentialRequest {
110
- format: 'ldp_vc';
111
- credential_definition: IssuerCredentialDefinition;
130
+ export interface CredentialRequestJwtVcJsonLdAndLdpVc extends CommonCredentialRequest {
131
+ format: 'ldp_vc' | 'jwt_vc_json-ld';
132
+ credential_definition: JsonLdIssuerCredentialDefinition;
133
+ }
134
+ export interface CredentialRequestSdJwtVc extends CommonCredentialRequest {
135
+ format: 'vc+sd-jwt';
136
+ credential_definition: SdJwtVcCredentialDefinition;
112
137
  }
113
138
  export interface CommonCredentialResponse {
114
139
  format: string;
@@ -125,6 +150,10 @@ export interface CredentialResponseJwtVc {
125
150
  format: 'jwt_vc_json' | 'jwt_vc_json-ld';
126
151
  credential: string;
127
152
  }
153
+ export interface CredentialResponseSdJwtVc {
154
+ format: 'vc+sd-jwt';
155
+ credential: string;
156
+ }
128
157
  export type IssuerCredentialSubjectDisplay = CredentialSubjectDisplay & {
129
158
  [key: string]: CredentialSubjectDisplay;
130
159
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Generic.types.d.ts","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,gBAAgB,GAAG,QAAQ,CAAkB;AAEnG,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,2BAA2B,GAAG,aAAa,GACrD,YAAY,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,aAAa,GACzC,YAAY,GAAG;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEJ,MAAM,WAAW,wBAAwB;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;IAC7C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,0BAA0B,CAAC,EAAE,wBAAwB,CAAC;CACvD;AAGD,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B,EAAE,OAAO,CAAC,2BAA2B,CAAC;IAClH,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uCAAuC,CAAC,EAAE,MAAM,EAAE,CAAC;IACnD,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3C;AAED,MAAM,MAAM,yBAAyB,GAAG,wBAAwB,GAAG;IACjE,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAAC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACxC;;OAEG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,sCAAuC,SAAQ,yBAAyB;IACvF,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,GAAG,CAAC,4BAA4B,GAAG,sCAAsC,CAAC,CAAC;AAEtI,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,uBAAuB,GAAG,MAAM,CAAC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE9C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,sBAAsB,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,EAAE,uBAAuB,CAAC;CAC5C;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,uBAAuB,CAAmC;IAClE,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAAC;IACzC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAuB,SAAQ,uBAAuB;IACrE,MAAM,EAAE,QAAQ,CAAC;IACjB,qBAAqB,EAAE,0BAA0B,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,uBAAuB,CAAC;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,aAAa,GAAG,gBAAgB,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAAA;CAAE,CAAC;AAEpH,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,8BAA8B,CAAC;CAC/C;AAED,MAAM,WAAW,KAAK;IACpB,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAC5C,sDAAsD,CAAC,EAAE,YAAY,CAAC;CACvE;AAED,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,wBAAwB,CAAC"}
1
+ {"version":3,"file":"Generic.types.d.ts","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Generic.types.js","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":";;;AAsMa,QAAA,qBAAqB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"Generic.types.js","sourceRoot":"","sources":["../../lib/types/Generic.types.ts"],"names":[],"mappings":";;;AAmPa,QAAA,qBAAqB,GAAG,qBAAqB,CAAC"}
@@ -4,7 +4,7 @@ import { CredentialsSupportedDisplay, CredentialSupportedBrief, IssuerCredential
4
4
  export interface CredentialRequestV1_0_08 {
5
5
  type: string;
6
6
  format: CredentialFormat;
7
- proof: ProofOfPossession;
7
+ proof?: ProofOfPossession;
8
8
  }
9
9
  export interface IssuerMetadataV1_0_08 {
10
10
  issuer?: string;
@@ -28,10 +28,14 @@ export interface CredentialOfferPayloadV1_0_08 {
28
28
  export interface CredentialSupportedTypeV1_0_08 {
29
29
  [credentialType: string]: CredentialSupportedV1_0_08;
30
30
  }
31
+ export interface CredentialSupportedFormatV1_0_08 extends CredentialSupportedBrief {
32
+ name?: string;
33
+ types: string[];
34
+ }
31
35
  export interface CredentialSupportedV1_0_08 {
32
36
  display?: CredentialsSupportedDisplay[];
33
37
  formats: {
34
- [credentialFormat: string]: CredentialSupportedBrief;
38
+ [credentialFormat: string]: CredentialSupportedFormatV1_0_08;
35
39
  };
36
40
  claims?: IssuerCredentialSubject;
37
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"v1_0_08.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_08.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEjJ,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,8BAA8B,CAAC;IACtD,iBAAiB,CAAC,EAAE;QAElB,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;KAC1C,CAAC;IACF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,8BAA8B;IAC7C,CAAC,cAAc,EAAE,MAAM,GAAG,0BAA0B,CAAC;CACtD;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACxC,OAAO,EAAE;QAEP,CAAC,gBAAgB,EAAE,MAAM,GAAG,wBAAwB,CAAC;KACtD,CAAC;IACF,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC"}
1
+ {"version":3,"file":"v1_0_08.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_08.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEjJ,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,8BAA8B,CAAC;IACtD,iBAAiB,CAAC,EAAE;QAElB,OAAO,EAAE,aAAa,GAAG,aAAa,EAAE,CAAC;KAC1C,CAAC;IACF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,iBAAiB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,8BAA8B;IAC7C,CAAC,cAAc,EAAE,MAAM,GAAG,0BAA0B,CAAC;CACtD;AAED,MAAM,WAAW,gCAAiC,SAAQ,wBAAwB;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACxC,OAAO,EAAE;QAEP,CAAC,gBAAgB,EAAE,MAAM,GAAG,gCAAgC,CAAC;KAC9D,CAAC;IACF,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC"}
@@ -1,5 +1,5 @@
1
1
  import { AuthorizationDetailsJwtVcJson, CommonAuthorizationRequest } from './Authorization.types';
2
- import { CommonCredentialRequest, CredentialDataSupplierInput, CredentialOfferFormat, CredentialRequestJwtVc, CredentialRequestLdpVc, Grant, IssuerCredentialDefinition } from './Generic.types';
2
+ import { CommonCredentialRequest, CredentialDataSupplierInput, CredentialOfferFormat, CredentialRequestJwtVcJson, CredentialRequestJwtVcJsonLdAndLdpVc, CredentialRequestSdJwtVc, Grant } from './Generic.types';
3
3
  import { QRCodeOpts } from './QRCode.types';
4
4
  export interface CredentialOfferV1_0_11 {
5
5
  credential_offer?: CredentialOfferPayloadV1_0_11;
@@ -12,7 +12,7 @@ export interface CredentialOfferRESTRequest extends CredentialOfferV1_0_11 {
12
12
  qrCodeOpts?: QRCodeOpts;
13
13
  credentialDataSupplierInput?: CredentialDataSupplierInput;
14
14
  }
15
- export interface CommonCredentialOfferPayloadV1_0_11 {
15
+ export interface CredentialOfferPayloadV1_0_11 {
16
16
  /**
17
17
  * REQUIRED. The URL of the Credential Issuer, the Wallet is requested to obtain one or more Credentials from.
18
18
  */
@@ -37,19 +37,7 @@ export interface CommonCredentialOfferPayloadV1_0_11 {
37
37
  */
38
38
  grants?: Grant;
39
39
  }
40
- export interface CredentialOfferLdpVcV1_0_11 extends CommonCredentialOfferPayloadV1_0_11 {
41
- /**
42
- * REQUIRED. JSON object containing (and isolating) the detailed description of the credential type.
43
- * This object MUST be processed using full JSON-LD processing. It consists of the following sub-claims:
44
- * - @context: REQUIRED. JSON array as defined in Appendix E.1.3.2
45
- * - types: REQUIRED. JSON array as defined in Appendix E.1.3.2.
46
- * This claim contains the type values the Wallet shall request in the subsequent Credential Request
47
- */
48
- credential_definition: IssuerCredentialDefinition;
49
- }
50
- export type CredentialOfferJwtVcV1_0_11 = CommonCredentialOfferPayloadV1_0_11;
51
- export type CredentialOfferPayloadV1_0_11 = CommonCredentialOfferPayloadV1_0_11 & (CredentialOfferLdpVcV1_0_11 | CredentialOfferJwtVcV1_0_11);
52
- export type CredentialRequestV1_0_11 = CommonCredentialRequest & (CredentialRequestJwtVc | CredentialRequestLdpVc);
40
+ export type CredentialRequestV1_0_11 = CommonCredentialRequest & (CredentialRequestJwtVcJson | CredentialRequestJwtVcJsonLdAndLdpVc | CredentialRequestSdJwtVc);
53
41
  export interface AuthorizationRequestV1_0_11 extends AuthorizationDetailsJwtVcJson, AuthorizationDetailsJwtVcJson {
54
42
  issuer_state?: string;
55
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"v1_0_11.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_11.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,EACL,0BAA0B,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D;AAED,MAAM,WAAW,mCAAmC;IAClD;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,WAAW,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC,EAAE,CAAC;IAChD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,MAAM,WAAW,2BAA4B,SAAQ,mCAAmC;IACtF;;;;;;OAMG;IACH,qBAAqB,EAAE,0BAA0B,CAAC;CACnD;AAED,MAAM,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAE9E,MAAM,MAAM,6BAA6B,GAAG,mCAAmC,GAAG,CAAC,2BAA2B,GAAG,2BAA2B,CAAC,CAAC;AAE9I,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAAG,CAAC,sBAAsB,GAAG,sBAAsB,CAAC,CAAC;AAEnH,MAAM,WAAW,2BAA4B,SAAQ,6BAA6B,EAAE,6BAA6B;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAE1F"}
1
+ {"version":3,"file":"v1_0_11.types.d.ts","sourceRoot":"","sources":["../../lib/types/v1_0_11.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,oCAAoC,EACpC,wBAAwB,EACxB,KAAK,EACN,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;CAC3D;AAED,MAAM,WAAW,6BAA6B;IAC5C;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,WAAW,EAAE,CAAC,qBAAqB,GAAG,MAAM,CAAC,EAAE,CAAC;IAChD;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAC5D,CAAC,0BAA0B,GAAG,oCAAoC,GAAG,wBAAwB,CAAC,CAAC;AAEjG,MAAM,WAAW,2BAA4B,SAAQ,6BAA6B,EAAE,6BAA6B;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAGD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAE1F"}
@@ -1 +1 @@
1
- {"version":3,"file":"v1_0_11.types.js","sourceRoot":"","sources":["../../lib/types/v1_0_11.types.ts"],"names":[],"mappings":";;;AAyEA,qDAAqD;AACrD,SAAgB,6BAA6B,CAAC,OAAmC;IAC/E,OAAO,OAAO,IAAI,cAAc,IAAI,OAAO,CAAC;AAC9C,CAAC;AAFD,sEAEC"}
1
+ {"version":3,"file":"v1_0_11.types.js","sourceRoot":"","sources":["../../lib/types/v1_0_11.types.ts"],"names":[],"mappings":";;;AA2DA,qDAAqD;AACrD,SAAgB,6BAA6B,CAAC,OAAmC;IAC/E,OAAO,OAAO,IAAI,cAAc,IAAI,OAAO,CAAC;AAC9C,CAAC;AAFD,sEAEC"}
@@ -340,3 +340,30 @@ function recordVersion(currentVersion: OpenId4VCIVersion, matchingVersion: OpenI
340
340
  `Invalid param. Some keys have been used from version: ${currentVersion} version while '${key}' is used from version: ${matchingVersion}`,
341
341
  );
342
342
  }
343
+
344
+ export function getTypesFromOffer(credentialOffer: UniformCredentialOfferPayload, opts?: { filterVerifiableCredential: boolean }) {
345
+ const types = credentialOffer.credentials.reduce<string[]>((prev, curr) => {
346
+ // FIXME returning the string value is wrong (as it's an id), but just matching the current behavior of this library
347
+ // The credential_type (from draft 8) and the actual 'type' value in a VC (from draft 11) are mixed up
348
+ // Fix for this here: https://github.com/Sphereon-Opensource/OID4VCI/pull/54
349
+ if (typeof curr === 'string') {
350
+ return [...prev, curr];
351
+ } else if (curr.format === 'jwt_vc_json-ld' || curr.format === 'ldp_vc') {
352
+ return [...prev, ...curr.credential_definition.types];
353
+ } else if (curr.format === 'jwt_vc_json') {
354
+ return [...prev, ...curr.types];
355
+ } else if (curr.format === 'vc+sd-jwt') {
356
+ return [...prev, curr.credential_definition.vct];
357
+ }
358
+
359
+ return prev;
360
+ }, []);
361
+
362
+ if (!types || types.length === 0) {
363
+ throw Error('Could not deduce types from credential offer');
364
+ }
365
+ if (opts?.filterVerifiableCredential) {
366
+ return types.filter((type) => type !== 'VerifiableCredential');
367
+ }
368
+ return types;
369
+ }
@@ -1,7 +1,17 @@
1
- import { CredentialRequestV1_0_11 } from '../types';
1
+ import { CredentialRequestV1_0_08, OpenId4VCIVersion, UniformCredentialRequest } from '../types';
2
+
3
+ import { getFormatForVersion } from './FormatUtils';
4
+
5
+ export function getTypesFromRequest(credentialRequest: UniformCredentialRequest, opts?: { filterVerifiableCredential: boolean }) {
6
+ let types: string[] = [];
7
+ if (credentialRequest.format === 'jwt_vc_json') {
8
+ types = credentialRequest.types;
9
+ } else if (credentialRequest.format === 'jwt_vc_json-ld' || credentialRequest.format === 'ldp_vc') {
10
+ types = credentialRequest.credential_definition.types;
11
+ } else if (credentialRequest.format === 'vc+sd-jwt') {
12
+ types = [credentialRequest.credential_definition.vct];
13
+ }
2
14
 
3
- export function getTypesFromRequest(credentialRequest: CredentialRequestV1_0_11, opts?: { filterVerifiableCredential: boolean }) {
4
- const types = 'types' in credentialRequest ? credentialRequest.types : credentialRequest.credential_definition.types;
5
15
  if (!types || types.length === 0) {
6
16
  throw Error('Could not deduce types from credential request');
7
17
  }
@@ -10,3 +20,21 @@ export function getTypesFromRequest(credentialRequest: CredentialRequestV1_0_11,
10
20
  }
11
21
  return types;
12
22
  }
23
+
24
+ export function getCredentialRequestForVersion(
25
+ credentialRequest: UniformCredentialRequest,
26
+ version: OpenId4VCIVersion,
27
+ ): UniformCredentialRequest | CredentialRequestV1_0_08 {
28
+ if (version === OpenId4VCIVersion.VER_1_0_08) {
29
+ const draft8Format = getFormatForVersion(credentialRequest.format, version);
30
+ const types = getTypesFromRequest(credentialRequest, { filterVerifiableCredential: true });
31
+
32
+ return {
33
+ format: draft8Format,
34
+ proof: credentialRequest.proof,
35
+ type: types[0],
36
+ } satisfies CredentialRequestV1_0_08;
37
+ }
38
+
39
+ return credentialRequest;
40
+ }
@@ -0,0 +1,52 @@
1
+ import { CredentialFormat } from '@sphereon/ssi-types';
2
+
3
+ import { OID4VCICredentialFormat, OpenId4VCIVersion } from '../types';
4
+
5
+ export function isFormat<T extends { format?: OID4VCICredentialFormat }, Format extends OID4VCICredentialFormat>(
6
+ formatObject: T,
7
+ format: Format,
8
+ ): formatObject is T & { format: Format } {
9
+ return formatObject.format === format;
10
+ }
11
+
12
+ export function isNotFormat<T extends { format?: OID4VCICredentialFormat }, Format extends OID4VCICredentialFormat>(
13
+ formatObject: T,
14
+ format: Format,
15
+ ): formatObject is T & { format: Exclude<OID4VCICredentialFormat, Format> } {
16
+ return formatObject.format !== format;
17
+ }
18
+
19
+ const isUniformFormat = (format: string): format is OID4VCICredentialFormat => {
20
+ return ['jwt_vc_json', 'jwt_vc_json-ld', 'ldp_vc', 'vc+sd-jwt'].includes(format);
21
+ };
22
+
23
+ export function getUniformFormat(format: string | OID4VCICredentialFormat | CredentialFormat): OID4VCICredentialFormat {
24
+ // Already valid format
25
+ if (isUniformFormat(format)) {
26
+ return format;
27
+ }
28
+
29
+ // Older formats
30
+ if (format === 'jwt_vc' || format === 'jwt') {
31
+ return 'jwt_vc_json';
32
+ }
33
+ if (format === 'ldp_vc' || format === 'ldp') {
34
+ return 'ldp_vc';
35
+ }
36
+
37
+ throw new Error(`Invalid format: ${format}`);
38
+ }
39
+
40
+ export function getFormatForVersion(format: string, version: OpenId4VCIVersion) {
41
+ const uniformFormat = isUniformFormat(format) ? format : getUniformFormat(format);
42
+
43
+ if (version === OpenId4VCIVersion.VER_1_0_08) {
44
+ if (uniformFormat === 'jwt_vc_json') {
45
+ return 'jwt_vc' as const;
46
+ } else if (uniformFormat === 'ldp_vc' || uniformFormat === 'jwt_vc_json-ld') {
47
+ return 'ldp_vc' as const;
48
+ }
49
+ }
50
+
51
+ return uniformFormat;
52
+ }
@@ -73,7 +73,7 @@ export function getSupportedCredential(opts?: {
73
73
  if ((opts?.types && typeof opts?.types === 'string') || opts?.types?.length === 1) {
74
74
  const types = Array.isArray(opts.types) ? opts.types[0] : opts.types;
75
75
  const supported = credentialsSupported.filter(
76
- (sup) => sup.id === types || (initiationTypes && arrayEqualsIgnoreOrder(sup.types, initiationTypes)),
76
+ (sup) => sup.id === types || (initiationTypes && arrayEqualsIgnoreOrder(getTypesFromCredentialSupported(sup), initiationTypes)),
77
77
  );
78
78
  if (supported) {
79
79
  credentialSupportedOverlap.push(...supported);
@@ -86,7 +86,7 @@ export function getSupportedCredential(opts?: {
86
86
  initiationTypes.push('VerifiableCredential');
87
87
  }
88
88
  const supported = credentialsSupported.filter((sup) => {
89
- const supTypes = sup.types;
89
+ const supTypes = getTypesFromCredentialSupported(sup);
90
90
  if (!supTypes.includes('VerifiableCredential')) {
91
91
  supTypes.push('VerifiableCredential');
92
92
  }
@@ -99,6 +99,23 @@ export function getSupportedCredential(opts?: {
99
99
  return credentialSupportedOverlap;
100
100
  }
101
101
 
102
+ export function getTypesFromCredentialSupported(credentialSupported: CredentialSupported, opts?: { filterVerifiableCredential: boolean }) {
103
+ let types: string[] = [];
104
+ if (credentialSupported.format === 'jwt_vc_json' || credentialSupported.format === 'jwt_vc_json-ld' || credentialSupported.format === 'ldp_vc') {
105
+ types = credentialSupported.types;
106
+ } else if (credentialSupported.format === 'vc+sd-jwt') {
107
+ types = [credentialSupported.credential_definition.vct];
108
+ }
109
+
110
+ if (!types || types.length === 0) {
111
+ throw Error('Could not deduce types from credential supported');
112
+ }
113
+ if (opts?.filterVerifiableCredential) {
114
+ return types.filter((type) => type !== 'VerifiableCredential');
115
+ }
116
+ return types;
117
+ }
118
+
102
119
  function arrayEqualsIgnoreOrder(a: string[], b: string[]) {
103
120
  if (a.length !== b.length) return false;
104
121
  const uniqueValues = new Set([...a, ...b]);
@@ -127,7 +144,7 @@ export function credentialSupportedV8ToV11(key: string, supportedV8: CredentialS
127
144
  }
128
145
  let credentialSupport: Partial<CredentialSupported> = {};
129
146
  credentialSupport = {
130
- format,
147
+ format: format as OID4VCICredentialFormat,
131
148
  display: supportedV8.display,
132
149
  ...credentialSupportBrief,
133
150
  credentialSubject: supportedV8.claims,
@@ -2,3 +2,4 @@ export * from './CredentialRequestUtil';
2
2
  export * from './CredentialOfferUtil';
3
3
  export * from './Encoding';
4
4
  export * from './TypeConversionUtils';
5
+ export * from './FormatUtils';
@@ -1,5 +1,12 @@
1
1
  import { CredentialOfferPayload, UniformCredentialOffer } from './CredentialIssuance.types';
2
- import { ErrorResponse, IssuerCredentialDefinition, IssuerCredentialSubject, OID4VCICredentialFormat, PRE_AUTH_CODE_LITERAL } from './Generic.types';
2
+ import {
3
+ ErrorResponse,
4
+ IssuerCredentialSubject,
5
+ JsonLdIssuerCredentialDefinition,
6
+ OID4VCICredentialFormat,
7
+ PRE_AUTH_CODE_LITERAL,
8
+ SdJwtVcCredentialDefinition,
9
+ } from './Generic.types';
3
10
  import { EndpointMetadata } from './ServerMetadata';
4
11
 
5
12
  export interface CommonAuthorizationRequest {
@@ -64,9 +71,9 @@ export interface CommonAuthorizationRequest {
64
71
  /**
65
72
  * string type added for conformity with our previous code in the client
66
73
  */
67
- export type AuthorizationDetails = AuthorizationDetailsJwtVcJson | AuthorizationRequestJwtVcJsonLdAndLdpVc | string;
74
+ export type AuthorizationDetails = AuthorizationDetailsJwtVcJson | AuthorizationDetailsJwtVcJsonLdAndLdpVc | AuthorizationDetailsSdJwtVc | string;
68
75
 
69
- export type AuthorizationRequest = AuthorizationRequestJwtVcJson | AuthorizationDetailsJwtVcJsonLdAndLdpVc;
76
+ export type AuthorizationRequest = AuthorizationRequestJwtVcJson | AuthorizationRequestJwtVcJsonLdAndLdpVc | AuthorizationRequestSdJwtVc;
70
77
 
71
78
  export interface AuthorizationRequestJwtVcJson extends CommonAuthorizationRequest {
72
79
  authorization_details?: AuthorizationDetailsJwtVcJson[];
@@ -76,6 +83,10 @@ export interface AuthorizationRequestJwtVcJsonLdAndLdpVc extends CommonAuthoriza
76
83
  authorization_details?: AuthorizationDetailsJwtVcJsonLdAndLdpVc[];
77
84
  }
78
85
 
86
+ export interface AuthorizationRequestSdJwtVc extends CommonAuthorizationRequest {
87
+ authorization_details?: AuthorizationDetailsSdJwtVc[];
88
+ }
89
+
79
90
  export interface CommonAuthorizationDetails {
80
91
  /**
81
92
  * REQUIRED. JSON string that determines the authorization details type.
@@ -94,12 +105,14 @@ export interface CommonAuthorizationDetails {
94
105
  * the authorization detail's locations common data field MUST be set to the Credential Issuer Identifier value.
95
106
  */
96
107
  locations?: string[];
97
- types: string[]; // This claim contains the type values the Wallet requests authorization for at the issuer.
108
+
98
109
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
110
  [key: string]: any;
100
111
  }
101
112
 
102
113
  export interface AuthorizationDetailsJwtVcJson extends CommonAuthorizationDetails {
114
+ format: 'jwt_vc_json';
115
+
103
116
  /**
104
117
  * A JSON object containing a list of key value pairs, where the key identifies the claim offered in the Credential.
105
118
  * The value MAY be a dictionary, which allows to represent the full (potentially deeply nested) structure of the
@@ -107,9 +120,13 @@ export interface AuthorizationDetailsJwtVcJson extends CommonAuthorizationDetail
107
120
  * credential to be issued.
108
121
  */
109
122
  credentialSubject?: IssuerCredentialSubject;
123
+
124
+ types: string[]; // This claim contains the type values the Wallet requests authorization for at the issuer.
110
125
  }
111
126
 
112
127
  export interface AuthorizationDetailsJwtVcJsonLdAndLdpVc extends CommonAuthorizationDetails {
128
+ format: 'ldp_vc' | 'jwt_vc_json-ld';
129
+
113
130
  /**
114
131
  * REQUIRED. JSON object containing (and isolating) the detailed description of the credential type.
115
132
  * This object MUST be processed using full JSON-LD processing. It consists of the following sub-claims:
@@ -117,7 +134,13 @@ export interface AuthorizationDetailsJwtVcJsonLdAndLdpVc extends CommonAuthoriza
117
134
  * - types: REQUIRED. JSON array as defined in Appendix E.1.3.2.
118
135
  * This claim contains the type values the Wallet shall request in the subsequent Credential Request
119
136
  */
120
- credential_definition: IssuerCredentialDefinition;
137
+ credential_definition: JsonLdIssuerCredentialDefinition;
138
+ }
139
+
140
+ export interface AuthorizationDetailsSdJwtVc extends CommonAuthorizationDetails {
141
+ format: 'vc+sd-jwt';
142
+
143
+ credential_definition: SdJwtVcCredentialDefinition;
121
144
  }
122
145
 
123
146
  export enum GrantTypes {
@@ -15,7 +15,7 @@ export interface ImageInfo {
15
15
  [key: string]: unknown;
16
16
  }
17
17
 
18
- export type OID4VCICredentialFormat = 'jwt_vc_json' | 'jwt_vc_json-ld' | 'ldp_vc' /*| 'mso_mdoc'*/; // we do not support mdocs at this point
18
+ export type OID4VCICredentialFormat = 'jwt_vc_json' | 'jwt_vc_json-ld' | 'ldp_vc' | 'vc+sd-jwt' /*| 'mso_mdoc'*/; // we do not support mdocs at this point
19
19
 
20
20
  export interface NameAndLocale {
21
21
  name?: string; // REQUIRED. String value of a display name for the Credential.
@@ -62,8 +62,6 @@ export interface CredentialIssuerMetadata extends CredentialIssuerMetadataOpts,
62
62
  }
63
63
 
64
64
  export interface CredentialSupportedBrief {
65
- name?: string; // fixme: Probably should not be here, is part of the display object
66
- types: string[]; // REQUIRED. JSON array designating the types a certain credential type supports
67
65
  cryptographic_binding_methods_supported?: string[]; // OPTIONAL. Array of case sensitive strings that identify how the Credential is bound to the identifier of the End-User who possesses the Credential
68
66
  cryptographic_suites_supported?: string[]; // OPTIONAL. Array of case sensitive strings that identify the cryptographic suites that are supported for the cryptographic_binding_methods_supported
69
67
  }
@@ -75,25 +73,62 @@ export type CommonCredentialSupported = CredentialSupportedBrief & {
75
73
  /**
76
74
  * following properties are non-mso_mdoc specific and we might wanna rethink them when we're going to support mso_mdoc
77
75
  */
78
- credentialSubject?: IssuerCredentialSubject; // OPTIONAL. A JSON object containing a list of key value pairs, where the key identifies the claim offered in the Credential. The value MAY be a dictionary, which allows to represent the full (potentially deeply nested) structure of the verifiable credential to be issued.
79
- order?: string[]; //An array of claims.display.name values that lists them in the order they should be displayed by the Wallet.
80
76
  };
81
77
 
82
78
  export interface CredentialSupportedJwtVcJsonLdAndLdpVc extends CommonCredentialSupported {
79
+ types: string[]; // REQUIRED. JSON array designating the types a certain credential type supports
83
80
  '@context': ICredentialContextType[]; // REQUIRED. JSON array as defined in [VC_DATA], Section 4.1.
81
+ credentialSubject?: IssuerCredentialSubject; // OPTIONAL. A JSON object containing a list of key value pairs, where the key identifies the claim offered in the Credential. The value MAY be a dictionary, which allows to represent the full (potentially deeply nested) structure of the verifiable credential to be issued.
82
+ order?: string[]; //An array of claims.display.name values that lists them in the order they should be displayed by the Wallet.
83
+ format: 'ldp_vc' | 'jwt_vc_json-ld';
84
84
  }
85
85
 
86
86
  export interface CredentialSupportedJwtVcJson extends CommonCredentialSupported {
87
+ types: string[]; // REQUIRED. JSON array designating the types a certain credential type supports
88
+ credentialSubject?: IssuerCredentialSubject; // OPTIONAL. A JSON object containing a list of key value pairs, where the key identifies the claim offered in the Credential. The value MAY be a dictionary, which allows to represent the full (potentially deeply nested) structure of the verifiable credential to be issued.
89
+ order?: string[]; //An array of claims.display.name values that lists them in the order they should be displayed by the Wallet.
87
90
  format: 'jwt_vc_json';
88
91
  }
89
92
 
90
- export type CredentialSupported = CommonCredentialSupported & (CredentialSupportedJwtVcJson | CredentialSupportedJwtVcJsonLdAndLdpVc);
93
+ export interface SdJwtVcCredentialDefinition {
94
+ vct: string; // REQUIRED. JSON string designating the type of an SD-JWT vc
95
+ claims?: IssuerCredentialSubject;
96
+ }
97
+
98
+ export interface CredentialSupportedSdJwtVc extends CommonCredentialSupported {
99
+ format: 'vc+sd-jwt';
100
+
101
+ // REQUIRED. JSON object containing the detailed description of the credential type
102
+ credential_definition: SdJwtVcCredentialDefinition;
103
+ order?: string[]; //An array of claims.display.name values that lists them in the order they should be displayed by the Wallet.
104
+ }
105
+
106
+ export type CredentialSupported = CommonCredentialSupported &
107
+ (CredentialSupportedJwtVcJson | CredentialSupportedJwtVcJsonLdAndLdpVc | CredentialSupportedSdJwtVc);
91
108
 
92
- export interface CredentialOfferFormat {
109
+ export interface CommonCredentialOfferFormat {
93
110
  format: OID4VCICredentialFormat | string;
94
- types: string[];
95
111
  }
96
112
 
113
+ export interface CredentialOfferFormatJwtVcJsonLdAndLdpVc extends CommonCredentialOfferFormat {
114
+ format: 'ldp_vc' | 'jwt_vc_json-ld';
115
+ // REQUIRED. JSON object containing (and isolating) the detailed description of the credential type. This object MUST be processed using full JSON-LD processing.
116
+ credential_definition: JsonLdIssuerCredentialDefinition;
117
+ }
118
+
119
+ export interface CredentialOfferFormatJwtVcJson extends CommonCredentialOfferFormat {
120
+ format: 'jwt_vc_json';
121
+ types: string[]; // REQUIRED. JSON array as defined in Appendix E.1.1.2. This claim contains the type values the Wallet shall request in the subsequent Credential Request.
122
+ }
123
+
124
+ export interface CredentialOfferFormatSdJwtVc extends CommonCredentialOfferFormat {
125
+ format: 'vc+sd-jwt';
126
+ credential_definition: SdJwtVcCredentialDefinition;
127
+ }
128
+
129
+ export type CredentialOfferFormat = CommonCredentialOfferFormat &
130
+ (CredentialOfferFormatJwtVcJsonLdAndLdpVc | CredentialOfferFormatJwtVcJson | CredentialOfferFormatSdJwtVc);
131
+
97
132
  /**
98
133
  * Optional storage that can help the credential Data Supplier. For instance to store credential input data during offer creation, if no additional data can be supplied later on
99
134
  */
@@ -108,10 +143,10 @@ export type CreateCredentialOfferURIResult = {
108
143
  userPinRequired: boolean;
109
144
  };
110
145
 
111
- export interface IssuerCredentialDefinition {
146
+ export interface JsonLdIssuerCredentialDefinition {
112
147
  '@context': ICredentialContextType[];
113
148
  types: string[];
114
- credentialSubject: IssuerCredentialSubject;
149
+ credentialSubject?: IssuerCredentialSubject;
115
150
  }
116
151
 
117
152
  export interface ErrorResponse extends Response {
@@ -128,15 +163,20 @@ export interface CommonCredentialRequest {
128
163
  proof?: ProofOfPossession;
129
164
  }
130
165
 
131
- export interface CredentialRequestJwtVc extends CommonCredentialRequest {
132
- format: 'jwt_vc_json' | 'jwt_vc_json-ld';
166
+ export interface CredentialRequestJwtVcJson extends CommonCredentialRequest {
167
+ format: 'jwt_vc_json';
133
168
  types: string[];
134
169
  credentialSubject?: IssuerCredentialSubject;
135
170
  }
136
171
 
137
- export interface CredentialRequestLdpVc extends CommonCredentialRequest {
138
- format: 'ldp_vc';
139
- credential_definition: IssuerCredentialDefinition;
172
+ export interface CredentialRequestJwtVcJsonLdAndLdpVc extends CommonCredentialRequest {
173
+ format: 'ldp_vc' | 'jwt_vc_json-ld';
174
+ credential_definition: JsonLdIssuerCredentialDefinition;
175
+ }
176
+
177
+ export interface CredentialRequestSdJwtVc extends CommonCredentialRequest {
178
+ format: 'vc+sd-jwt';
179
+ credential_definition: SdJwtVcCredentialDefinition;
140
180
  }
141
181
 
142
182
  export interface CommonCredentialResponse {
@@ -157,6 +197,11 @@ export interface CredentialResponseJwtVc {
157
197
  credential: string;
158
198
  }
159
199
 
200
+ export interface CredentialResponseSdJwtVc {
201
+ format: 'vc+sd-jwt';
202
+ credential: string;
203
+ }
204
+
160
205
  // export type CredentialSubjectDisplay = NameAndLocale[];
161
206
 
162
207
  export type IssuerCredentialSubjectDisplay = CredentialSubjectDisplay & { [key: string]: CredentialSubjectDisplay };
@@ -6,7 +6,7 @@ import { CredentialsSupportedDisplay, CredentialSupportedBrief, IssuerCredential
6
6
  export interface CredentialRequestV1_0_08 {
7
7
  type: string;
8
8
  format: CredentialFormat;
9
- proof: ProofOfPossession;
9
+ proof?: ProofOfPossession;
10
10
  }
11
11
 
12
12
  export interface IssuerMetadataV1_0_08 {
@@ -34,11 +34,16 @@ export interface CredentialSupportedTypeV1_0_08 {
34
34
  [credentialType: string]: CredentialSupportedV1_0_08;
35
35
  }
36
36
 
37
+ export interface CredentialSupportedFormatV1_0_08 extends CredentialSupportedBrief {
38
+ name?: string;
39
+ types: string[];
40
+ }
41
+
37
42
  export interface CredentialSupportedV1_0_08 {
38
43
  display?: CredentialsSupportedDisplay[];
39
44
  formats: {
40
45
  // REQUIRED. A JSON object containing a list of key value pairs, where the key is a string identifying the format of the Credential. Below is a non-exhaustive list of valid key values defined by this specification:
41
- [credentialFormat: string]: CredentialSupportedBrief;
46
+ [credentialFormat: string]: CredentialSupportedFormatV1_0_08;
42
47
  };
43
48
  claims?: IssuerCredentialSubject; // REQUIRED. A JSON object containing a list of key value pairs, where the key identifies the claim offered in the Credential. The value is a JSON object detailing the specifics about the support for the claim with a following non-exhaustive list of parameters that MAY be included:
44
49
  }
@@ -3,10 +3,10 @@ import {
3
3
  CommonCredentialRequest,
4
4
  CredentialDataSupplierInput,
5
5
  CredentialOfferFormat,
6
- CredentialRequestJwtVc,
7
- CredentialRequestLdpVc,
6
+ CredentialRequestJwtVcJson,
7
+ CredentialRequestJwtVcJsonLdAndLdpVc,
8
+ CredentialRequestSdJwtVc,
8
9
  Grant,
9
- IssuerCredentialDefinition,
10
10
  } from './Generic.types';
11
11
  import { QRCodeOpts } from './QRCode.types';
12
12
 
@@ -23,7 +23,7 @@ export interface CredentialOfferRESTRequest extends CredentialOfferV1_0_11 {
23
23
  credentialDataSupplierInput?: CredentialDataSupplierInput;
24
24
  }
25
25
 
26
- export interface CommonCredentialOfferPayloadV1_0_11 {
26
+ export interface CredentialOfferPayloadV1_0_11 {
27
27
  /**
28
28
  * REQUIRED. The URL of the Credential Issuer, the Wallet is requested to obtain one or more Credentials from.
29
29
  */
@@ -50,22 +50,8 @@ export interface CommonCredentialOfferPayloadV1_0_11 {
50
50
  grants?: Grant;
51
51
  }
52
52
 
53
- export interface CredentialOfferLdpVcV1_0_11 extends CommonCredentialOfferPayloadV1_0_11 {
54
- /**
55
- * REQUIRED. JSON object containing (and isolating) the detailed description of the credential type.
56
- * This object MUST be processed using full JSON-LD processing. It consists of the following sub-claims:
57
- * - @context: REQUIRED. JSON array as defined in Appendix E.1.3.2
58
- * - types: REQUIRED. JSON array as defined in Appendix E.1.3.2.
59
- * This claim contains the type values the Wallet shall request in the subsequent Credential Request
60
- */
61
- credential_definition: IssuerCredentialDefinition;
62
- }
63
-
64
- export type CredentialOfferJwtVcV1_0_11 = CommonCredentialOfferPayloadV1_0_11;
65
-
66
- export type CredentialOfferPayloadV1_0_11 = CommonCredentialOfferPayloadV1_0_11 & (CredentialOfferLdpVcV1_0_11 | CredentialOfferJwtVcV1_0_11);
67
-
68
- export type CredentialRequestV1_0_11 = CommonCredentialRequest & (CredentialRequestJwtVc | CredentialRequestLdpVc);
53
+ export type CredentialRequestV1_0_11 = CommonCredentialRequest &
54
+ (CredentialRequestJwtVcJson | CredentialRequestJwtVcJsonLdAndLdpVc | CredentialRequestSdJwtVc);
69
55
 
70
56
  export interface AuthorizationRequestV1_0_11 extends AuthorizationDetailsJwtVcJson, AuthorizationDetailsJwtVcJson {
71
57
  issuer_state?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-common",
3
- "version": "0.8.2-next.4+07286fa",
3
+ "version": "0.8.2-next.9+651c110",
4
4
  "description": "OpenID 4 Verifiable Credential Issuance Common Types",
5
5
  "source": "lib/index.ts",
6
6
  "main": "dist/index.js",
@@ -46,5 +46,5 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "07286fa2c4963e0edfacd8eb85773b650e769d49"
49
+ "gitHead": "651c110ee85ba1a6a7b3a7c4a3581eb26cf32786"
50
50
  }