@sphereon/oid4vci-client 0.16.1-next.15 → 0.16.1-next.24

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.
@@ -1,7 +1,7 @@
1
1
  import { CreateDPoPClientOpts } from '@sphereon/oid4vc-common';
2
- import { CredentialRequestV1_0_13, CredentialResponse, DPoPResponseParams, OID4VCICredentialFormat, OpenId4VCIVersion, OpenIDResponse, ProofOfPossession, UniformCredentialRequest } from '@sphereon/oid4vci-common';
2
+ import { CredentialRequestV1_0_13, CredentialRequestWithoutProofV1_0_13, CredentialResponse, DPoPResponseParams, OID4VCICredentialFormat, OpenId4VCIVersion, OpenIDResponse, ProofOfPossession, UniformCredentialRequest } from '@sphereon/oid4vci-common';
3
3
  import { ExperimentalSubjectIssuance } from '@sphereon/oid4vci-common';
4
- import { CredentialFormat } from '@sphereon/ssi-types';
4
+ import { CredentialFormat, DIDDocument } from '@sphereon/ssi-types';
5
5
  import { CredentialRequestClientBuilderV1_0_11 } from './CredentialRequestClientBuilderV1_0_11';
6
6
  import { CredentialRequestClientBuilderV1_0_13 } from './CredentialRequestClientBuilderV1_0_13';
7
7
  import { ProofOfPossessionBuilder } from './ProofOfPossessionBuilder';
@@ -19,7 +19,15 @@ export interface CredentialRequestOpts {
19
19
  version: OpenId4VCIVersion;
20
20
  subjectIssuance?: ExperimentalSubjectIssuance;
21
21
  }
22
- export declare function buildProof<DIDDoc>(proofInput: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession, opts: {
22
+ export type CreateCredentialRequestOpts<DIDDoc = DIDDocument> = {
23
+ credentialIdentifier?: string;
24
+ credentialTypes?: string | string[];
25
+ context?: string[];
26
+ format?: CredentialFormat | OID4VCICredentialFormat;
27
+ subjectIssuance?: ExperimentalSubjectIssuance;
28
+ version: OpenId4VCIVersion;
29
+ };
30
+ export declare function buildProof<DIDDoc = DIDDocument>(proofInput: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession, opts: {
23
31
  version: OpenId4VCIVersion;
24
32
  cNonce?: string;
25
33
  }): Promise<ProofOfPossession>;
@@ -31,7 +39,23 @@ export declare class CredentialRequestClient {
31
39
  getCredentialEndpoint(): string;
32
40
  getDeferredCredentialEndpoint(): string | undefined;
33
41
  constructor(builder: CredentialRequestClientBuilderV1_0_13 | CredentialRequestClientBuilderV1_0_11);
34
- acquireCredentialsUsingProof<DIDDoc>(opts: {
42
+ /**
43
+ * Typically you should not use this method, as it omits a proof from the request.
44
+ * There are certain issuers that in specific circumstances can do without this proof, because they have other means of user binding
45
+ * like using DPoP together with an authorization code flow. These are however rare, so you should be using the acquireCredentialsUsingProof normally
46
+ * @param opts
47
+ */
48
+ acquireCredentialsWithoutProof<DIDDoc = DIDDocument>(opts: {
49
+ credentialIdentifier?: string;
50
+ credentialTypes?: string | string[];
51
+ context?: string[];
52
+ format?: CredentialFormat | OID4VCICredentialFormat;
53
+ subjectIssuance?: ExperimentalSubjectIssuance;
54
+ createDPoPOpts?: CreateDPoPClientOpts;
55
+ }): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & {
56
+ access_token: string;
57
+ }>;
58
+ acquireCredentialsUsingProof<DIDDoc = DIDDocument>(opts: {
35
59
  proofInput: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession;
36
60
  credentialIdentifier?: string;
37
61
  credentialTypes?: string | string[];
@@ -42,23 +66,23 @@ export declare class CredentialRequestClient {
42
66
  }): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & {
43
67
  access_token: string;
44
68
  }>;
69
+ acquireCredentialsUsingRequestWithoutProof(uniformRequest: UniformCredentialRequest, createDPoPOpts?: CreateDPoPClientOpts): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & {
70
+ access_token: string;
71
+ }>;
45
72
  acquireCredentialsUsingRequest(uniformRequest: UniformCredentialRequest, createDPoPOpts?: CreateDPoPClientOpts): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & {
46
73
  access_token: string;
47
74
  }>;
75
+ private acquireCredentialsUsingRequestImpl;
48
76
  acquireDeferredCredential(response: Pick<CredentialResponse, 'transaction_id' | 'acceptance_token' | 'c_nonce'>, opts?: {
49
77
  bearerToken?: string;
50
78
  }): Promise<OpenIDResponse<CredentialResponse> & {
51
79
  access_token: string;
52
80
  }>;
53
- createCredentialRequest<DIDDoc>(opts: {
81
+ createCredentialRequestWithoutProof<DIDDoc = DIDDocument>(opts: CreateCredentialRequestOpts<DIDDoc>): Promise<CredentialRequestWithoutProofV1_0_13>;
82
+ createCredentialRequest<DIDDoc = DIDDocument>(opts: CreateCredentialRequestOpts<DIDDoc> & {
54
83
  proofInput: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession;
55
- credentialIdentifier?: string;
56
- credentialTypes?: string | string[];
57
- context?: string[];
58
- format?: CredentialFormat | OID4VCICredentialFormat;
59
- subjectIssuance?: ExperimentalSubjectIssuance;
60
- version: OpenId4VCIVersion;
61
84
  }): Promise<CredentialRequestV1_0_13>;
85
+ private createCredentialRequestImpl;
62
86
  private version;
63
87
  }
64
88
  //# sourceMappingURL=CredentialRequestClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialRequestClient.d.ts","sourceRoot":"","sources":["../lib/CredentialRequestClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CredentialRequestClient.d.ts","sourceRoot":"","sources":["../lib/CredentialRequestClient.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,26 @@ class CredentialRequestClient {
51
51
  this._isDeferred = false;
52
52
  this._credentialRequestOpts = Object.assign({}, builder);
53
53
  }
54
+ /**
55
+ * Typically you should not use this method, as it omits a proof from the request.
56
+ * There are certain issuers that in specific circumstances can do without this proof, because they have other means of user binding
57
+ * like using DPoP together with an authorization code flow. These are however rare, so you should be using the acquireCredentialsUsingProof normally
58
+ * @param opts
59
+ */
60
+ acquireCredentialsWithoutProof(opts) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const { credentialIdentifier, credentialTypes, format, context, subjectIssuance } = opts;
63
+ const request = yield this.createCredentialRequestWithoutProof({
64
+ credentialTypes,
65
+ context,
66
+ format,
67
+ version: this.version(),
68
+ credentialIdentifier,
69
+ subjectIssuance,
70
+ });
71
+ return yield this.acquireCredentialsUsingRequestWithoutProof(request, opts.createDPoPOpts);
72
+ });
73
+ }
54
74
  acquireCredentialsUsingProof(opts) {
55
75
  return __awaiter(this, void 0, void 0, function* () {
56
76
  const { credentialIdentifier, credentialTypes, proofInput, format, context, subjectIssuance } = opts;
@@ -66,7 +86,17 @@ class CredentialRequestClient {
66
86
  return yield this.acquireCredentialsUsingRequest(request, opts.createDPoPOpts);
67
87
  });
68
88
  }
89
+ acquireCredentialsUsingRequestWithoutProof(uniformRequest, createDPoPOpts) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ return yield this.acquireCredentialsUsingRequestImpl(uniformRequest, createDPoPOpts);
92
+ });
93
+ }
69
94
  acquireCredentialsUsingRequest(uniformRequest, createDPoPOpts) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ return yield this.acquireCredentialsUsingRequestImpl(uniformRequest, createDPoPOpts);
97
+ });
98
+ }
99
+ acquireCredentialsUsingRequestImpl(uniformRequest, createDPoPOpts) {
70
100
  return __awaiter(this, void 0, void 0, function* () {
71
101
  var _a, _b;
72
102
  if (this.version() < oid4vci_common_1.OpenId4VCIVersion.VER_1_0_13) {
@@ -128,19 +158,29 @@ class CredentialRequestClient {
128
158
  });
129
159
  });
130
160
  }
161
+ createCredentialRequestWithoutProof(opts) {
162
+ return __awaiter(this, void 0, void 0, function* () {
163
+ return yield this.createCredentialRequestImpl(opts);
164
+ });
165
+ }
131
166
  createCredentialRequest(opts) {
167
+ return __awaiter(this, void 0, void 0, function* () {
168
+ return yield this.createCredentialRequestImpl(opts);
169
+ });
170
+ }
171
+ createCredentialRequestImpl(opts) {
132
172
  return __awaiter(this, void 0, void 0, function* () {
133
173
  var _a;
134
174
  const { proofInput, credentialIdentifier: credential_identifier } = opts;
135
- const proof = yield buildProof(proofInput, opts);
175
+ let proof = undefined;
176
+ if (proofInput) {
177
+ proof = yield buildProof(proofInput, opts);
178
+ }
136
179
  if (credential_identifier) {
137
180
  if (opts.format || opts.credentialTypes || opts.context) {
138
181
  throw Error(`You cannot mix credential_identifier with format, credential types and/or context`);
139
182
  }
140
- return {
141
- credential_identifier,
142
- proof,
143
- };
183
+ return Object.assign({ credential_identifier }, (proof && { proof }));
144
184
  }
145
185
  const formatSelection = (_a = opts.format) !== null && _a !== void 0 ? _a : this.credentialRequestOpts.format;
146
186
  if (!formatSelection) {
@@ -159,17 +199,15 @@ class CredentialRequestClient {
159
199
  }
160
200
  // TODO: we should move format specific logic
161
201
  if (format === 'jwt_vc_json' || format === 'jwt_vc') {
162
- return Object.assign({ credential_definition: {
202
+ return Object.assign(Object.assign({ credential_definition: {
163
203
  type: types,
164
- }, format,
165
- proof }, opts.subjectIssuance);
204
+ }, format }, (proof && { proof })), opts.subjectIssuance);
166
205
  }
167
206
  else if (format === 'jwt_vc_json-ld' || format === 'ldp_vc') {
168
207
  if (this.version() >= oid4vci_common_1.OpenId4VCIVersion.VER_1_0_12 && !opts.context) {
169
208
  throw Error('No @context value present, but it is required');
170
209
  }
171
- return Object.assign(Object.assign({ format,
172
- proof }, opts.subjectIssuance), { credential_definition: {
210
+ return Object.assign(Object.assign(Object.assign({ format }, (proof && { proof })), opts.subjectIssuance), { credential_definition: {
173
211
  type: types,
174
212
  '@context': opts.context,
175
213
  } });
@@ -178,17 +216,15 @@ class CredentialRequestClient {
178
216
  if (types.length > 1) {
179
217
  throw Error(`Only a single credential type is supported for ${format}`);
180
218
  }
181
- return Object.assign({ format,
182
- proof, vct: types[0] }, opts.subjectIssuance);
219
+ return Object.assign(Object.assign(Object.assign({ format }, (proof && { proof })), { vct: types[0] }), opts.subjectIssuance);
183
220
  }
184
221
  else if (format === 'mso_mdoc') {
185
222
  if (types.length > 1) {
186
223
  throw Error(`Only a single credential type is supported for ${format}`);
187
224
  }
188
- return Object.assign({ format,
189
- proof, doctype: types[0] }, opts.subjectIssuance);
225
+ return Object.assign(Object.assign(Object.assign({ format }, (proof && { proof })), { doctype: types[0] }), opts.subjectIssuance);
190
226
  }
191
- throw new Error(`Unsupported format: ${format}`);
227
+ throw new Error(`Unsupported credential format: ${format}`);
192
228
  });
193
229
  }
194
230
  version() {
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialRequestClient.js","sourceRoot":"","sources":["../lib/CredentialRequestClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CredentialRequestClient.js","sourceRoot":"","sources":["../lib/CredentialRequestClient.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { JWK } from '@sphereon/oid4vc-common';
2
2
  import { AccessTokenResponse, Alg, EndpointMetadata, Jwt, OpenId4VCIVersion, PoPMode, ProofOfPossession, ProofOfPossessionCallbacks, Typ } from '@sphereon/oid4vci-common';
3
- export declare class ProofOfPossessionBuilder<DIDDoc> {
3
+ export declare class ProofOfPossessionBuilder<DIDDoc = never> {
4
4
  private readonly proof?;
5
5
  private readonly callbacks?;
6
6
  private readonly version;
@@ -1 +1 @@
1
- {"version":3,"file":"ProofOfPossessionBuilder.d.ts","sourceRoot":"","sources":["../lib/ProofOfPossessionBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProofOfPossessionBuilder.d.ts","sourceRoot":"","sources":["../lib/ProofOfPossessionBuilder.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { createDPoP, CreateDPoPClientOpts, getCreateDPoPOptions } from '@sphereo
2
2
  import {
3
3
  acquireDeferredCredential,
4
4
  CredentialRequestV1_0_13,
5
+ CredentialRequestWithoutProofV1_0_13,
5
6
  CredentialResponse,
6
7
  DPoPResponseParams,
7
8
  getCredentialRequestForVersion,
@@ -17,7 +18,7 @@ import {
17
18
  URL_NOT_VALID,
18
19
  } from '@sphereon/oid4vci-common';
19
20
  import { ExperimentalSubjectIssuance } from '@sphereon/oid4vci-common';
20
- import { CredentialFormat } from '@sphereon/ssi-types';
21
+ import { CredentialFormat, DIDDocument } from '@sphereon/ssi-types';
21
22
  import Debug from 'debug';
22
23
 
23
24
  import { CredentialRequestClientBuilderV1_0_11 } from './CredentialRequestClientBuilderV1_0_11';
@@ -42,7 +43,16 @@ export interface CredentialRequestOpts {
42
43
  subjectIssuance?: ExperimentalSubjectIssuance;
43
44
  }
44
45
 
45
- export async function buildProof<DIDDoc>(
46
+ export type CreateCredentialRequestOpts<DIDDoc = DIDDocument> = {
47
+ credentialIdentifier?: string;
48
+ credentialTypes?: string | string[];
49
+ context?: string[];
50
+ format?: CredentialFormat | OID4VCICredentialFormat;
51
+ subjectIssuance?: ExperimentalSubjectIssuance;
52
+ version: OpenId4VCIVersion;
53
+ };
54
+
55
+ export async function buildProof<DIDDoc = DIDDocument>(
46
56
  proofInput: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession,
47
57
  opts: {
48
58
  version: OpenId4VCIVersion;
@@ -85,7 +95,34 @@ export class CredentialRequestClient {
85
95
  this._credentialRequestOpts = { ...builder };
86
96
  }
87
97
 
88
- public async acquireCredentialsUsingProof<DIDDoc>(opts: {
98
+ /**
99
+ * Typically you should not use this method, as it omits a proof from the request.
100
+ * There are certain issuers that in specific circumstances can do without this proof, because they have other means of user binding
101
+ * like using DPoP together with an authorization code flow. These are however rare, so you should be using the acquireCredentialsUsingProof normally
102
+ * @param opts
103
+ */
104
+ public async acquireCredentialsWithoutProof<DIDDoc = DIDDocument>(opts: {
105
+ credentialIdentifier?: string;
106
+ credentialTypes?: string | string[];
107
+ context?: string[];
108
+ format?: CredentialFormat | OID4VCICredentialFormat;
109
+ subjectIssuance?: ExperimentalSubjectIssuance;
110
+ createDPoPOpts?: CreateDPoPClientOpts;
111
+ }): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & { access_token: string }> {
112
+ const { credentialIdentifier, credentialTypes, format, context, subjectIssuance } = opts;
113
+
114
+ const request = await this.createCredentialRequestWithoutProof<DIDDoc>({
115
+ credentialTypes,
116
+ context,
117
+ format,
118
+ version: this.version(),
119
+ credentialIdentifier,
120
+ subjectIssuance,
121
+ });
122
+ return await this.acquireCredentialsUsingRequestWithoutProof(request, opts.createDPoPOpts);
123
+ }
124
+
125
+ public async acquireCredentialsUsingProof<DIDDoc = DIDDocument>(opts: {
89
126
  proofInput: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession;
90
127
  credentialIdentifier?: string;
91
128
  credentialTypes?: string | string[];
@@ -96,7 +133,7 @@ export class CredentialRequestClient {
96
133
  }): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & { access_token: string }> {
97
134
  const { credentialIdentifier, credentialTypes, proofInput, format, context, subjectIssuance } = opts;
98
135
 
99
- const request = await this.createCredentialRequest({
136
+ const request = await this.createCredentialRequest<DIDDoc>({
100
137
  proofInput,
101
138
  credentialTypes,
102
139
  context,
@@ -108,9 +145,23 @@ export class CredentialRequestClient {
108
145
  return await this.acquireCredentialsUsingRequest(request, opts.createDPoPOpts);
109
146
  }
110
147
 
148
+ public async acquireCredentialsUsingRequestWithoutProof(
149
+ uniformRequest: UniformCredentialRequest,
150
+ createDPoPOpts?: CreateDPoPClientOpts,
151
+ ): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & { access_token: string }> {
152
+ return await this.acquireCredentialsUsingRequestImpl(uniformRequest, createDPoPOpts);
153
+ }
154
+
111
155
  public async acquireCredentialsUsingRequest(
112
156
  uniformRequest: UniformCredentialRequest,
113
157
  createDPoPOpts?: CreateDPoPClientOpts,
158
+ ): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & { access_token: string }> {
159
+ return await this.acquireCredentialsUsingRequestImpl(uniformRequest, createDPoPOpts);
160
+ }
161
+
162
+ private async acquireCredentialsUsingRequestImpl(
163
+ uniformRequest: UniformCredentialRequest & { proof?: ProofOfPossession },
164
+ createDPoPOpts?: CreateDPoPClientOpts,
114
165
  ): Promise<OpenIDResponse<CredentialResponse, DPoPResponseParams> & { access_token: string }> {
115
166
  if (this.version() < OpenId4VCIVersion.VER_1_0_13) {
116
167
  throw new Error('Versions below v1.0.13 (draft 13) are not supported by the V13 credential request client.');
@@ -194,24 +245,37 @@ export class CredentialRequestClient {
194
245
  });
195
246
  }
196
247
 
197
- public async createCredentialRequest<DIDDoc>(opts: {
198
- proofInput: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession;
199
- credentialIdentifier?: string;
200
- credentialTypes?: string | string[];
201
- context?: string[];
202
- format?: CredentialFormat | OID4VCICredentialFormat;
203
- subjectIssuance?: ExperimentalSubjectIssuance;
204
- version: OpenId4VCIVersion;
205
- }): Promise<CredentialRequestV1_0_13> {
248
+ public async createCredentialRequestWithoutProof<DIDDoc = DIDDocument>(
249
+ opts: CreateCredentialRequestOpts<DIDDoc>,
250
+ ): Promise<CredentialRequestWithoutProofV1_0_13> {
251
+ return await this.createCredentialRequestImpl(opts);
252
+ }
253
+
254
+ public async createCredentialRequest<DIDDoc = DIDDocument>(
255
+ opts: CreateCredentialRequestOpts<DIDDoc> & {
256
+ proofInput: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession;
257
+ },
258
+ ): Promise<CredentialRequestV1_0_13> {
259
+ return await this.createCredentialRequestImpl(opts);
260
+ }
261
+
262
+ private async createCredentialRequestImpl<DIDDoc = DIDDocument>(
263
+ opts: CreateCredentialRequestOpts<DIDDoc> & {
264
+ proofInput?: ProofOfPossessionBuilder<DIDDoc> | ProofOfPossession;
265
+ },
266
+ ): Promise<CredentialRequestV1_0_13> {
206
267
  const { proofInput, credentialIdentifier: credential_identifier } = opts;
207
- const proof = await buildProof(proofInput, opts);
268
+ let proof: ProofOfPossession | undefined = undefined;
269
+ if (proofInput) {
270
+ proof = await buildProof(proofInput, opts);
271
+ }
208
272
  if (credential_identifier) {
209
273
  if (opts.format || opts.credentialTypes || opts.context) {
210
274
  throw Error(`You cannot mix credential_identifier with format, credential types and/or context`);
211
275
  }
212
276
  return {
213
277
  credential_identifier,
214
- proof,
278
+ ...(proof && { proof }),
215
279
  };
216
280
  }
217
281
  const formatSelection = opts.format ?? this.credentialRequestOpts.format;
@@ -239,7 +303,7 @@ export class CredentialRequestClient {
239
303
  type: types,
240
304
  },
241
305
  format,
242
- proof,
306
+ ...(proof && { proof }),
243
307
  ...opts.subjectIssuance,
244
308
  };
245
309
  } else if (format === 'jwt_vc_json-ld' || format === 'ldp_vc') {
@@ -249,7 +313,7 @@ export class CredentialRequestClient {
249
313
 
250
314
  return {
251
315
  format,
252
- proof,
316
+ ...(proof && { proof }),
253
317
  ...opts.subjectIssuance,
254
318
 
255
319
  credential_definition: {
@@ -263,7 +327,7 @@ export class CredentialRequestClient {
263
327
  }
264
328
  return {
265
329
  format,
266
- proof,
330
+ ...(proof && { proof }),
267
331
  vct: types[0],
268
332
  ...opts.subjectIssuance,
269
333
  };
@@ -273,13 +337,13 @@ export class CredentialRequestClient {
273
337
  }
274
338
  return {
275
339
  format,
276
- proof,
340
+ ...(proof && { proof }),
277
341
  doctype: types[0],
278
342
  ...opts.subjectIssuance,
279
343
  };
280
344
  }
281
345
 
282
- throw new Error(`Unsupported format: ${format}`);
346
+ throw new Error(`Unsupported credential format: ${format}`);
283
347
  }
284
348
 
285
349
  private version(): OpenId4VCIVersion {
@@ -14,7 +14,7 @@ import {
14
14
  Typ,
15
15
  } from '@sphereon/oid4vci-common';
16
16
 
17
- export class ProofOfPossessionBuilder<DIDDoc> {
17
+ export class ProofOfPossessionBuilder<DIDDoc = never> {
18
18
  private readonly proof?: ProofOfPossession;
19
19
  private readonly callbacks?: ProofOfPossessionCallbacks<DIDDoc>;
20
20
  private readonly version: OpenId4VCIVersion;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-client",
3
- "version": "0.16.1-next.15+1d86685",
3
+ "version": "0.16.1-next.24+f696867",
4
4
  "description": "OpenID for Verifiable Credential Issuance (OpenID4VCI) client",
5
5
  "source": "lib/index.ts",
6
6
  "main": "dist/index.js",
@@ -15,9 +15,9 @@
15
15
  "build": "tsc"
16
16
  },
17
17
  "dependencies": {
18
- "@sphereon/oid4vc-common": "0.16.1-next.15+1d86685",
19
- "@sphereon/oid4vci-common": "0.16.1-next.15+1d86685",
20
- "@sphereon/ssi-types": "0.29.0",
18
+ "@sphereon/oid4vc-common": "0.16.1-next.24+f696867",
19
+ "@sphereon/oid4vci-common": "0.16.1-next.24+f696867",
20
+ "@sphereon/ssi-types": "0.29.1-unstable.208",
21
21
  "cross-fetch": "^3.1.8",
22
22
  "debug": "^4.3.5"
23
23
  },
@@ -70,5 +70,5 @@
70
70
  "OIDC4VCI",
71
71
  "OID4VCI"
72
72
  ],
73
- "gitHead": "1d8668588979978cc1d95e2845388a3f4c6a3400"
73
+ "gitHead": "f6968677ccd10c2ce8eb8484443971102547e8a2"
74
74
  }