@credo-ts/openid4vc 0.6.0-pr-2134-20241217213340 → 0.6.0-pr-2195-20250217170804

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 (85) hide show
  1. package/build/openid4vc-holder/OpenId4VcHolderApi.d.ts +61 -11
  2. package/build/openid4vc-holder/OpenId4VcHolderApi.js +17 -19
  3. package/build/openid4vc-holder/OpenId4VcHolderApi.js.map +1 -1
  4. package/build/openid4vc-holder/OpenId4VcHolderModule.js +1 -1
  5. package/build/openid4vc-holder/OpenId4VcHolderModule.js.map +1 -1
  6. package/build/openid4vc-holder/OpenId4VciHolderService.d.ts +7 -8
  7. package/build/openid4vc-holder/OpenId4VciHolderService.js +60 -45
  8. package/build/openid4vc-holder/OpenId4VciHolderService.js.map +1 -1
  9. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.d.ts +3 -3
  10. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js +1 -1
  11. package/build/openid4vc-holder/OpenId4VciHolderServiceOptions.js.map +1 -1
  12. package/build/openid4vc-holder/OpenId4vcSiopHolderService.d.ts +59 -13
  13. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js +232 -172
  14. package/build/openid4vc-holder/OpenId4vcSiopHolderService.js.map +1 -1
  15. package/build/openid4vc-holder/OpenId4vcSiopHolderServiceOptions.d.ts +18 -1
  16. package/build/openid4vc-issuer/OpenId4VcIssuerApi.d.ts +196 -46
  17. package/build/openid4vc-issuer/OpenId4VcIssuerApi.js +8 -19
  18. package/build/openid4vc-issuer/OpenId4VcIssuerApi.js.map +1 -1
  19. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js +3 -3
  20. package/build/openid4vc-issuer/OpenId4VcIssuerModule.js.map +1 -1
  21. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.d.ts +13 -13
  22. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js +19 -40
  23. package/build/openid4vc-issuer/OpenId4VcIssuerModuleConfig.js.map +1 -1
  24. package/build/openid4vc-issuer/OpenId4VcIssuerService.d.ts +198 -48
  25. package/build/openid4vc-issuer/OpenId4VcIssuerService.js +45 -37
  26. package/build/openid4vc-issuer/OpenId4VcIssuerService.js.map +1 -1
  27. package/build/openid4vc-issuer/OpenId4VcIssuerServiceOptions.d.ts +8 -3
  28. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.d.ts +1 -1
  29. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js +26 -12
  30. package/build/openid4vc-issuer/repository/OpenId4VcIssuanceSessionRecord.js.map +1 -1
  31. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js +19 -22
  32. package/build/openid4vc-issuer/repository/OpenId4VcIssuerRecord.js.map +1 -1
  33. package/build/openid4vc-issuer/router/accessTokenEndpoint.js +11 -9
  34. package/build/openid4vc-issuer/router/accessTokenEndpoint.js.map +1 -1
  35. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js +17 -6
  36. package/build/openid4vc-issuer/router/authorizationChallengeEndpoint.js.map +1 -1
  37. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js +1 -1
  38. package/build/openid4vc-issuer/router/authorizationServerMetadataEndpoint.js.map +1 -1
  39. package/build/openid4vc-issuer/router/credentialEndpoint.js +11 -9
  40. package/build/openid4vc-issuer/router/credentialEndpoint.js.map +1 -1
  41. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js +7 -3
  42. package/build/openid4vc-issuer/router/issuerMetadataEndpoint.js.map +1 -1
  43. package/build/openid4vc-issuer/util/txCode.js +2 -3
  44. package/build/openid4vc-issuer/util/txCode.js.map +1 -1
  45. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.d.ts +21 -7
  46. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js +499 -263
  47. package/build/openid4vc-verifier/OpenId4VcSiopVerifierService.js.map +1 -1
  48. package/build/openid4vc-verifier/OpenId4VcSiopVerifierServiceOptions.d.ts +23 -3
  49. package/build/openid4vc-verifier/OpenId4VcVerifierApi.d.ts +3 -3
  50. package/build/openid4vc-verifier/OpenId4VcVerifierApi.js +11 -18
  51. package/build/openid4vc-verifier/OpenId4VcVerifierApi.js.map +1 -1
  52. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js +3 -3
  53. package/build/openid4vc-verifier/OpenId4VcVerifierModule.js.map +1 -1
  54. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js +11 -8
  55. package/build/openid4vc-verifier/OpenId4VcVerifierModuleConfig.js.map +1 -1
  56. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.d.ts +23 -4
  57. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js +25 -29
  58. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartyEventEmitter.js.map +1 -1
  59. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js +4 -6
  60. package/build/openid4vc-verifier/repository/OpenId4VcRelyingPartySessionManager.js.map +1 -1
  61. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js +11 -6
  62. package/build/openid4vc-verifier/repository/OpenId4VcVerificationSessionRecord.js.map +1 -1
  63. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.js +7 -5
  64. package/build/openid4vc-verifier/repository/OpenId4VcVerifierRecord.js.map +1 -1
  65. package/build/openid4vc-verifier/router/authorizationEndpoint.js +5 -104
  66. package/build/openid4vc-verifier/router/authorizationEndpoint.js.map +1 -1
  67. package/build/shared/callbacks.d.ts +16 -5
  68. package/build/shared/callbacks.js +120 -24
  69. package/build/shared/callbacks.js.map +1 -1
  70. package/build/shared/issuerMetadataUtils.d.ts +102 -144
  71. package/build/shared/models/index.d.ts +10 -8
  72. package/build/shared/models/index.js +5 -5
  73. package/build/shared/models/index.js.map +1 -1
  74. package/build/shared/router/context.d.ts +2 -2
  75. package/build/shared/router/context.js +5 -5
  76. package/build/shared/router/context.js.map +1 -1
  77. package/build/shared/router/tenants.js +1 -2
  78. package/build/shared/router/tenants.js.map +1 -1
  79. package/build/shared/utils.d.ts +6 -6
  80. package/build/shared/utils.js +22 -61
  81. package/build/shared/utils.js.map +1 -1
  82. package/package.json +7 -6
  83. package/build/shared/transform.d.ts +0 -5
  84. package/build/shared/transform.js +0 -73
  85. package/build/shared/transform.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OpenId4VcIssuerModuleConfig.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModuleConfig.ts"],"names":[],"mappings":";;;AAMA,6CAAgD;AAEhD,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;AACrD,MAAM,qCAAqC,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;AAChE,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,YAAY;AACpD,MAAM,6CAA6C,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,YAAY;AAuHzE,MAAa,2BAA2B;IAItC,YAAmB,OAA2C;;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QAEtB,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAA,sBAAa,GAAE,CAAC,MAAM,EAAE,CAAA;IAC1D,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,mCAAmC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAA;IACzD,CAAC;IAED;;;;;;OAMG;IACH,IAAW,qDAAqD;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,qDAAqD,CAAA;IAC3E,CAAC;IAED;;;;OAIG;IACH,IAAW,sBAAsB;;QAC/B,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,sBAAsB,mCAAI,0BAA0B,CAAA;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,IAAW,2CAA2C;;QACpD,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,2CAA2C,mCAAI,6CAA6C,CAAA;IAClH,CAAC;IAED;;;;OAIG;IACH,IAAW,iCAAiC;;QAC1C,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,iCAAiC,mCAAI,qCAAqC,CAAA;IAChG,CAAC;IAED;;;;OAIG;IACH,IAAW,2BAA2B;;QACpC,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,2BAA2B,mCAAI,wBAAwB,CAAA;IAC7E,CAAC;IAED;;;;;;OAMG;IACH,IAAW,YAAY;;QACrB,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,YAAY,mCAAI,KAAK,CAAA;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,IAAW,4BAA4B;;QACrC,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,4BAA4B,mCAAI,KAAK,CAAA;IAC3D,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;;QAC1B,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,KAAK,mCAAI,QAAQ,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,IAAW,kCAAkC;;QAC3C,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,sBAAsB,mCAAI,YAAY,CAAA;IACvE,CAAC;IAED;;OAEG;IACH,IAAW,2BAA2B;;QACpC,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,eAAe,mCAAI,SAAS,CAAA;IAC7D,CAAC;IAED;;OAEG;IACH,IAAW,sBAAsB;;QAC/B,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,UAAU,mCAAI,aAAa,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,IAAW,uBAAuB;;QAChC,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,WAAW,mCAAI,QAAQ,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;;QACzB,OAAO,MAAA,MAAA,IAAI,CAAC,OAAO,CAAC,SAAS,0CAAE,IAAI,mCAAI,OAAO,CAAA;IAChD,CAAC;CACF;AAxID,kEAwIC"}
1
+ {"version":3,"file":"OpenId4VcIssuerModuleConfig.js","sourceRoot":"","sources":["../../src/openid4vc-issuer/OpenId4VcIssuerModuleConfig.ts"],"names":[],"mappings":";;;AAMA,6CAAgD;AAEhD,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;AACrD,MAAM,qCAAqC,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,WAAW;AAChE,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,YAAY;AACpD,MAAM,4CAA4C,GAAG,CAAC,GAAG,EAAE,CAAA,CAAC,YAAY;AAuHxE,MAAa,2BAA2B;IAatC,YAAmB,OAA2C;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,qDAAqD;YACxD,OAAO,CAAC,qDAAqD,CAAA;QAE/D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAA,sBAAa,GAAE,CAAC,MAAM,EAAE,CAAA;IAC1D,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,mCAAmC;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,mCAAmC,CAAA;IACzD,CAAC;IAED;;;;OAIG;IACH,IAAW,sBAAsB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,IAAI,0BAA0B,CAAA;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,IAAW,0CAA0C;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,0CAA0C,IAAI,4CAA4C,CAAA;IAChH,CAAC;IAED;;;;OAIG;IACH,IAAW,iCAAiC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,iCAAiC,IAAI,qCAAqC,CAAA;IAChG,CAAC;IAED;;;;OAIG;IACH,IAAW,2BAA2B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,2BAA2B,IAAI,wBAAwB,CAAA;IAC7E,CAAC;IAED;;;;;;OAMG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,KAAK,CAAA;IAC3C,CAAC;IAED;;;;;;;;;OASG;IACH,IAAW,4BAA4B;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,4BAA4B,IAAI,KAAK,CAAA;IAC3D,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,QAAQ,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,IAAW,kCAAkC;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,sBAAsB,IAAI,YAAY,CAAA;IACvE,CAAC;IAED;;OAEG;IACH,IAAW,2BAA2B;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,eAAe,IAAI,SAAS,CAAA;IAC7D,CAAC;IAED;;OAEG;IACH,IAAW,sBAAsB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,IAAI,aAAa,CAAA;IAC5D,CAAC;IAED;;OAEG;IACH,IAAW,uBAAuB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,IAAI,QAAQ,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,OAAO,CAAA;IAChD,CAAC;CACF;AAxID,kEAwIC"}
@@ -1,12 +1,12 @@
1
- import type { OpenId4VciCreateCredentialResponseOptions, OpenId4VciCreateCredentialOfferOptions, OpenId4VciCreateIssuerOptions, OpenId4VciCreateStatelessCredentialOfferOptions } from './OpenId4VcIssuerServiceOptions';
2
- import type { OpenId4VciMetadata } from '../shared';
3
1
  import type { AgentContext, Query, QueryOptions } from '@credo-ts/core';
4
- import { Oauth2AuthorizationServer, Oauth2Client, Oauth2ResourceServer } from '@animo-id/oauth2';
5
- import { Oid4vciIssuer } from '@animo-id/oid4vci';
2
+ import type { OpenId4VciMetadata } from '../shared';
3
+ import type { OpenId4VciCreateCredentialOfferOptions, OpenId4VciCreateCredentialResponseOptions, OpenId4VciCreateIssuerOptions, OpenId4VciCreateStatelessCredentialOfferOptions } from './OpenId4VcIssuerServiceOptions';
4
+ import { Oauth2AuthorizationServer, Oauth2Client, Oauth2ResourceServer } from '@openid4vc/oauth2';
5
+ import { Oid4vciIssuer } from '@openid4vc/oid4vci';
6
6
  import { W3cCredentialService } from '@credo-ts/core';
7
7
  import { OpenId4VcIssuanceSessionState } from './OpenId4VcIssuanceSessionState';
8
8
  import { OpenId4VcIssuerModuleConfig } from './OpenId4VcIssuerModuleConfig';
9
- import { OpenId4VcIssuerRepository, OpenId4VcIssuerRecord, OpenId4VcIssuanceSessionRepository, OpenId4VcIssuanceSessionRecord } from './repository';
9
+ import { OpenId4VcIssuanceSessionRecord, OpenId4VcIssuanceSessionRepository, OpenId4VcIssuerRecord, OpenId4VcIssuerRepository } from './repository';
10
10
  /**
11
11
  * @internal
12
12
  */
@@ -20,35 +20,191 @@ export declare class OpenId4VcIssuerService {
20
20
  issuer: OpenId4VcIssuerRecord;
21
21
  }): Promise<{
22
22
  credentialOffer: string;
23
- credentialOfferObject: {
24
- credential_issuer: string;
25
- credential_configuration_ids: string[];
26
- grants?: ({
27
- authorization_code?: ({
28
- issuer_state?: string | undefined;
29
- authorization_server?: string | undefined;
30
- } & {
31
- [key: string]: unknown;
32
- }) | undefined;
33
- "urn:ietf:params:oauth:grant-type:pre-authorized_code"?: ({
34
- 'pre-authorized_code': string;
35
- authorization_server?: string | undefined;
36
- tx_code?: ({
37
- length?: number | undefined;
38
- description?: string | undefined;
39
- input_mode?: "text" | "numeric" | undefined;
40
- } & {
41
- [key: string]: unknown;
42
- }) | undefined;
43
- } & {
44
- [key: string]: unknown;
45
- }) | undefined;
46
- } & {
47
- [key: string]: unknown;
48
- }) | undefined;
49
- } & {
50
- [key: string]: unknown;
51
- };
23
+ credentialOfferObject: import("zod").objectInputType<{
24
+ credential_issuer: import("zod").ZodEffects<import("zod").ZodString, string, string>;
25
+ credential_configuration_ids: import("zod").ZodArray<import("zod").ZodString, "many">;
26
+ grants: import("zod").ZodOptional<import("zod").ZodObject<{
27
+ authorization_code: import("zod").ZodOptional<import("zod").ZodObject<{
28
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
29
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
30
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
31
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
32
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
33
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
34
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
35
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
36
+ }, import("zod").ZodTypeAny, "passthrough">>>;
37
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code": import("zod").ZodOptional<import("zod").ZodObject<{
38
+ "pre-authorized_code": import("zod").ZodString;
39
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
40
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
41
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
42
+ description: import("zod").ZodOptional<import("zod").ZodString>;
43
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
44
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
45
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
46
+ description: import("zod").ZodOptional<import("zod").ZodString>;
47
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
48
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
49
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
50
+ description: import("zod").ZodOptional<import("zod").ZodString>;
51
+ }, import("zod").ZodTypeAny, "passthrough">>>;
52
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
53
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
54
+ "pre-authorized_code": import("zod").ZodString;
55
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
56
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
57
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
58
+ description: import("zod").ZodOptional<import("zod").ZodString>;
59
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
60
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
61
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
62
+ description: import("zod").ZodOptional<import("zod").ZodString>;
63
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
64
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
65
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
66
+ description: import("zod").ZodOptional<import("zod").ZodString>;
67
+ }, import("zod").ZodTypeAny, "passthrough">>>;
68
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
69
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
70
+ "pre-authorized_code": import("zod").ZodString;
71
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
72
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
73
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
74
+ description: import("zod").ZodOptional<import("zod").ZodString>;
75
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
76
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
77
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
78
+ description: import("zod").ZodOptional<import("zod").ZodString>;
79
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
80
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
81
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
82
+ description: import("zod").ZodOptional<import("zod").ZodString>;
83
+ }, import("zod").ZodTypeAny, "passthrough">>>;
84
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
85
+ }, import("zod").ZodTypeAny, "passthrough">>>;
86
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
87
+ authorization_code: import("zod").ZodOptional<import("zod").ZodObject<{
88
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
89
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
90
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
91
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
92
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
93
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
94
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
95
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
96
+ }, import("zod").ZodTypeAny, "passthrough">>>;
97
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code": import("zod").ZodOptional<import("zod").ZodObject<{
98
+ "pre-authorized_code": import("zod").ZodString;
99
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
100
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
101
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
102
+ description: import("zod").ZodOptional<import("zod").ZodString>;
103
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
104
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
105
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
106
+ description: import("zod").ZodOptional<import("zod").ZodString>;
107
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
108
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
109
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
110
+ description: import("zod").ZodOptional<import("zod").ZodString>;
111
+ }, import("zod").ZodTypeAny, "passthrough">>>;
112
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
113
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
114
+ "pre-authorized_code": import("zod").ZodString;
115
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
116
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
117
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
118
+ description: import("zod").ZodOptional<import("zod").ZodString>;
119
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
120
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
121
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
122
+ description: import("zod").ZodOptional<import("zod").ZodString>;
123
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
124
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
125
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
126
+ description: import("zod").ZodOptional<import("zod").ZodString>;
127
+ }, import("zod").ZodTypeAny, "passthrough">>>;
128
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
129
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
130
+ "pre-authorized_code": import("zod").ZodString;
131
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
132
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
133
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
134
+ description: import("zod").ZodOptional<import("zod").ZodString>;
135
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
136
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
137
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
138
+ description: import("zod").ZodOptional<import("zod").ZodString>;
139
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
140
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
141
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
142
+ description: import("zod").ZodOptional<import("zod").ZodString>;
143
+ }, import("zod").ZodTypeAny, "passthrough">>>;
144
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
145
+ }, import("zod").ZodTypeAny, "passthrough">>>;
146
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
147
+ authorization_code: import("zod").ZodOptional<import("zod").ZodObject<{
148
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
149
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
150
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
151
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
152
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
153
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
154
+ issuer_state: import("zod").ZodOptional<import("zod").ZodString>;
155
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
156
+ }, import("zod").ZodTypeAny, "passthrough">>>;
157
+ "urn:ietf:params:oauth:grant-type:pre-authorized_code": import("zod").ZodOptional<import("zod").ZodObject<{
158
+ "pre-authorized_code": import("zod").ZodString;
159
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
160
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
161
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
162
+ description: import("zod").ZodOptional<import("zod").ZodString>;
163
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
164
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
165
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
166
+ description: import("zod").ZodOptional<import("zod").ZodString>;
167
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
168
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
169
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
170
+ description: import("zod").ZodOptional<import("zod").ZodString>;
171
+ }, import("zod").ZodTypeAny, "passthrough">>>;
172
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
173
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
174
+ "pre-authorized_code": import("zod").ZodString;
175
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
176
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
177
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
178
+ description: import("zod").ZodOptional<import("zod").ZodString>;
179
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
180
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
181
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
182
+ description: import("zod").ZodOptional<import("zod").ZodString>;
183
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
184
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
185
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
186
+ description: import("zod").ZodOptional<import("zod").ZodString>;
187
+ }, import("zod").ZodTypeAny, "passthrough">>>;
188
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
189
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
190
+ "pre-authorized_code": import("zod").ZodString;
191
+ tx_code: import("zod").ZodOptional<import("zod").ZodObject<{
192
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
193
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
194
+ description: import("zod").ZodOptional<import("zod").ZodString>;
195
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
196
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
197
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
198
+ description: import("zod").ZodOptional<import("zod").ZodString>;
199
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
200
+ input_mode: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<"numeric">, import("zod").ZodLiteral<"text">]>>;
201
+ length: import("zod").ZodOptional<import("zod").ZodNumber>;
202
+ description: import("zod").ZodOptional<import("zod").ZodString>;
203
+ }, import("zod").ZodTypeAny, "passthrough">>>;
204
+ authorization_server: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
205
+ }, import("zod").ZodTypeAny, "passthrough">>>;
206
+ }, import("zod").ZodTypeAny, "passthrough">>>;
207
+ }, import("zod").ZodTypeAny, "passthrough">;
52
208
  }>;
53
209
  createCredentialOffer(agentContext: AgentContext, options: OpenId4VciCreateCredentialOfferOptions & {
54
210
  issuer: OpenId4VcIssuerRecord;
@@ -59,20 +215,14 @@ export declare class OpenId4VcIssuerService {
59
215
  createCredentialResponse(agentContext: AgentContext, options: OpenId4VciCreateCredentialResponseOptions & {
60
216
  issuanceSession: OpenId4VcIssuanceSessionRecord;
61
217
  }): Promise<{
62
- credentialResponse: {
63
- c_nonce?: string | undefined;
64
- c_nonce_expires_in?: number | undefined;
65
- credentials?: (string | {
66
- [x: string]: any;
67
- })[] | undefined;
68
- credential?: string | {
69
- [x: string]: any;
70
- } | undefined;
71
- transaction_id?: string | undefined;
72
- notification_id?: string | undefined;
73
- } & {
74
- [key: string]: unknown;
75
- };
218
+ credentialResponse: import("zod").objectOutputType<{
219
+ credential: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>]>>;
220
+ credentials: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>]>, "many">>;
221
+ transaction_id: import("zod").ZodOptional<import("zod").ZodString>;
222
+ c_nonce: import("zod").ZodOptional<import("zod").ZodString>;
223
+ c_nonce_expires_in: import("zod").ZodOptional<import("zod").ZodNumber>;
224
+ notification_id: import("zod").ZodOptional<import("zod").ZodString>;
225
+ }, import("zod").ZodTypeAny, "passthrough">;
76
226
  issuanceSession: OpenId4VcIssuanceSessionRecord;
77
227
  }>;
78
228
  findIssuanceSessionsByQuery(agentContext: AgentContext, query: Query<OpenId4VcIssuanceSessionRecord>, queryOptions?: QueryOptions): Promise<OpenId4VcIssuanceSessionRecord[]>;
@@ -10,8 +10,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.OpenId4VcIssuerService = void 0;
13
- const oauth2_1 = require("@animo-id/oauth2");
14
- const oid4vci_1 = require("@animo-id/oid4vci");
13
+ const oauth2_1 = require("@openid4vc/oauth2");
14
+ const oid4vci_1 = require("@openid4vc/oid4vci");
15
15
  const core_1 = require("@credo-ts/core");
16
16
  const openid4vc_verifier_1 = require("../openid4vc-verifier");
17
17
  const shared_1 = require("../shared");
@@ -43,7 +43,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
43
43
  throw new core_1.CredoError('All offered credentials must have unique ids.');
44
44
  }
45
45
  // Check if all the offered credential configuration ids have a scope value. If not, it won't be possible to actually request
46
- // issuance of the crednetial later on
46
+ // issuance of the credential later on
47
47
  (0, oid4vci_1.extractScopesForCredentialConfigurationIds)({
48
48
  credentialConfigurationIds: options.offeredCredentials,
49
49
  issuerMetadata,
@@ -68,7 +68,6 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
68
68
  };
69
69
  }
70
70
  async createCredentialOffer(agentContext, options) {
71
- var _a, _b, _c, _d, _e, _f;
72
71
  const { preAuthorizedCodeFlowConfig, authorizationCodeFlowConfig, issuer, offeredCredentials, version = 'v1.draft11-13', } = options;
73
72
  if (!preAuthorizedCodeFlowConfig && !authorizationCodeFlowConfig) {
74
73
  throw new core_1.CredoError('Authorization Config or Pre-Authorized Config must be provided.');
@@ -89,7 +88,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
89
88
  core_1.utils.uuid(),
90
89
  ]);
91
90
  // Check if all the offered credential configuration ids have a scope value. If not, it won't be possible to actually request
92
- // issuance of the crednetial later on. For pre-auth it's not needed to add a scope.
91
+ // issuance of the credential later on. For pre-auth it's not needed to add a scope.
93
92
  if (options.authorizationCodeFlowConfig) {
94
93
  (0, oid4vci_1.extractScopesForCredentialConfigurationIds)({
95
94
  credentialConfigurationIds: options.offeredCredentials,
@@ -107,7 +106,10 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
107
106
  grants,
108
107
  credentialOfferUri: hostedCredentialOfferUri,
109
108
  credentialOfferScheme: options.baseUri,
110
- issuerMetadata: Object.assign({ originalDraftVersion: version === 'v1.draft11-13' ? oid4vci_1.Oid4vciDraftVersion.Draft11 : oid4vci_1.Oid4vciDraftVersion.Draft14 }, issuerMetadata),
109
+ issuerMetadata: {
110
+ originalDraftVersion: version === 'v1.draft11-13' ? oid4vci_1.Oid4vciDraftVersion.Draft11 : oid4vci_1.Oid4vciDraftVersion.Draft14,
111
+ ...issuerMetadata,
112
+ },
111
113
  });
112
114
  const issuanceSessionRepository = this.openId4VcIssuanceSessionRepository;
113
115
  const issuanceSession = new repository_1.OpenId4VcIssuanceSessionRecord({
@@ -115,19 +117,19 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
115
117
  credentialOfferUri: hostedCredentialOfferUri,
116
118
  issuerId: issuer.issuerId,
117
119
  state: OpenId4VcIssuanceSessionState_1.OpenId4VcIssuanceSessionState.OfferCreated,
118
- authorization: ((_b = (_a = credentialOfferObject.grants) === null || _a === void 0 ? void 0 : _a.authorization_code) === null || _b === void 0 ? void 0 : _b.issuer_state)
120
+ authorization: credentialOfferObject.grants?.authorization_code?.issuer_state
119
121
  ? {
120
- issuerState: (_d = (_c = credentialOfferObject.grants) === null || _c === void 0 ? void 0 : _c.authorization_code) === null || _d === void 0 ? void 0 : _d.issuer_state,
122
+ issuerState: credentialOfferObject.grants?.authorization_code?.issuer_state,
121
123
  }
122
124
  : undefined,
123
- presentation: (authorizationCodeFlowConfig === null || authorizationCodeFlowConfig === void 0 ? void 0 : authorizationCodeFlowConfig.requirePresentationDuringIssuance)
125
+ presentation: authorizationCodeFlowConfig?.requirePresentationDuringIssuance
124
126
  ? {
125
127
  required: true,
126
128
  }
127
129
  : undefined,
128
130
  // TODO: how to mix pre-auth and auth? Need to do state checks
129
- preAuthorizedCode: (_f = (_e = credentialOfferObject.grants) === null || _e === void 0 ? void 0 : _e[oauth2_1.preAuthorizedCodeGrantIdentifier]) === null || _f === void 0 ? void 0 : _f['pre-authorized_code'],
130
- userPin: (preAuthorizedCodeFlowConfig === null || preAuthorizedCodeFlowConfig === void 0 ? void 0 : preAuthorizedCodeFlowConfig.txCode)
131
+ preAuthorizedCode: credentialOfferObject.grants?.[oauth2_1.preAuthorizedCodeGrantIdentifier]?.['pre-authorized_code'],
132
+ userPin: preAuthorizedCodeFlowConfig?.txCode
131
133
  ? (0, txCode_1.generateTxCode)(agentContext, preAuthorizedCodeFlowConfig.txCode)
132
134
  : undefined,
133
135
  issuanceMetadata: options.issuanceMetadata,
@@ -168,7 +170,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
168
170
  error_description: `Unsupported credential format '${credentialRequest.format}'`,
169
171
  });
170
172
  }
171
- if (!(proofs === null || proofs === void 0 ? void 0 : proofs.jwt) || proofs.jwt.length === 0) {
173
+ if (!proofs?.jwt || proofs.jwt.length === 0) {
172
174
  const { cNonce, cNonceExpiresInSeconds } = await this.createNonce(agentContext, issuer);
173
175
  throw new oauth2_1.Oauth2ServerErrorResponseError({
174
176
  error: oauth2_1.Oauth2ErrorCodes.InvalidProof,
@@ -269,15 +271,14 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
269
271
  return this.openId4VcIssuerRepository.update(agentContext, issuer);
270
272
  }
271
273
  async createIssuer(agentContext, options) {
272
- var _a, _b;
273
274
  // TODO: ideally we can store additional data with a key, such as:
274
275
  // - createdAt
275
276
  // - purpose
276
277
  const accessTokenSignerKey = await agentContext.wallet.createKey({
277
- keyType: (_a = options.accessTokenSignerKeyType) !== null && _a !== void 0 ? _a : core_1.KeyType.Ed25519,
278
+ keyType: options.accessTokenSignerKeyType ?? core_1.KeyType.Ed25519,
278
279
  });
279
280
  const openId4VcIssuer = new repository_1.OpenId4VcIssuerRecord({
280
- issuerId: (_b = options.issuerId) !== null && _b !== void 0 ? _b : core_1.utils.uuid(),
281
+ issuerId: options.issuerId ?? core_1.utils.uuid(),
281
282
  display: options.display,
282
283
  dpopSigningAlgValuesSupported: options.dpopSigningAlgValuesSupported,
283
284
  accessTokenPublicKeyFingerprint: accessTokenSignerKey.fingerprint,
@@ -290,9 +291,8 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
290
291
  return openId4VcIssuer;
291
292
  }
292
293
  async rotateAccessTokenSigningKey(agentContext, issuer, options) {
293
- var _a;
294
294
  const accessTokenSignerKey = await agentContext.wallet.createKey({
295
- keyType: (_a = options === null || options === void 0 ? void 0 : options.accessTokenSignerKeyType) !== null && _a !== void 0 ? _a : core_1.KeyType.Ed25519,
295
+ keyType: options?.accessTokenSignerKeyType ?? core_1.KeyType.Ed25519,
296
296
  });
297
297
  // TODO: ideally we can remove the previous key
298
298
  issuer.accessTokenPublicKeyFingerprint = accessTokenSignerKey.fingerprint;
@@ -302,7 +302,6 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
302
302
  * @param fetchExternalAuthorizationServerMetadata defaults to false
303
303
  */
304
304
  async getIssuerMetadata(agentContext, issuerRecord, fetchExternalAuthorizationServerMetadata = false) {
305
- var _a;
306
305
  const config = agentContext.dependencyManager.resolve(OpenId4VcIssuerModuleConfig_1.OpenId4VcIssuerModuleConfig);
307
306
  const issuerUrl = (0, core_1.joinUriParts)(config.baseUrl, [issuerRecord.issuerId]);
308
307
  const oauth2Client = this.getOauth2Client(agentContext);
@@ -324,7 +323,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
324
323
  const credentialIssuerMetadata = {
325
324
  credential_issuer: issuerUrl,
326
325
  credential_endpoint: (0, core_1.joinUriParts)(issuerUrl, [config.credentialEndpointPath]),
327
- credential_configurations_supported: (_a = issuerRecord.credentialConfigurationsSupported) !== null && _a !== void 0 ? _a : {},
326
+ credential_configurations_supported: issuerRecord.credentialConfigurationsSupported ?? {},
328
327
  authorization_servers: authorizationServers,
329
328
  display: issuerRecord.display,
330
329
  nonce_endpoint: (0, core_1.joinUriParts)(issuerUrl, [config.nonceEndpointPath]),
@@ -406,22 +405,25 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
406
405
  }
407
406
  getIssuer(agentContext) {
408
407
  return new oid4vci_1.Oid4vciIssuer({
409
- callbacks: (0, callbacks_1.getOid4vciCallbacks)(agentContext),
408
+ callbacks: (0, callbacks_1.getOid4vcCallbacks)(agentContext),
410
409
  });
411
410
  }
412
411
  getOauth2Client(agentContext) {
413
412
  return new oauth2_1.Oauth2Client({
414
- callbacks: (0, callbacks_1.getOid4vciCallbacks)(agentContext),
413
+ callbacks: (0, callbacks_1.getOid4vcCallbacks)(agentContext),
415
414
  });
416
415
  }
417
416
  getOauth2AuthorizationServer(agentContext) {
418
417
  return new oauth2_1.Oauth2AuthorizationServer({
419
- callbacks: (0, callbacks_1.getOid4vciCallbacks)(agentContext),
418
+ callbacks: (0, callbacks_1.getOid4vcCallbacks)(agentContext),
420
419
  });
421
420
  }
422
421
  getResourceServer(agentContext, issuerRecord) {
423
422
  return new oauth2_1.Oauth2ResourceServer({
424
- callbacks: Object.assign(Object.assign({}, (0, callbacks_1.getOid4vciCallbacks)(agentContext)), { clientAuthentication: (0, callbacks_1.dynamicOid4vciClientAuthentication)(agentContext, issuerRecord) }),
423
+ callbacks: {
424
+ ...(0, callbacks_1.getOid4vcCallbacks)(agentContext),
425
+ clientAuthentication: (0, callbacks_1.dynamicOid4vciClientAuthentication)(agentContext, issuerRecord),
426
+ },
425
427
  });
426
428
  }
427
429
  /**
@@ -446,7 +448,6 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
446
448
  });
447
449
  }
448
450
  async getGrantsFromConfig(agentContext, config) {
449
- var _a;
450
451
  const { preAuthorizedCodeFlowConfig, authorizationCodeFlowConfig, issuerMetadata } = config;
451
452
  // TOOD: export type
452
453
  const grants = {};
@@ -454,7 +455,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
454
455
  if (preAuthorizedCodeFlowConfig) {
455
456
  const { txCode, authorizationServerUrl, preAuthorizedCode } = preAuthorizedCodeFlowConfig;
456
457
  grants[oauth2_1.preAuthorizedCodeGrantIdentifier] = {
457
- 'pre-authorized_code': preAuthorizedCode !== null && preAuthorizedCode !== void 0 ? preAuthorizedCode : (await agentContext.wallet.generateNonce()),
458
+ 'pre-authorized_code': preAuthorizedCode ?? (await agentContext.wallet.generateNonce()),
458
459
  tx_code: txCode,
459
460
  authorization_server: config.issuerMetadata.credentialIssuer.authorization_servers
460
461
  ? authorizationServerUrl
@@ -475,7 +476,8 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
475
476
  issuer_state:
476
477
  // TODO: the issuer_state should not be guessable, so it's best if we generate it and now allow the user to provide it?
477
478
  // but same is true for the pre-auth code and users of credo can also provide that value. We can't easily do unique constraint with askat
478
- (_a = authorizationCodeFlowConfig.issuerState) !== null && _a !== void 0 ? _a : core_1.TypedArrayEncoder.toBase64URL(agentContext.wallet.getRandomValues(32)),
479
+ authorizationCodeFlowConfig.issuerState ??
480
+ core_1.TypedArrayEncoder.toBase64URL(agentContext.wallet.getRandomValues(32)),
479
481
  authorization_server: config.issuerMetadata.credentialIssuer.authorization_servers
480
482
  ? authorizationServerUrl
481
483
  : undefined,
@@ -509,7 +511,6 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
509
511
  return credentialHolderBindings;
510
512
  }
511
513
  getCredentialConfigurationsForRequest(options) {
512
- var _a, _b;
513
514
  const { requestFormat, issuanceSession, issuerMetadata, authorization } = options;
514
515
  // Check against all credential configurations
515
516
  const configurationsMatchingRequest = (0, oid4vci_1.getCredentialConfigurationsMatchingRequestFormat)({
@@ -547,7 +548,7 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
547
548
  }
548
549
  // Limit to scopes from the token
549
550
  // We only do this for auth flow, so it's not required to add a scope for every configuration.
550
- const configurationsMatchingRequestOfferScope = (0, issuerMetadataUtils_1.getCredentialConfigurationsSupportedForScopes)(configurationsMatchingRequestAndOfferNotIssued, (_b = (_a = authorization.accessToken.payload.scope) === null || _a === void 0 ? void 0 : _a.split(' ')) !== null && _b !== void 0 ? _b : []);
551
+ const configurationsMatchingRequestOfferScope = (0, issuerMetadataUtils_1.getCredentialConfigurationsSupportedForScopes)(configurationsMatchingRequestAndOfferNotIssued, authorization.accessToken.payload.scope?.split(' ') ?? []);
551
552
  if (Object.keys(configurationsMatchingRequestOfferScope).length === 0) {
552
553
  throw new oauth2_1.Oauth2ServerErrorResponseError({
553
554
  error: oauth2_1.Oauth2ErrorCodes.InsufficientScope,
@@ -562,7 +563,6 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
562
563
  };
563
564
  }
564
565
  async getSignedCredentials(agentContext, options) {
565
- var _a, _b;
566
566
  const { issuanceSession, issuer, requestFormat, authorization } = options;
567
567
  const issuerMetadata = await this.getIssuerMetadata(agentContext, issuer);
568
568
  const { credentialConfigurations, credentialConfigurationIds } = this.getCredentialConfigurationsForRequest({
@@ -571,21 +571,29 @@ let OpenId4VcIssuerService = class OpenId4VcIssuerService {
571
571
  requestFormat,
572
572
  authorization,
573
573
  });
574
- const mapper = (_a = options.credentialRequestToCredentialMapper) !== null && _a !== void 0 ? _a : this.openId4VcIssuerConfig.credentialRequestToCredentialMapper;
574
+ const mapper = options.credentialRequestToCredentialMapper ?? this.openId4VcIssuerConfig.credentialRequestToCredentialMapper;
575
575
  let verification = undefined;
576
576
  // NOTE: this will throw an error if the verifier module is not registered and there is a
577
577
  // verification session. But you can't get here without the verifier module anyway
578
- if ((_b = issuanceSession.presentation) === null || _b === void 0 ? void 0 : _b.openId4VcVerificationSessionId) {
578
+ if (issuanceSession.presentation?.openId4VcVerificationSessionId) {
579
579
  const verifierApi = agentContext.dependencyManager.resolve(openid4vc_verifier_1.OpenId4VcVerifierApi);
580
580
  const session = await verifierApi.getVerificationSessionById(issuanceSession.presentation.openId4VcVerificationSessionId);
581
581
  const response = await verifierApi.getVerifiedAuthorizationResponse(issuanceSession.presentation.openId4VcVerificationSessionId);
582
- if (!response.presentationExchange) {
583
- throw new core_1.CredoError(`Verified authorization response for verification session with id '${session.id}' does not have presenationExchange defined.`);
582
+ if (response.presentationExchange) {
583
+ verification = {
584
+ session,
585
+ presentationExchange: response.presentationExchange,
586
+ };
587
+ }
588
+ else if (response.dcql) {
589
+ verification = {
590
+ session,
591
+ dcql: response.dcql,
592
+ };
593
+ }
594
+ else {
595
+ throw new core_1.CredoError(`Verified authorization response for verification session with id '${session.id}' does not have presenationExchange or dcql defined.`);
584
596
  }
585
- verification = {
586
- session,
587
- presentationExchange: response.presentationExchange,
588
- };
589
597
  }
590
598
  const holderBindings = await this.getHolderBindingFromRequestProofs(agentContext, options.proofSigners);
591
599
  const signOptions = await mapper({