@sphereon/oid4vci-client 0.0.1-unstable.5 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # Release Notes
2
2
 
3
- ## v0.0.1 - 2022-10-21
3
+ ## v0.1.0 - 2022-10-18
4
4
 
5
- Initial Structure
5
+ Initial release with support for the pre-authorized code flow only.
6
+
7
+ Expect breaking changes in the future, as this package still is undergoing heavy development.
package/README.md CHANGED
@@ -1,323 +1,323 @@
1
- <h1 align="center">
2
- <br>
3
- <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
4
- <br>OpenID for Verifiable Credential Issuance - Client
5
- <br>
6
- </h1>
7
-
8
- [![CI](https://github.com/Sphereon-Opensource/oid4vci-client/actions/workflows/main.yml/badge.svg)](https://github.com/Sphereon-Opensource/oid4vci-client/actions/workflows/main.yml) [![codecov](https://codecov.io/gh/Sphereon-Opensource/oid4vci-client/branch/develop/graph/badge.svg)](https://codecov.io/gh/Sphereon-Opensource/pex) [![NPM Version](https://img.shields.io/npm/v/@sphereon/oid4vci-client.svg)](https://npm.im/@sphereon/oid4vci-client)
9
-
10
-
11
- _IMPORTANT this package is in an early development stage and does not support all functionality from the OID4VCI spec
12
- yet!_
13
-
14
- ### Background
15
-
16
- A client to request and receive Verifiable Credentials using
17
- the [OpenID for Verifiable Credential Issuance](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html) (
18
- OID4VCI) specification for receiving Verifiable Credentials as a Holder.
19
-
20
- ### Flows
21
-
22
- #### Authorized Code Flow
23
-
24
- This flow isn't supported yet!
25
-
26
- #### Pre-authorized Code Flow
27
-
28
- The pre-authorized code flow assumes the user is using an out of bound mechanism outside the issuance flow to
29
- authenticate first.
30
-
31
- The below diagram shows the steps involved in the pre-authorized code flow. Note that wallet inner functionalities (like
32
- saving VCs) are out of scope for this library. Also This library doesn't involve any functionalities of a VC Issuer
33
- ![Flow diagram](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/Sphereon-Opensource/OID4VCI-client/develop/docs/preauthorized-code-flow.puml)
34
-
35
- #### Issuance Initiation
36
-
37
- Issuance is started from a so-called Issuance Initiation Request by the Issuer. This typically is URI, exposed
38
- as a link or a QR code. You can call the `IssuanceInitiation.fromURI(uri)` method to parse the URI into a Json object
39
- containing the baseUrl and the `IssuanceInitiationRequest` payload object
40
-
41
- ```typescript
42
- import { IssuanceInitiation } from '@sphereon/oid4vci-client';
43
-
44
- const initiationURI =
45
- 'https://issuer.example.com?issuer=https%3A%2F%2Fserver%2Eexample%2Ecom&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FhealthCard&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FdriverLicense&op_state=eyJhbGciOiJSU0Et...FYUaBy';
46
-
47
- const initiationRequestWithUrl = IssuanceInitiation.fromURI(initiationURI);
48
- console.log(initiationRequestWithUrl);
49
-
50
- /**
51
- * {
52
- * "baseUrl": "https://server.example.com",
53
- * "issuanceInitiationRequest": {
54
- * "credential_type": [
55
- * "https://did.example.org/healthCard",
56
- * "https://did.example.org/driverLicense"
57
- * ],
58
- * "issuer": "https://server.example.com",
59
- * "op_state": "eyJhbGciOiJSU0Et...FYUaBy"
60
- * }
61
- * }
62
- */
63
- ```
64
-
65
- #### Acquiring the Access Token
66
-
67
- Now you will need to get an access token from the oAuth2 Authorization Server (AS), using some values from
68
- the `IssuanceInitiationRequest` payload.
69
- For now you can use the issuer hostname for the AS, as there is no way to know the AS from the Issuance Initiation for
70
- known until the
71
- following [OpenID Ticket](https://bitbucket.org/openid/connect/issues/1632/issuer-metadata-clarification-needed) is
72
- resolved. So the token endpoint would become https://<issuer-hostname>/token.
73
- The library allows to pass in a different value for the AS token endpoint as well, so you already can use a different AS
74
- if you know the AS upfront. If no AS is provided the issuer value from the Issuance Initiation Request will be used.
75
-
76
- ````typescript
77
- import { AccessTokenClient, AuthorizationServerOpts } from '@sphereon/oid4vci-client';
78
-
79
- const clientId = "abcd" // This can be a random value or a clientId assigned by the Authorization Server (depends on the environment)
80
- const pin = 1234 // A pincode which is shown out of band typically. Only use when the pin-code is required is set.
81
-
82
- // Allows to override the Authorization Server and provide other AS options. By default the issuer value will be used
83
- const asOpts: AuthorizationServerOpts = {
84
- as: "as.example.com"
85
- }
86
-
87
- const accessTokenResponse = AccessTokenClient.acquireAccessTokenUsingIssuanceInitiation(initiationRequestWithUrl, clientId, { pin, asOpts })
88
- console.log(accessTokenResponse)
89
- /**
90
- * {
91
- * access_token: "eyJhbGciOiJSUzI1NiIsInR5cCI6Ikp..sHQ"
92
- * token_type: "bearer",
93
- * expires_in: 86400
94
- * }
95
- */
96
-
97
- ````
98
-
99
- #### Asking for the Verifiable Credential to be issued
100
-
101
- First of all we need to hook up a library that can sign JWTs. The library makes no assumptions as it will provide callbacks to perform the signature. In this example we will be using the jose library.
102
-
103
- ````typescript
104
-
105
- const keyPair = await jose.generateKeyPair('ES256');
106
- const privateKey = keyPair.privateKey
107
- const publicKey = keyPair.publicKey
108
-
109
- const signJWT = async (args: JWTSignerArgs): Promise<string> => {
110
- const { header, payload, privateKey } = args;
111
- return await new jose.CompactSign(u8a.fromString(JSON.stringify({ ...payload })))
112
- .setProtectedHeader({ ...header, alg: args.header.alg })
113
- .sign(privateKey);
114
- };
115
- ````
116
-
117
- The JWT Signer Interfaces:
118
- ````typescript
119
- export type Alg = 'ES256' | 'EdDSA';
120
-
121
- export interface JWTHeader {
122
- alg: Alg; // REQUIRED by the JWT signer
123
- typ?: string; //JWT always
124
- kid?: string; // CONDITIONAL. JWT header containing the key ID. If the Credential shall be bound to a DID, the kid refers to a DID URL which identifies a particular key in the DID Document that the Credential shall be bound to. MUST NOT be present if jwk or x5c is present.
125
- jwk?: JWK; // CONDITIONAL. JWT header containing the key material the new Credential shall be bound to. MUST NOT be present if kid or x5c is present.
126
- x5c?: string[]; // CONDITIONAL. JWT header containing a certificate or certificate chain corresponding to the key used to sign the JWT. This element may be used to convey a key attestation. In such a case, the actual key certificate will contain attributes related to the key properties. MUST NOT be present if kid or jwk is present.
127
- }
128
-
129
- export interface JWTPayload {
130
- iss: string; // REQUIRED (string). The value of this claim MUST be the client_id of the client making the credential request.
131
- aud?: string; // REQUIRED (string). The value of this claim MUST be the issuer URL of credential issuer.
132
- iat?: number; // REQUIRED (number). The value of this claim MUST be the time at which the proof was issued using the syntax defined in [RFC7519].
133
- nonce?: string; // REQUIRED (string). The value type of this claim MUST be a string, where the value is a c_nonce provided by the credential issuer. //TODO: Marked as required not present in NGI flow
134
- jti: string; // A new nonce chosen by the wallet. Used to prevent replay
135
- exp?: number; // Not longer than 5 minutes
136
- }
137
-
138
- export interface JWTSignerArgs {
139
- header: JWTHeader;
140
- payload: JWTPayload;
141
- privateKey: KeyObject;
142
- publicKey: KeyObject;
143
- }
144
-
145
- export interface ProofOfPossessionOpts {
146
- issuerURL?: string;
147
- clientId?: string;
148
- jwtSignerArgs: JWTSignerArgs;
149
- jwtSignerCallback: JWTSignerCallback;
150
- jwtVerifyCallback?: JWTVerifyCallback;
151
- }
152
-
153
- export type JWTSignerCallback = (args: JWTSignerArgs) => Promise<string>;
154
-
155
- export type JWTVerifyCallback = (args: JWTVerifyArgs) => Promise<void>;
156
- ````
157
-
158
- Now it is time to request the actual Credential(s) from the Issuer. The example uses a DID:JWK .The DID:JWK should match the keypair created earlier.
159
-
160
- ````typescript
161
- import { CredentialRequestClientBuilder, CredentialResponse, ProofOfPossessionOpts } from './CredentialIssuance.types';
162
-
163
- const credentialRequestClient = CredentialRequestClientBuilder.fromIssuanceInitiation(initiationRequestWithUrl)
164
-
165
- const proofOpts: ProofOfPossessionOpts = {
166
- jwtSignerArgs: {
167
- header: {
168
- kid: 'did:jwk:example-did'
169
- },
170
- payload: {
171
- jti: 'random-nonce-provided-by-client'
172
- },
173
- privateKey,
174
- publicKey
175
- },
176
- jwtSignerCallback: (args) => signJWT(args)
177
- }
178
-
179
- // In 1 step:
180
- const credentialResponse: CredentialResponse = await credentialRequestClient.acquireCredentialsUsingProof(proofOpts, { format: 'jwt_vc' }) // Allows us to override the format
181
-
182
- // Or in 2 steps:
183
- // const credentialRequest: CredentialRequest = await credentialRequestClient.createCredentialRequest(proofOpts, { format: 'jwt_vc' }) // Allows us to override the format
184
- // const credentialResponse: CredentialResponse = await credentialRequestClient.acquireCredentialsUsingRequest(credentialRequest)
185
- ````
186
-
187
- ### Interfaces
188
- Some important interfaces are described below:
189
- ```typescript
190
- export interface IssuanceInitiationRequestPayload {
191
- issuer: string; //REQUIRED The issuer URL of the Credential issuer, the Wallet is requested to obtain one or more Credentials from.
192
- credential_type: string[] | string; //REQUIRED A JSON string denoting the type of the Credential the Wallet shall request
193
- pre_authorized_code?: string; //CONDITIONAL The code representing the issuer's authorization for the Wallet to obtain Credentials of a certain type. This code MUST be short lived and single-use. MUST be present in a pre-authorized code flow.
194
- user_pin_required?: boolean; //OPTIONAL Boolean value specifying whether the issuer expects presentation of a user PIN along with the Token Request in a pre-authorized code flow. Default is false.
195
- op_state?: string; //OPTIONAL String value created by the Credential Issuer and opaque to the Wallet that is used to bind the sub-sequent authentication request with the Credential Issuer to a context set up during previous steps
196
- }
197
-
198
- export interface CredentialRequest {
199
- type: string | string[];
200
- format: CredentialFormat | CredentialFormat[];
201
- proof: ProofOfPossession;
202
- }
203
-
204
- export interface CredentialResponse {
205
- credential: W3CVerifiableCredential;
206
- format: CredentialFormat;
207
- }
208
-
209
- export interface CredentialResponseError {
210
- error: CredentialResponseErrorCode;
211
- error_description?: string;
212
- error_uri?: string;
213
- }
214
- ```
215
-
216
- ### Functions
217
-
218
- Several utility functions are available
219
-
220
- #### convertJsonToURI:
221
-
222
- Converts a Json object or string into an URI:
223
-
224
- ```typescript
225
- import { convertJsonToURI } from './Encoding';
226
-
227
- const encodedURI = convertJsonToURI(
228
- {
229
- issuer: 'https://server.example.com',
230
- credential_type: ['https://did.example.org/healthCard', 'https://did.example1.org/driverLicense'],
231
- op_state: 'eyJhbGciOiJSU0Et...FYUaBy',
232
- },
233
- {
234
- arrayTypeProperties: ['credential_type'],
235
- urlTypeProperties: ['issuer', 'credential_type'],
236
- }
237
- );
238
- console.log(encodedURI);
239
- // issuer=https%3A%2F%2Fserver%2Eexample%2Ecom&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FhealthCard&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FdriverLicense&op_state=eyJhbGciOiJSU0Et...FYUaBy
240
- ```
241
-
242
- #### convertURIToJsonObject:
243
-
244
- Converts a URI into a Json object with URL decoded properties. Allows to provide which potential duplicate keys need to
245
- be converted into an array.
246
-
247
- ```typescript
248
- import { convertURIToJsonObject } from './Encoding';
249
-
250
- const decodedJson = convertURIToJsonObject(
251
- 'issuer=https%3A%2F%2Fserver%2Eexample%2Ecom&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FhealthCard&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FdriverLicense&op_state=eyJhbGciOiJSU0Et...FYUaBy',
252
- {
253
- arrayTypeProperties: ['credential_type'],
254
- requiredProperties: ['issuer', 'credential_type'],
255
- }
256
- );
257
- console.log(decodedJson);
258
- // {
259
- // issuer: 'https://server.example.com',
260
- // credential_type: ['https://did.example.org/healthCard', 'https://did.example1.org/driverLicense'],
261
- // op_state: 'eyJhbGciOiJSU0Et...FYUaBy'
262
- // }
263
- ```
264
-
265
- #### createProofOfPossession
266
-
267
- Creates the ProofOfPossession object and JWT signature
268
-
269
- The callback function created using the `jose` library.
270
-
271
- ```typescript
272
- // Must be JWS
273
- const signJWT = async (args: JWTSignerArgs): Promise<string> => {
274
- const { header, payload, keyPair } = args;
275
- return await new jose.CompactSign(u8a.fromString(JSON.stringify({ ...payload })))
276
- // Only ES256 and EdDSA are supported
277
- .setProtectedHeader({ ...header, alg: args.header.alg })
278
- .sign(keyPair.privateKey);
279
- };
280
- ```
281
-
282
- ```typescript
283
- const verifyJWT = async (args: { jws: string | Uint8Array; key: KeyLike | Uint8Array; options?: VerifyOptions }): Promise<void> => {
284
- // Throws an exception if JWT is not valid
285
- await jose.compactVerify(args.jws, args.key, args.options);
286
- };
287
- ```
288
-
289
- The arguments requested by `jose` and `oidc4vci`
290
-
291
- ```typescript
292
- const keyPair = await jose.generateKeyPair('ES256');
293
-
294
- const jwtArgs: JWTSignerArgs = {
295
- header: {
296
- alg: 'ES256',
297
- kid: 'did:example:ebfeb1f712ebc6f1c276e12ec21/keys/1',
298
- },
299
- payload: {
300
- iss: 's6BhdRkqt3',
301
- aud: 'https://server.example.com',
302
- iat: 1659145924,
303
- nonce: 'tZignsnFbp',
304
- },
305
- privateKey: keyPair.privateKey,
306
- publicKey: keyPair.publicKey,
307
- };
308
- ```
309
-
310
- The actual method call
311
-
312
- ```typescript
313
- const proof: ProofOfPossession = await createProofOfPossession({
314
- jwtSignerArgs: jwtArgs,
315
- jwtSignerCallback: (args) => signJWT(args),
316
- jwtVerifyCallback: (args) => verifyJWT(args),
317
- });
318
- console.log(proof);
319
- // {
320
- // "proof_type": "jwt",
321
- // "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMS9rZXlzLzEifQ.eyJpc3MiOiJzNkJoZFJrcXQzIiwiYXVkIjoiaHR0cHM6Ly9zZXJ2ZXIuZXhhbXBsZS5jb20iLCJpYXQiOjE2NTkxNDU5MjQsIm5vbmNlIjoidFppZ25zbkZicCJ9.btetOcsJ_VOePkwlFf2kyxm6hEUvPRimf3M-Dn3Lmzcmt5QiPToXNWxe_0fEJlRf4Ith55YGB43ScBe6ScZmD1gfLELYQF7LLg97yYlx_Iu8RLA2dS_7EWzLD3ZIzyUGf_uMq3HwXGJKL-ihroRpRBvxRLdZCy-j62nAzoTsBnlr6n79VjkGtlxIjN_CLGIQBhc3du3enghY6N4s3oXFrxWMl7UzGKdjCYN6vSagDb0MURjdiDCsK_yX4NyNd0nGpxqGhVgMpuhqEcqyU0qWPyHF-swtGG5JVAOJGd_YkJS5vbia8UdyOJXnAAdEE1E62a2yUPahNDxMh1iIpS0WO7y6QexWXdb5fmnWDst89T3ELS8Hj2Vzsw1XPyk9XR9JmiDzmEZdH05Wf4M9pXUG4-8_7StB6Lxc7_xDJdk6JPbzFgAIhJa4F_3rfPuwMseSEQvD6bDFowkIiUpt1vXGGVjVm3N4I4Th4_A2QpW4mDzcTKoZq9MKlDGXeLQBtiKXmqs10Jvzpp3O7kBwH7Qm6VUdBxk_-wsWplUZC4IvCfv23hy2SyFnh5zC6Wtw3UcbrSH6LcD7g-RNTKe4fRekyDxqLRdEm60BOozgBoTNhnetCrQ3e7HrApj9EP0vqNyXdtGGWCA011HVDnz6lVzf5yijJB8hOPpkgYGRmHdRQwI"
322
- // }
323
- ```
1
+ <h1 align="center">
2
+ <br>
3
+ <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a>
4
+ <br>OpenID for Verifiable Credential Issuance - Client
5
+ <br>
6
+ </h1>
7
+
8
+ [![CI](https://github.com/Sphereon-Opensource/oid4vci-client/actions/workflows/main.yml/badge.svg)](https://github.com/Sphereon-Opensource/oid4vci-client/actions/workflows/main.yml) [![codecov](https://codecov.io/gh/Sphereon-Opensource/oid4vci-client/branch/develop/graph/badge.svg)](https://codecov.io/gh/Sphereon-Opensource/pex) [![NPM Version](https://img.shields.io/npm/v/@sphereon/oid4vci-client.svg)](https://npm.im/@sphereon/oid4vci-client)
9
+
10
+
11
+ _IMPORTANT this package is in an early development stage and does not support all functionality from the OID4VCI spec
12
+ yet!_
13
+
14
+ ### Background
15
+
16
+ A client to request and receive Verifiable Credentials using
17
+ the [OpenID for Verifiable Credential Issuance](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html) (
18
+ OID4VCI) specification for receiving Verifiable Credentials as a Holder.
19
+
20
+ ### Flows
21
+
22
+ #### Authorized Code Flow
23
+
24
+ This flow isn't supported yet!
25
+
26
+ #### Pre-authorized Code Flow
27
+
28
+ The pre-authorized code flow assumes the user is using an out of bound mechanism outside the issuance flow to
29
+ authenticate first.
30
+
31
+ The below diagram shows the steps involved in the pre-authorized code flow. Note that wallet inner functionalities (like
32
+ saving VCs) are out of scope for this library. Also This library doesn't involve any functionalities of a VC Issuer
33
+ ![Flow diagram](https://www.plantuml.com/plantuml/proxy?cache=no&src=https://raw.githubusercontent.com/Sphereon-Opensource/OID4VCI-client/develop/docs/preauthorized-code-flow.puml)
34
+
35
+ #### Issuance Initiation
36
+
37
+ Issuance is started from a so-called Issuance Initiation Request by the Issuer. This typically is URI, exposed
38
+ as a link or a QR code. You can call the `IssuanceInitiation.fromURI(uri)` method to parse the URI into a Json object
39
+ containing the baseUrl and the `IssuanceInitiationRequest` payload object
40
+
41
+ ```typescript
42
+ import { IssuanceInitiation } from '@sphereon/oid4vci-client';
43
+
44
+ const initiationURI =
45
+ 'https://issuer.example.com?issuer=https%3A%2F%2Fserver%2Eexample%2Ecom&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FhealthCard&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FdriverLicense&op_state=eyJhbGciOiJSU0Et...FYUaBy';
46
+
47
+ const initiationRequestWithUrl = IssuanceInitiation.fromURI(initiationURI);
48
+ console.log(initiationRequestWithUrl);
49
+
50
+ /**
51
+ * {
52
+ * "baseUrl": "https://server.example.com",
53
+ * "issuanceInitiationRequest": {
54
+ * "credential_type": [
55
+ * "https://did.example.org/healthCard",
56
+ * "https://did.example.org/driverLicense"
57
+ * ],
58
+ * "issuer": "https://server.example.com",
59
+ * "op_state": "eyJhbGciOiJSU0Et...FYUaBy"
60
+ * }
61
+ * }
62
+ */
63
+ ```
64
+
65
+ #### Acquiring the Access Token
66
+
67
+ Now you will need to get an access token from the oAuth2 Authorization Server (AS), using some values from
68
+ the `IssuanceInitiationRequest` payload.
69
+ For now you can use the issuer hostname for the AS, as there is no way to know the AS from the Issuance Initiation for
70
+ known until the
71
+ following [OpenID Ticket](https://bitbucket.org/openid/connect/issues/1632/issuer-metadata-clarification-needed) is
72
+ resolved. So the token endpoint would become https://<issuer-hostname>/token.
73
+ The library allows to pass in a different value for the AS token endpoint as well, so you already can use a different AS
74
+ if you know the AS upfront. If no AS is provided the issuer value from the Issuance Initiation Request will be used.
75
+
76
+ ````typescript
77
+ import { AccessTokenClient, AuthorizationServerOpts } from '@sphereon/oid4vci-client';
78
+
79
+ const clientId = "abcd" // This can be a random value or a clientId assigned by the Authorization Server (depends on the environment)
80
+ const pin = 1234 // A pincode which is shown out of band typically. Only use when the pin-code is required is set.
81
+
82
+ // Allows to override the Authorization Server and provide other AS options. By default the issuer value will be used
83
+ const asOpts: AuthorizationServerOpts = {
84
+ as: "as.example.com"
85
+ }
86
+
87
+ const accessTokenResponse = AccessTokenClient.acquireAccessTokenUsingIssuanceInitiation(initiationRequestWithUrl, clientId, { pin, asOpts })
88
+ console.log(accessTokenResponse)
89
+ /**
90
+ * {
91
+ * access_token: "eyJhbGciOiJSUzI1NiIsInR5cCI6Ikp..sHQ"
92
+ * token_type: "bearer",
93
+ * expires_in: 86400
94
+ * }
95
+ */
96
+
97
+ ````
98
+
99
+ #### Asking for the Verifiable Credential to be issued
100
+
101
+ First of all we need to hook up a library that can sign JWTs. The library makes no assumptions as it will provide callbacks to perform the signature. In this example we will be using the jose library.
102
+
103
+ ````typescript
104
+
105
+ const keyPair = await jose.generateKeyPair('ES256');
106
+ const privateKey = keyPair.privateKey
107
+ const publicKey = keyPair.publicKey
108
+
109
+ const signJWT = async (args: JWTSignerArgs): Promise<string> => {
110
+ const { header, payload, privateKey } = args;
111
+ return await new jose.CompactSign(u8a.fromString(JSON.stringify({ ...payload })))
112
+ .setProtectedHeader({ ...header, alg: args.header.alg })
113
+ .sign(privateKey);
114
+ };
115
+ ````
116
+
117
+ The JWT Signer Interfaces:
118
+ ````typescript
119
+ export type Alg = 'ES256' | 'EdDSA';
120
+
121
+ export interface JWTHeader {
122
+ alg: Alg; // REQUIRED by the JWT signer
123
+ typ?: string; //JWT always
124
+ kid?: string; // CONDITIONAL. JWT header containing the key ID. If the Credential shall be bound to a DID, the kid refers to a DID URL which identifies a particular key in the DID Document that the Credential shall be bound to. MUST NOT be present if jwk or x5c is present.
125
+ jwk?: JWK; // CONDITIONAL. JWT header containing the key material the new Credential shall be bound to. MUST NOT be present if kid or x5c is present.
126
+ x5c?: string[]; // CONDITIONAL. JWT header containing a certificate or certificate chain corresponding to the key used to sign the JWT. This element may be used to convey a key attestation. In such a case, the actual key certificate will contain attributes related to the key properties. MUST NOT be present if kid or jwk is present.
127
+ }
128
+
129
+ export interface JWTPayload {
130
+ iss: string; // REQUIRED (string). The value of this claim MUST be the client_id of the client making the credential request.
131
+ aud?: string; // REQUIRED (string). The value of this claim MUST be the issuer URL of credential issuer.
132
+ iat?: number; // REQUIRED (number). The value of this claim MUST be the time at which the proof was issued using the syntax defined in [RFC7519].
133
+ nonce?: string; // REQUIRED (string). The value type of this claim MUST be a string, where the value is a c_nonce provided by the credential issuer. //TODO: Marked as required not present in NGI flow
134
+ jti: string; // A new nonce chosen by the wallet. Used to prevent replay
135
+ exp?: number; // Not longer than 5 minutes
136
+ }
137
+
138
+ export interface JWTSignerArgs {
139
+ header: JWTHeader;
140
+ payload: JWTPayload;
141
+ privateKey: KeyObject;
142
+ publicKey: KeyObject;
143
+ }
144
+
145
+ export interface ProofOfPossessionOpts {
146
+ issuerURL?: string;
147
+ clientId?: string;
148
+ jwtSignerArgs: JWTSignerArgs;
149
+ jwtSignerCallback: JWTSignerCallback;
150
+ jwtVerifyCallback?: JWTVerifyCallback;
151
+ }
152
+
153
+ export type JWTSignerCallback = (args: JWTSignerArgs) => Promise<string>;
154
+
155
+ export type JWTVerifyCallback = (args: JWTVerifyArgs) => Promise<void>;
156
+ ````
157
+
158
+ Now it is time to request the actual Credential(s) from the Issuer. The example uses a DID:JWK .The DID:JWK should match the keypair created earlier.
159
+
160
+ ````typescript
161
+ import { CredentialRequestClientBuilder, CredentialResponse, ProofOfPossessionOpts } from './CredentialIssuance.types';
162
+
163
+ const credentialRequestClient = CredentialRequestClientBuilder.fromIssuanceInitiation(initiationRequestWithUrl)
164
+
165
+ const proofOpts: ProofOfPossessionOpts = {
166
+ jwtSignerArgs: {
167
+ header: {
168
+ kid: 'did:jwk:example-did'
169
+ },
170
+ payload: {
171
+ jti: 'random-nonce-provided-by-client'
172
+ },
173
+ privateKey,
174
+ publicKey
175
+ },
176
+ jwtSignerCallback: (args) => signJWT(args)
177
+ }
178
+
179
+ // In 1 step:
180
+ const credentialResponse: CredentialResponse = await credentialRequestClient.acquireCredentialsUsingProof(proofOpts, { format: 'jwt_vc' }) // Allows us to override the format
181
+
182
+ // Or in 2 steps:
183
+ // const credentialRequest: CredentialRequest = await credentialRequestClient.createCredentialRequest(proofOpts, { format: 'jwt_vc' }) // Allows us to override the format
184
+ // const credentialResponse: CredentialResponse = await credentialRequestClient.acquireCredentialsUsingRequest(credentialRequest)
185
+ ````
186
+
187
+ ### Interfaces
188
+ Some important interfaces are described below:
189
+ ```typescript
190
+ export interface IssuanceInitiationRequestPayload {
191
+ issuer: string; //REQUIRED The issuer URL of the Credential issuer, the Wallet is requested to obtain one or more Credentials from.
192
+ credential_type: string[] | string; //REQUIRED A JSON string denoting the type of the Credential the Wallet shall request
193
+ pre_authorized_code?: string; //CONDITIONAL The code representing the issuer's authorization for the Wallet to obtain Credentials of a certain type. This code MUST be short lived and single-use. MUST be present in a pre-authorized code flow.
194
+ user_pin_required?: boolean; //OPTIONAL Boolean value specifying whether the issuer expects presentation of a user PIN along with the Token Request in a pre-authorized code flow. Default is false.
195
+ op_state?: string; //OPTIONAL String value created by the Credential Issuer and opaque to the Wallet that is used to bind the sub-sequent authentication request with the Credential Issuer to a context set up during previous steps
196
+ }
197
+
198
+ export interface CredentialRequest {
199
+ type: string | string[];
200
+ format: CredentialFormat | CredentialFormat[];
201
+ proof: ProofOfPossession;
202
+ }
203
+
204
+ export interface CredentialResponse {
205
+ credential: W3CVerifiableCredential;
206
+ format: CredentialFormat;
207
+ }
208
+
209
+ export interface CredentialResponseError {
210
+ error: CredentialResponseErrorCode;
211
+ error_description?: string;
212
+ error_uri?: string;
213
+ }
214
+ ```
215
+
216
+ ### Functions
217
+
218
+ Several utility functions are available
219
+
220
+ #### convertJsonToURI:
221
+
222
+ Converts a Json object or string into an URI:
223
+
224
+ ```typescript
225
+ import { convertJsonToURI } from './Encoding';
226
+
227
+ const encodedURI = convertJsonToURI(
228
+ {
229
+ issuer: 'https://server.example.com',
230
+ credential_type: ['https://did.example.org/healthCard', 'https://did.example1.org/driverLicense'],
231
+ op_state: 'eyJhbGciOiJSU0Et...FYUaBy',
232
+ },
233
+ {
234
+ arrayTypeProperties: ['credential_type'],
235
+ urlTypeProperties: ['issuer', 'credential_type'],
236
+ }
237
+ );
238
+ console.log(encodedURI);
239
+ // issuer=https%3A%2F%2Fserver%2Eexample%2Ecom&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FhealthCard&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FdriverLicense&op_state=eyJhbGciOiJSU0Et...FYUaBy
240
+ ```
241
+
242
+ #### convertURIToJsonObject:
243
+
244
+ Converts a URI into a Json object with URL decoded properties. Allows to provide which potential duplicate keys need to
245
+ be converted into an array.
246
+
247
+ ```typescript
248
+ import { convertURIToJsonObject } from './Encoding';
249
+
250
+ const decodedJson = convertURIToJsonObject(
251
+ 'issuer=https%3A%2F%2Fserver%2Eexample%2Ecom&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FhealthCard&credential_type=https%3A%2F%2Fdid%2Eexample%2Eorg%2FdriverLicense&op_state=eyJhbGciOiJSU0Et...FYUaBy',
252
+ {
253
+ arrayTypeProperties: ['credential_type'],
254
+ requiredProperties: ['issuer', 'credential_type'],
255
+ }
256
+ );
257
+ console.log(decodedJson);
258
+ // {
259
+ // issuer: 'https://server.example.com',
260
+ // credential_type: ['https://did.example.org/healthCard', 'https://did.example1.org/driverLicense'],
261
+ // op_state: 'eyJhbGciOiJSU0Et...FYUaBy'
262
+ // }
263
+ ```
264
+
265
+ #### createProofOfPossession
266
+
267
+ Creates the ProofOfPossession object and JWT signature
268
+
269
+ The callback function created using the `jose` library.
270
+
271
+ ```typescript
272
+ // Must be JWS
273
+ const signJWT = async (args: JWTSignerArgs): Promise<string> => {
274
+ const { header, payload, keyPair } = args;
275
+ return await new jose.CompactSign(u8a.fromString(JSON.stringify({ ...payload })))
276
+ // Only ES256 and EdDSA are supported
277
+ .setProtectedHeader({ ...header, alg: args.header.alg })
278
+ .sign(keyPair.privateKey);
279
+ };
280
+ ```
281
+
282
+ ```typescript
283
+ const verifyJWT = async (args: { jws: string | Uint8Array; key: KeyLike | Uint8Array; options?: VerifyOptions }): Promise<void> => {
284
+ // Throws an exception if JWT is not valid
285
+ await jose.compactVerify(args.jws, args.key, args.options);
286
+ };
287
+ ```
288
+
289
+ The arguments requested by `jose` and `oidc4vci`
290
+
291
+ ```typescript
292
+ const keyPair = await jose.generateKeyPair('ES256');
293
+
294
+ const jwtArgs: JWTSignerArgs = {
295
+ header: {
296
+ alg: 'ES256',
297
+ kid: 'did:example:ebfeb1f712ebc6f1c276e12ec21/keys/1',
298
+ },
299
+ payload: {
300
+ iss: 's6BhdRkqt3',
301
+ aud: 'https://server.example.com',
302
+ iat: 1659145924,
303
+ nonce: 'tZignsnFbp',
304
+ },
305
+ privateKey: keyPair.privateKey,
306
+ publicKey: keyPair.publicKey,
307
+ };
308
+ ```
309
+
310
+ The actual method call
311
+
312
+ ```typescript
313
+ const proof: ProofOfPossession = await createProofOfPossession({
314
+ jwtSignerArgs: jwtArgs,
315
+ jwtSignerCallback: (args) => signJWT(args),
316
+ jwtVerifyCallback: (args) => verifyJWT(args),
317
+ });
318
+ console.log(proof);
319
+ // {
320
+ // "proof_type": "jwt",
321
+ // "jwt": "eyJhbGciOiJSUzI1NiIsImtpZCI6ImRpZDpleGFtcGxlOmViZmViMWY3MTJlYmM2ZjFjMjc2ZTEyZWMyMS9rZXlzLzEifQ.eyJpc3MiOiJzNkJoZFJrcXQzIiwiYXVkIjoiaHR0cHM6Ly9zZXJ2ZXIuZXhhbXBsZS5jb20iLCJpYXQiOjE2NTkxNDU5MjQsIm5vbmNlIjoidFppZ25zbkZicCJ9.btetOcsJ_VOePkwlFf2kyxm6hEUvPRimf3M-Dn3Lmzcmt5QiPToXNWxe_0fEJlRf4Ith55YGB43ScBe6ScZmD1gfLELYQF7LLg97yYlx_Iu8RLA2dS_7EWzLD3ZIzyUGf_uMq3HwXGJKL-ihroRpRBvxRLdZCy-j62nAzoTsBnlr6n79VjkGtlxIjN_CLGIQBhc3du3enghY6N4s3oXFrxWMl7UzGKdjCYN6vSagDb0MURjdiDCsK_yX4NyNd0nGpxqGhVgMpuhqEcqyU0qWPyHF-swtGG5JVAOJGd_YkJS5vbia8UdyOJXnAAdEE1E62a2yUPahNDxMh1iIpS0WO7y6QexWXdb5fmnWDst89T3ELS8Hj2Vzsw1XPyk9XR9JmiDzmEZdH05Wf4M9pXUG4-8_7StB6Lxc7_xDJdk6JPbzFgAIhJa4F_3rfPuwMseSEQvD6bDFowkIiUpt1vXGGVjVm3N4I4Th4_A2QpW4mDzcTKoZq9MKlDGXeLQBtiKXmqs10Jvzpp3O7kBwH7Qm6VUdBxk_-wsWplUZC4IvCfv23hy2SyFnh5zC6Wtw3UcbrSH6LcD7g-RNTKe4fRekyDxqLRdEm60BOozgBoTNhnetCrQ3e7HrApj9EP0vqNyXdtGGWCA011HVDnz6lVzf5yijJB8hOPpkgYGRmHdRQwI"
322
+ // }
323
+ ```
@@ -39,7 +39,8 @@ class CredentialRequestClient {
39
39
  throw new Error(types_1.URL_NOT_VALID);
40
40
  }
41
41
  const requestToken = (opts === null || opts === void 0 ? void 0 : opts.overrideAccessToken) ? opts.overrideAccessToken : this._issuanceRequestOpts.token;
42
- const response = yield (0, functions_1.post)(issuerURL, request, requestToken);
42
+ // fixme: Needs to be part of the Credential/Proof refactor. For now we just append the '/credential' endpoint
43
+ const response = yield (0, functions_1.post)(issuerURL + '/credential', request, requestToken);
43
44
  const responseJson = yield response.json();
44
45
  if (responseJson.error) {
45
46
  return Object.assign({}, responseJson);
@@ -51,7 +52,7 @@ class CredentialRequestClient {
51
52
  return __awaiter(this, void 0, void 0, function* () {
52
53
  const proofOfPossession = 'jwt' in proof
53
54
  ? proof
54
- : yield (0, functions_1.createProofOfPossession)(Object.assign(Object.assign({ issuerURL: proof.issuerURL ? proof.issuerURL : this._issuanceRequestOpts.issuerURL }, proof), { clientId: proof.clientId ? proof.clientId : this._issuanceRequestOpts.clientId }));
55
+ : yield (0, functions_1.createProofOfPossession)(Object.assign({ issuerURL: proof.issuerURL ? proof.issuerURL : this._issuanceRequestOpts.issuerURL, clientId: proof.clientId ? proof.clientId : this._issuanceRequestOpts.clientId }, proof));
55
56
  return {
56
57
  type: (opts === null || opts === void 0 ? void 0 : opts.credentialType) ? opts.credentialType : this._issuanceRequestOpts.credentialType,
57
58
  format: (opts === null || opts === void 0 ? void 0 : opts.format) ? opts.format : this._issuanceRequestOpts.format,
@@ -61,4 +62,4 @@ class CredentialRequestClient {
61
62
  }
62
63
  }
63
64
  exports.CredentialRequestClient = CredentialRequestClient;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlZGVudGlhbFJlcXVlc3RDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvQ3JlZGVudGlhbFJlcXVlc3RDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEscUZBQWtGO0FBQ2xGLDJDQUF3RTtBQUN4RSxtQ0FBd0k7QUFFeEksTUFBYSx1QkFBdUI7SUFrQmxDLFlBQW1CLE9BQXVDO1FBQ3hELElBQUksQ0FBQyxvQkFBb0IscUJBQVEsT0FBTyxDQUFFLENBQUM7SUFDN0MsQ0FBQztJQVZNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBTU0sTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxJQUFJLCtEQUE4QixFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVZLDRCQUE0QixDQUN2QyxLQUFnRCxFQUNoRCxJQUtDOztZQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssb0JBQU8sSUFBSSxFQUFHLENBQUM7WUFDdkUsT0FBTyxNQUFNLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLG9CQUFPLElBQUksRUFBRyxDQUFDO1FBQ3pFLENBQUM7S0FBQTtJQUVZLDhCQUE4QixDQUN6QyxPQUEwQixFQUMxQixJQUFtRTs7WUFFbkUsTUFBTSxTQUFTLEdBQVcsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQztZQUNqSCxJQUFJLENBQUMsSUFBQSxzQkFBVSxFQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFhLENBQUMsQ0FBQzthQUNoQztZQUNELE1BQU0sWUFBWSxHQUFXLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7WUFDcEgsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLGdCQUFJLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUM5RCxNQUFNLFlBQVksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUU7Z0JBQ3RCLE9BQU8sa0JBQUssWUFBWSxDQUFtQixDQUFDO2FBQzdDO1lBQ0QsT0FBTyxrQkFBSyxZQUFZLENBQXdCLENBQUM7UUFDbkQsQ0FBQztLQUFBO0lBRVksdUJBQXVCLENBQ2xDLEtBQWdELEVBQ2hELElBR0M7O1lBRUQsTUFBTSxpQkFBaUIsR0FDckIsS0FBSyxJQUFJLEtBQUs7Z0JBQ1osQ0FBQyxDQUFDLEtBQUs7Z0JBQ1AsQ0FBQyxDQUFDLE1BQU0sSUFBQSxtQ0FBdUIsZ0NBQzNCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxJQUMvRSxLQUFLLEtBQ1IsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLElBQzlFLENBQUM7WUFDVCxPQUFPO2dCQUNMLElBQUksRUFBRSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxjQUFjLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjO2dCQUMzRixNQUFNLEVBQUUsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTTtnQkFDckUsS0FBSyxFQUFFLGlCQUFpQjthQUN6QixDQUFDO1FBQ0osQ0FBQztLQUFBO0NBQ0Y7QUE3RUQsMERBNkVDIn0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlZGVudGlhbFJlcXVlc3RDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvQ3JlZGVudGlhbFJlcXVlc3RDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEscUZBQWtGO0FBQ2xGLDJDQUF3RTtBQUN4RSxtQ0FBd0k7QUFFeEksTUFBYSx1QkFBdUI7SUFrQmxDLFlBQW1CLE9BQXVDO1FBQ3hELElBQUksQ0FBQyxvQkFBb0IscUJBQVEsT0FBTyxDQUFFLENBQUM7SUFDN0MsQ0FBQztJQVZNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO0lBQzdDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBTU0sTUFBTSxDQUFDLE9BQU87UUFDbkIsT0FBTyxJQUFJLCtEQUE4QixFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVZLDRCQUE0QixDQUN2QyxLQUFnRCxFQUNoRCxJQUtDOztZQUVELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssb0JBQU8sSUFBSSxFQUFHLENBQUM7WUFDdkUsT0FBTyxNQUFNLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLG9CQUFPLElBQUksRUFBRyxDQUFDO1FBQ3pFLENBQUM7S0FBQTtJQUVZLDhCQUE4QixDQUN6QyxPQUEwQixFQUMxQixJQUFtRTs7WUFFbkUsTUFBTSxTQUFTLEdBQVcsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsaUJBQWlCLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQztZQUNqSCxJQUFJLENBQUMsSUFBQSxzQkFBVSxFQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFhLENBQUMsQ0FBQzthQUNoQztZQUNELE1BQU0sWUFBWSxHQUFXLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLG1CQUFtQixFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7WUFDcEgsOEdBQThHO1lBQzlHLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSxnQkFBSSxFQUFDLFNBQVMsR0FBRyxhQUFhLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQzlFLE1BQU0sWUFBWSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNDLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRTtnQkFDdEIsT0FBTyxrQkFBSyxZQUFZLENBQW1CLENBQUM7YUFDN0M7WUFDRCxPQUFPLGtCQUFLLFlBQVksQ0FBd0IsQ0FBQztRQUNuRCxDQUFDO0tBQUE7SUFFWSx1QkFBdUIsQ0FDbEMsS0FBZ0QsRUFDaEQsSUFHQzs7WUFFRCxNQUFNLGlCQUFpQixHQUNyQixLQUFLLElBQUksS0FBSztnQkFDWixDQUFDLENBQUMsS0FBSztnQkFDUCxDQUFDLENBQUMsTUFBTSxJQUFBLG1DQUF1QixrQkFDM0IsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQ2xGLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsUUFBUSxJQUMzRSxLQUFLLEVBQ1IsQ0FBQztZQUNULE9BQU87Z0JBQ0wsSUFBSSxFQUFFLENBQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGNBQWMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWM7Z0JBQzNGLE1BQU0sRUFBRSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNO2dCQUNyRSxLQUFLLEVBQUUsaUJBQWlCO2FBQ3pCLENBQUM7UUFDSixDQUFDO0tBQUE7Q0FDRjtBQTlFRCwwREE4RUMifQ==
@@ -1,11 +1,12 @@
1
1
  import { CredentialFormat } from '@sphereon/ssi-types';
2
2
  import { CredentialRequestClient } from './CredentialRequestClient';
3
- import { IssuanceInitiationRequestPayload, IssuanceInitiationWithBaseUrl } from './types';
3
+ import { AccessTokenResponse, IssuanceInitiationRequestPayload, IssuanceInitiationWithBaseUrl } from './types';
4
4
  export declare class CredentialRequestClientBuilder {
5
5
  issuerURL: string;
6
6
  clientId: string;
7
7
  credentialType: string | string[];
8
8
  format: CredentialFormat | CredentialFormat[];
9
+ token: string;
9
10
  static fromIssuanceInitiationURI(issuanceInitiation: string): CredentialRequestClientBuilder;
10
11
  static fromIssuanceInitiationRequest(issuanceInitiationRequest: IssuanceInitiationRequestPayload): CredentialRequestClientBuilder;
11
12
  static fromIssuanceInitiation(issuanceInitiation: IssuanceInitiationWithBaseUrl): CredentialRequestClientBuilder;
@@ -13,5 +14,7 @@ export declare class CredentialRequestClientBuilder {
13
14
  withCredentialType(credentialType: string | string[]): CredentialRequestClientBuilder;
14
15
  withFormat(format: CredentialFormat | CredentialFormat[]): CredentialRequestClientBuilder;
15
16
  withClientId(clientId: string): CredentialRequestClientBuilder;
17
+ withToken(accessToken: string): CredentialRequestClientBuilder;
18
+ withTokenFromResponse(response: AccessTokenResponse): CredentialRequestClientBuilder;
16
19
  build(): CredentialRequestClient;
17
20
  }
@@ -35,9 +35,17 @@ class CredentialRequestClientBuilder {
35
35
  this.clientId = clientId;
36
36
  return this;
37
37
  }
38
+ withToken(accessToken) {
39
+ this.token = accessToken;
40
+ return this;
41
+ }
42
+ withTokenFromResponse(response) {
43
+ this.token = response.access_token;
44
+ return this;
45
+ }
38
46
  build() {
39
47
  return new CredentialRequestClient_1.CredentialRequestClient(this);
40
48
  }
41
49
  }
42
50
  exports.CredentialRequestClientBuilder = CredentialRequestClientBuilder;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlZGVudGlhbFJlcXVlc3RDbGllbnRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL0NyZWRlbnRpYWxSZXF1ZXN0Q2xpZW50QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1RUFBb0U7QUFDcEUsMkNBQXFEO0FBR3JELE1BQWEsOEJBQThCO0lBTWxDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBMEI7UUFDaEUsT0FBTyw4QkFBOEIsQ0FBQyw2QkFBNkIsQ0FDakUsSUFBQSxrQ0FBc0IsRUFBQyxrQkFBa0IsRUFBRTtZQUN6QyxtQkFBbUIsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQ3hDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDO1NBQ2xELENBQXFDLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLDZCQUE2QixDQUFDLHlCQUEyRDtRQUNyRyxNQUFNLE9BQU8sR0FBRyxJQUFJLDhCQUE4QixFQUFFLENBQUM7UUFDckQsT0FBTyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RCxPQUFPLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdEUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBaUQ7UUFDcEYsT0FBTyw4QkFBOEIsQ0FBQyw2QkFBNkIsQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFTSxhQUFhLENBQUMsb0JBQTRCO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsY0FBaUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQTZDO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFlBQVksQ0FBQyxRQUFnQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxLQUFLO1FBQ1YsT0FBTyxJQUFJLGlEQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQWxERCx3RUFrREMifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlZGVudGlhbFJlcXVlc3RDbGllbnRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL0NyZWRlbnRpYWxSZXF1ZXN0Q2xpZW50QnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1RUFBb0U7QUFDcEUsMkNBQXFEO0FBR3JELE1BQWEsOEJBQThCO0lBT2xDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxrQkFBMEI7UUFDaEUsT0FBTyw4QkFBOEIsQ0FBQyw2QkFBNkIsQ0FDakUsSUFBQSxrQ0FBc0IsRUFBQyxrQkFBa0IsRUFBRTtZQUN6QyxtQkFBbUIsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1lBQ3hDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDO1NBQ2xELENBQXFDLENBQ3ZDLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLDZCQUE2QixDQUFDLHlCQUEyRDtRQUNyRyxNQUFNLE9BQU8sR0FBRyxJQUFJLDhCQUE4QixFQUFFLENBQUM7UUFDckQsT0FBTyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RCxPQUFPLENBQUMsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFdEUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBaUQ7UUFDcEYsT0FBTyw4QkFBOEIsQ0FBQyw2QkFBNkIsQ0FBQyxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFTSxhQUFhLENBQUMsb0JBQTRCO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsY0FBaUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQTZDO1FBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFlBQVksQ0FBQyxRQUFnQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTLENBQUMsV0FBbUI7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0scUJBQXFCLENBQUMsUUFBNkI7UUFDeEQsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLEtBQUs7UUFDVixPQUFPLElBQUksaURBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGO0FBN0RELHdFQTZEQyJ9
@@ -46,7 +46,7 @@ export interface AccessTokenRequest {
46
46
  user_pin?: string;
47
47
  }
48
48
  export interface AccessTokenResponse {
49
- access_token?: number;
49
+ access_token: string;
50
50
  token_type?: string;
51
51
  expires_in?: number;
52
52
  c_nonce?: string;
@@ -58,7 +58,7 @@ export interface JWTHeader {
58
58
  x5c?: string[];
59
59
  }
60
60
  export interface JWTPayload {
61
- iss: string;
61
+ iss?: string;
62
62
  aud?: string;
63
63
  iat?: number;
64
64
  nonce?: string;
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es6.d.ts","../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@sphereon/ssi-types/dist/types/did.d.ts","../../node_modules/@sphereon/ssi-types/dist/types/pex.d.ts","../../node_modules/@sphereon/ssi-types/dist/types/vc.d.ts","../../node_modules/@sphereon/ssi-types/dist/types/index.d.ts","../../node_modules/@sphereon/ssi-types/dist/utils/object.d.ts","../../node_modules/@sphereon/ssi-types/dist/utils/index.d.ts","../../node_modules/@sphereon/ssi-types/dist/mapper/credential-mapper.d.ts","../../node_modules/@sphereon/ssi-types/dist/mapper/index.d.ts","../../node_modules/@sphereon/ssi-types/dist/index.d.ts","../../lib/types/credentialissuance.types.ts","../../lib/types/generic.types.ts","../../lib/types/authorization.types.ts","../../lib/types/oidc4vcierrors.ts","../../lib/types/index.ts","../../lib/functions/encoding.ts","../../node_modules/cross-fetch/index.d.ts","../../lib/functions/httputils.ts","../../lib/functions/proofutil.ts","../../lib/functions/index.ts","../../lib/issuanceinitiation.ts","../../lib/accesstokenclient.ts","../../lib/credentialrequestclientbuilder.ts","../../lib/credentialrequestclient.ts","../../lib/index.ts","../../index.ts","../../node_modules/@types/jest/node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/node/ts4.8/assert.d.ts","../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../node_modules/@types/node/ts4.8/globals.d.ts","../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../node_modules/@types/node/ts4.8/buffer.d.ts","../../node_modules/@types/node/ts4.8/child_process.d.ts","../../node_modules/@types/node/ts4.8/cluster.d.ts","../../node_modules/@types/node/ts4.8/console.d.ts","../../node_modules/@types/node/ts4.8/constants.d.ts","../../node_modules/@types/node/ts4.8/crypto.d.ts","../../node_modules/@types/node/ts4.8/dgram.d.ts","../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../node_modules/@types/node/ts4.8/dns.d.ts","../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../node_modules/@types/node/ts4.8/domain.d.ts","../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../node_modules/@types/node/ts4.8/events.d.ts","../../node_modules/@types/node/ts4.8/fs.d.ts","../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../node_modules/@types/node/ts4.8/http.d.ts","../../node_modules/@types/node/ts4.8/http2.d.ts","../../node_modules/@types/node/ts4.8/https.d.ts","../../node_modules/@types/node/ts4.8/inspector.d.ts","../../node_modules/@types/node/ts4.8/module.d.ts","../../node_modules/@types/node/ts4.8/net.d.ts","../../node_modules/@types/node/ts4.8/os.d.ts","../../node_modules/@types/node/ts4.8/path.d.ts","../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../node_modules/@types/node/ts4.8/process.d.ts","../../node_modules/@types/node/ts4.8/punycode.d.ts","../../node_modules/@types/node/ts4.8/querystring.d.ts","../../node_modules/@types/node/ts4.8/readline.d.ts","../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../node_modules/@types/node/ts4.8/repl.d.ts","../../node_modules/@types/node/ts4.8/stream.d.ts","../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../node_modules/@types/node/ts4.8/test.d.ts","../../node_modules/@types/node/ts4.8/timers.d.ts","../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../node_modules/@types/node/ts4.8/tls.d.ts","../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../node_modules/@types/node/ts4.8/tty.d.ts","../../node_modules/@types/node/ts4.8/url.d.ts","../../node_modules/@types/node/ts4.8/util.d.ts","../../node_modules/@types/node/ts4.8/v8.d.ts","../../node_modules/@types/node/ts4.8/vm.d.ts","../../node_modules/@types/node/ts4.8/wasi.d.ts","../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../node_modules/@types/node/ts4.8/zlib.d.ts","../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../node_modules/@types/node/ts4.8/index.d.ts"],"fileInfos":["721cec59c3fef87aaf480047d821fb758b3ec9482c4129a54631e6e25e432a31",{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"a4808b147aa1d5755b757ca5339104baa3fd437a4ba59ff4a5c9e87402190785","f496bd62d85a3e77606c94acab065e1ed2307a7c9011c160cbe812b5d537fe9d","07a5b7db44c9a24f62143187b510777d0e6f195ce0eb344bc57b80a2d338dc16","a3071902b649b7a88edfc16348e7665c6848d19d22874e217f3a0771221e7369","bc9acf7b33397ba8d9793abe3e8abef9b8c1dba460535912ff06c8291afe057f","25cc382e1907d5e54633f70827e1ed49ae26438b1a8d7083ce13da2ffd33bedb","0562befdc4db98aae9a340fd7e31d059d88b39a494a3effe4d831c859d6a0639","b248545ba1c998334b2d73b711e63f8fedaac7eb6b8e8c5264719ceabe6cd80c","112c9abf3de14453aa3d02e584714bd62d4fac3755b13ccb3cba6c755e3ad396",{"version":"88efd939c70c9f03ae607ff40ba2bc755324adb4f8d41994f967521165c0dc08","signature":"1b5e2dd08139a1baf97cb475f3d510eb74d1341e7295e7146143b3fb13d8b8e8"},{"version":"1be5d3829e6f0a30f94d20c7e2509028ad54b8246941de89c565c0b2b6f6675f","signature":"78a917764430988e804e6b67ec688cea658d77b1345b7e9c335f72444e15537a"},{"version":"ec7b6187f62f1118084c2e1feb32a2d39e412bf30235d5c67392db0038b06efa","signature":"d238e3413f4d0da893f42f1307a17dc38c8719d27df76c995de1487090f9600b"},"790f3751d6fc2a62a9e1a759694ad9d39429e097c19e86f0ec1ec56ab2f68400",{"version":"3d7014eada247ca0068c9f1372fbd8ce4f98b7b75b963786f2e7ab2ed7e27414","signature":"4d3121331ec51b1dd4e7edc7c70210a282ac176c2bb1e3a7aff46d6d3c1c5141"},"3991948fcf119df7b093aa3dafba0e6ecaa1dded705aaacda923e446b9e926e6",{"version":"409cf8770fbb9f099124e9ca744282ebfd85df2fd3650ae05c4ee3d03af66714","affectsGlobalScope":true},"aa5765fbe6ebfd83ae15d5b79c3955a328408aec6aa96cdd722c5f84eea0dccc","7ea124007f01d5547099fcb12be49e29d27db882f14decbfd9de69c870d6c33d","97885acc4a3ad5bb7b45305ef8d2e3eb0a9bd4462d1dd9c0e14fdf7c5dae029f","935a2c5aaf28cceb7e6ce2157589130766fb440d926b13770a40507ba149ee82","e7e23fe2242636f7424e13fb58f052b92e72aed1b2b973e3e6a85d50b6090525","aba9f9bcb1a6a6e3bfa2fd81542f6d0962fb7e43c6e11cca1ab9d184737cee8d","12d96de9290e15a7831365390d38d922ddc8b59ccdd616a46a256a2f2ca7b0a9","b3e3d44bbcb3585192d0229583841a10e44f6396b6b5ab5e32352bdf8626fe87","84802f990c0f90e8ace5e8e885d92c07b007d827a5fa40085264d04707df6909","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","776bb20d045af25df4f1b85a5e0c8bcc19d5ec1d653594b297e52e89ee7924e4","ffcc5500e77223169833fc6eb59b3a507944a1f89574e0a1276b0ea7fc22c4a4","22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","f72f8428f3c1caa22e9c247d046603b85b442c0dae7b77a7a0bc092c18867cb7",{"version":"195f63105abc03e72b6a176e3e34dfb5ac932b55db378fdc7874b1617e24b465","affectsGlobalScope":true},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"e9d541cf4452ff2a5543c2d8a220f645b094b5e2b6cf7c5dd2a8cb54e8731f31","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","c4cfc9a6e2ebb8bc8c0e2392dfc4056993ced3b35069ebf132ac18ca7a562881","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"9b4e8e95e480a6ef470e0b0e1eaea9d986011d4dc05267dcc9edfaa6d22e7cd1","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","df36874d9e56aff601e921c4b3971d37cf66d14f6455935ce821e6cad13b1823","dc98702ca783c4956d8b421ab069e5b4d4dcbeb7edc6ea2feaf13913e3bdb9b6","1abb206a4ecd13b21536b677d7d5f66e0d7316f0d44610197cfcc5776f78884a","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b68bd7bef90dab08b1866a9fee24f03d9fee10bcb3f587b074e96e61abf6d3f0",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","24ad30a03d6c9266b63540956868dd70fa2dc523d60d780d6586eb0c281946bc",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"fefc6ec049aacd88cf8cb8e3a102962105c8b78c50eae10f853614756530b147","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7"],"options":{"declaration":true,"esModuleInterop":true,"inlineSourceMap":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","target":2},"fileIdsList":[[67,124],[52,57,62,124],[52,57,62,65,124],[52,57,62,66,124],[57,124],[59,124],[58,60,61,124],[57,62,63,64,65,66,124],[57,62,124],[53,54,124],[52,87,124],[124],[53,54,55,56,124],[71,124],[47,49,51,124],[47,124],[50,124],[44,45,46,124],[44,45,124],[48,124],[73,76,124],[69,75,124],[73,124],[70,74,124],[72,124],[78,124],[81,124],[82,87,115,124],[83,94,95,102,112,123,124],[83,84,94,102,124],[85,124],[86,87,95,103,124],[87,112,120,124],[88,90,94,102,124],[89,124],[90,91,124],[94,124],[92,94,124],[94,95,96,112,123,124],[94,95,96,112,115,124],[124,128],[97,102,112,123,124],[94,95,97,98,102,112,120,123,124],[97,99,112,120,123,124],[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130],[94,100,124],[101,123,124],[90,94,102,112,124],[103,124],[104,124],[81,105,124],[106,122,124,128],[107,124],[108,124],[94,109,110,124],[109,111,124,126],[82,94,112,113,114,115,124],[82,112,114,124],[112,113,124],[115,124],[116,124],[94,118,119,124],[118,119,124],[87,102,112,120,124],[121,124],[102,122,124],[82,97,108,123,124],[87,124],[112,124,125],[124,126],[124,127],[82,87,94,96,105,112,123,124,126,128],[112,124,129],[53],[52,87],[53,54,55,56]],"referencedMap":[[68,1],[64,2],[66,3],[65,4],[58,5],[60,6],[62,7],[61,5],[67,8],[63,9],[55,10],[53,11],[54,12],[57,13],[56,12],[72,14],[71,12],[52,15],[50,16],[51,17],[44,12],[47,18],[45,12],[46,19],[49,20],[48,12],[77,21],[69,12],[76,22],[74,23],[75,24],[73,25],[78,26],[79,26],[81,27],[82,28],[83,29],[84,30],[85,31],[86,32],[87,33],[88,34],[89,35],[90,36],[91,36],[93,37],[92,38],[94,37],[95,39],[96,40],[80,41],[130,12],[97,42],[98,43],[99,44],[131,45],[100,46],[101,47],[102,48],[103,49],[104,50],[105,51],[106,52],[107,53],[108,54],[109,55],[110,55],[111,56],[112,57],[114,58],[113,59],[115,60],[116,61],[117,12],[118,62],[119,63],[120,64],[121,65],[122,66],[123,67],[124,68],[125,69],[126,70],[127,71],[128,72],[129,73],[70,12],[59,12],[9,12],[10,12],[14,12],[13,12],[3,12],[15,12],[16,12],[17,12],[18,12],[19,12],[20,12],[21,12],[22,12],[4,12],[5,12],[26,12],[23,12],[24,12],[25,12],[27,12],[28,12],[29,12],[6,12],[30,12],[31,12],[32,12],[33,12],[7,12],[34,12],[35,12],[36,12],[37,12],[8,12],[42,12],[38,12],[39,12],[40,12],[41,12],[2,12],[1,12],[43,12],[12,12],[11,12]],"exportedModulesMap":[[68,1],[64,2],[66,3],[65,4],[58,5],[60,6],[62,7],[61,5],[67,8],[63,9],[55,74],[53,75],[57,76],[56,12],[72,14],[71,12],[52,15],[50,16],[51,17],[44,12],[47,18],[45,12],[46,19],[49,20],[48,12],[77,21],[69,12],[76,22],[74,23],[75,24],[73,25],[78,26],[79,26],[81,27],[82,28],[83,29],[84,30],[85,31],[86,32],[87,33],[88,34],[89,35],[90,36],[91,36],[93,37],[92,38],[94,37],[95,39],[96,40],[80,41],[130,12],[97,42],[98,43],[99,44],[131,45],[100,46],[101,47],[102,48],[103,49],[104,50],[105,51],[106,52],[107,53],[108,54],[109,55],[110,55],[111,56],[112,57],[114,58],[113,59],[115,60],[116,61],[117,12],[118,62],[119,63],[120,64],[121,65],[122,66],[123,67],[124,68],[125,69],[126,70],[127,71],[128,72],[129,73],[70,12],[59,12],[9,12],[10,12],[14,12],[13,12],[3,12],[15,12],[16,12],[17,12],[18,12],[19,12],[20,12],[21,12],[22,12],[4,12],[5,12],[26,12],[23,12],[24,12],[25,12],[27,12],[28,12],[29,12],[6,12],[30,12],[31,12],[32,12],[33,12],[7,12],[34,12],[35,12],[36,12],[37,12],[8,12],[42,12],[38,12],[39,12],[40,12],[41,12],[2,12],[1,12],[43,12],[12,12],[11,12]],"semanticDiagnosticsPerFile":[68,64,66,65,58,60,62,61,67,63,55,53,54,57,56,72,71,52,50,51,44,47,45,46,49,48,77,69,76,74,75,73,78,79,81,82,83,84,85,86,87,88,89,90,91,93,92,94,95,96,80,130,97,98,99,131,100,101,102,103,104,105,106,107,108,109,110,111,112,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,70,59,9,10,14,13,3,15,16,17,18,19,20,21,22,4,5,26,23,24,25,27,28,29,6,30,31,32,33,7,34,35,36,37,8,42,38,39,40,41,2,1,43,12,11]},"version":"4.6.4"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es6.d.ts","../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@sphereon/ssi-types/dist/types/did.d.ts","../../node_modules/@sphereon/ssi-types/dist/types/pex.d.ts","../../node_modules/@sphereon/ssi-types/dist/types/vc.d.ts","../../node_modules/@sphereon/ssi-types/dist/types/index.d.ts","../../node_modules/@sphereon/ssi-types/dist/utils/object.d.ts","../../node_modules/@sphereon/ssi-types/dist/utils/index.d.ts","../../node_modules/@sphereon/ssi-types/dist/mapper/credential-mapper.d.ts","../../node_modules/@sphereon/ssi-types/dist/mapper/index.d.ts","../../node_modules/@sphereon/ssi-types/dist/index.d.ts","../../lib/types/credentialissuance.types.ts","../../lib/types/generic.types.ts","../../lib/types/authorization.types.ts","../../lib/types/oidc4vcierrors.ts","../../lib/types/index.ts","../../lib/functions/encoding.ts","../../node_modules/cross-fetch/index.d.ts","../../lib/functions/httputils.ts","../../lib/functions/proofutil.ts","../../lib/functions/index.ts","../../lib/issuanceinitiation.ts","../../lib/accesstokenclient.ts","../../lib/credentialrequestclientbuilder.ts","../../lib/credentialrequestclient.ts","../../lib/index.ts","../../index.ts","../../node_modules/@types/jest/node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/@types/jest/node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/node/ts4.8/assert.d.ts","../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../node_modules/@types/node/ts4.8/globals.d.ts","../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../node_modules/@types/node/ts4.8/buffer.d.ts","../../node_modules/@types/node/ts4.8/child_process.d.ts","../../node_modules/@types/node/ts4.8/cluster.d.ts","../../node_modules/@types/node/ts4.8/console.d.ts","../../node_modules/@types/node/ts4.8/constants.d.ts","../../node_modules/@types/node/ts4.8/crypto.d.ts","../../node_modules/@types/node/ts4.8/dgram.d.ts","../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../node_modules/@types/node/ts4.8/dns.d.ts","../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../node_modules/@types/node/ts4.8/domain.d.ts","../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../node_modules/@types/node/ts4.8/events.d.ts","../../node_modules/@types/node/ts4.8/fs.d.ts","../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../node_modules/@types/node/ts4.8/http.d.ts","../../node_modules/@types/node/ts4.8/http2.d.ts","../../node_modules/@types/node/ts4.8/https.d.ts","../../node_modules/@types/node/ts4.8/inspector.d.ts","../../node_modules/@types/node/ts4.8/module.d.ts","../../node_modules/@types/node/ts4.8/net.d.ts","../../node_modules/@types/node/ts4.8/os.d.ts","../../node_modules/@types/node/ts4.8/path.d.ts","../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../node_modules/@types/node/ts4.8/process.d.ts","../../node_modules/@types/node/ts4.8/punycode.d.ts","../../node_modules/@types/node/ts4.8/querystring.d.ts","../../node_modules/@types/node/ts4.8/readline.d.ts","../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../node_modules/@types/node/ts4.8/repl.d.ts","../../node_modules/@types/node/ts4.8/stream.d.ts","../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../node_modules/@types/node/ts4.8/test.d.ts","../../node_modules/@types/node/ts4.8/timers.d.ts","../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../node_modules/@types/node/ts4.8/tls.d.ts","../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../node_modules/@types/node/ts4.8/tty.d.ts","../../node_modules/@types/node/ts4.8/url.d.ts","../../node_modules/@types/node/ts4.8/util.d.ts","../../node_modules/@types/node/ts4.8/v8.d.ts","../../node_modules/@types/node/ts4.8/vm.d.ts","../../node_modules/@types/node/ts4.8/wasi.d.ts","../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../node_modules/@types/node/ts4.8/zlib.d.ts","../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../node_modules/@types/node/ts4.8/index.d.ts"],"fileInfos":["721cec59c3fef87aaf480047d821fb758b3ec9482c4129a54631e6e25e432a31",{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"dbb73d4d99be496175cb432c74c2615f78c76f4272f1d83cba11ee0ed6dbddf0","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"a4808b147aa1d5755b757ca5339104baa3fd437a4ba59ff4a5c9e87402190785","f496bd62d85a3e77606c94acab065e1ed2307a7c9011c160cbe812b5d537fe9d","07a5b7db44c9a24f62143187b510777d0e6f195ce0eb344bc57b80a2d338dc16","a3071902b649b7a88edfc16348e7665c6848d19d22874e217f3a0771221e7369","bc9acf7b33397ba8d9793abe3e8abef9b8c1dba460535912ff06c8291afe057f","25cc382e1907d5e54633f70827e1ed49ae26438b1a8d7083ce13da2ffd33bedb","0562befdc4db98aae9a340fd7e31d059d88b39a494a3effe4d831c859d6a0639","b248545ba1c998334b2d73b711e63f8fedaac7eb6b8e8c5264719ceabe6cd80c","112c9abf3de14453aa3d02e584714bd62d4fac3755b13ccb3cba6c755e3ad396","f566ea4410b3d97de96fccff68fd48b30d5d39b4104d0a33171214dd5f3140e4","1be5d3829e6f0a30f94d20c7e2509028ad54b8246941de89c565c0b2b6f6675f","2a8bd202acdbb01b5ce84cf31d1df6a497e3c02caf70b42721041d9e8e9898e7","790f3751d6fc2a62a9e1a759694ad9d39429e097c19e86f0ec1ec56ab2f68400","3d7014eada247ca0068c9f1372fbd8ce4f98b7b75b963786f2e7ab2ed7e27414","3991948fcf119df7b093aa3dafba0e6ecaa1dded705aaacda923e446b9e926e6",{"version":"409cf8770fbb9f099124e9ca744282ebfd85df2fd3650ae05c4ee3d03af66714","affectsGlobalScope":true},"aa5765fbe6ebfd83ae15d5b79c3955a328408aec6aa96cdd722c5f84eea0dccc","7ea124007f01d5547099fcb12be49e29d27db882f14decbfd9de69c870d6c33d","97885acc4a3ad5bb7b45305ef8d2e3eb0a9bd4462d1dd9c0e14fdf7c5dae029f","935a2c5aaf28cceb7e6ce2157589130766fb440d926b13770a40507ba149ee82","e7e23fe2242636f7424e13fb58f052b92e72aed1b2b973e3e6a85d50b6090525","1449da0af0fb1e1b5e36cbda7375feec74fc9bd7be24633759365d47a6476417","ad53401e391ec46b750c54c8cb6dc1c9a0bf1d3b2374638a7f2278fc2962d876","b3e3d44bbcb3585192d0229583841a10e44f6396b6b5ab5e32352bdf8626fe87","84802f990c0f90e8ace5e8e885d92c07b007d827a5fa40085264d04707df6909","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","776bb20d045af25df4f1b85a5e0c8bcc19d5ec1d653594b297e52e89ee7924e4","ffcc5500e77223169833fc6eb59b3a507944a1f89574e0a1276b0ea7fc22c4a4","22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","f72f8428f3c1caa22e9c247d046603b85b442c0dae7b77a7a0bc092c18867cb7",{"version":"195f63105abc03e72b6a176e3e34dfb5ac932b55db378fdc7874b1617e24b465","affectsGlobalScope":true},"9122ed7070e054b73ebab37c2373a196def2d90e7d1a9a7fcd9d46b0e51fae78","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"e9d541cf4452ff2a5543c2d8a220f645b094b5e2b6cf7c5dd2a8cb54e8731f31","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","c4cfc9a6e2ebb8bc8c0e2392dfc4056993ced3b35069ebf132ac18ca7a562881","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"9b4e8e95e480a6ef470e0b0e1eaea9d986011d4dc05267dcc9edfaa6d22e7cd1","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","df36874d9e56aff601e921c4b3971d37cf66d14f6455935ce821e6cad13b1823","dc98702ca783c4956d8b421ab069e5b4d4dcbeb7edc6ea2feaf13913e3bdb9b6","1abb206a4ecd13b21536b677d7d5f66e0d7316f0d44610197cfcc5776f78884a","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b68bd7bef90dab08b1866a9fee24f03d9fee10bcb3f587b074e96e61abf6d3f0",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","d1a78a3c5708807e8de3e399f91df4797c62e44b02195eefc2209b2e713e54ee","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","24ad30a03d6c9266b63540956868dd70fa2dc523d60d780d6586eb0c281946bc",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"fefc6ec049aacd88cf8cb8e3a102962105c8b78c50eae10f853614756530b147","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7"],"options":{"declaration":true,"esModuleInterop":true,"inlineSourceMap":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","target":2},"fileIdsList":[[67,124],[52,57,62,124],[52,57,62,65,124],[52,57,62,66,124],[57,124],[59,124],[58,60,61,124],[57,62,63,64,65,66,124],[57,62,124],[53,54,124],[52,87,124],[124],[53,54,55,56,124],[71,124],[47,49,51,124],[47,124],[50,124],[44,45,46,124],[44,45,124],[48,124],[73,76,124],[69,75,124],[73,124],[70,74,124],[72,124],[78,124],[81,124],[82,87,115,124],[83,94,95,102,112,123,124],[83,84,94,102,124],[85,124],[86,87,95,103,124],[87,112,120,124],[88,90,94,102,124],[89,124],[90,91,124],[94,124],[92,94,124],[94,95,96,112,123,124],[94,95,96,112,115,124],[124,128],[97,102,112,123,124],[94,95,97,98,102,112,120,123,124],[97,99,112,120,123,124],[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130],[94,100,124],[101,123,124],[90,94,102,112,124],[103,124],[104,124],[81,105,124],[106,122,124,128],[107,124],[108,124],[94,109,110,124],[109,111,124,126],[82,94,112,113,114,115,124],[82,112,114,124],[112,113,124],[115,124],[116,124],[94,118,119,124],[118,119,124],[87,102,112,120,124],[121,124],[102,122,124],[82,97,108,123,124],[87,124],[112,124,125],[124,126],[124,127],[82,87,94,96,105,112,123,124,126,128],[112,124,129]],"referencedMap":[[68,1],[64,2],[66,3],[65,4],[58,5],[60,6],[62,7],[61,5],[67,8],[63,9],[55,10],[53,11],[54,12],[57,13],[56,12],[72,14],[71,12],[52,15],[50,16],[51,17],[44,12],[47,18],[45,12],[46,19],[49,20],[48,12],[77,21],[69,12],[76,22],[74,23],[75,24],[73,25],[78,26],[79,26],[81,27],[82,28],[83,29],[84,30],[85,31],[86,32],[87,33],[88,34],[89,35],[90,36],[91,36],[93,37],[92,38],[94,37],[95,39],[96,40],[80,41],[130,12],[97,42],[98,43],[99,44],[131,45],[100,46],[101,47],[102,48],[103,49],[104,50],[105,51],[106,52],[107,53],[108,54],[109,55],[110,55],[111,56],[112,57],[114,58],[113,59],[115,60],[116,61],[117,12],[118,62],[119,63],[120,64],[121,65],[122,66],[123,67],[124,68],[125,69],[126,70],[127,71],[128,72],[129,73],[70,12],[59,12],[9,12],[10,12],[14,12],[13,12],[3,12],[15,12],[16,12],[17,12],[18,12],[19,12],[20,12],[21,12],[22,12],[4,12],[5,12],[26,12],[23,12],[24,12],[25,12],[27,12],[28,12],[29,12],[6,12],[30,12],[31,12],[32,12],[33,12],[7,12],[34,12],[35,12],[36,12],[37,12],[8,12],[42,12],[38,12],[39,12],[40,12],[41,12],[2,12],[1,12],[43,12],[12,12],[11,12]],"exportedModulesMap":[[68,1],[64,2],[66,3],[65,4],[58,5],[60,6],[62,7],[61,5],[67,8],[63,9],[55,10],[53,11],[54,12],[57,13],[56,12],[72,14],[71,12],[52,15],[50,16],[51,17],[44,12],[47,18],[45,12],[46,19],[49,20],[48,12],[77,21],[69,12],[76,22],[74,23],[75,24],[73,25],[78,26],[79,26],[81,27],[82,28],[83,29],[84,30],[85,31],[86,32],[87,33],[88,34],[89,35],[90,36],[91,36],[93,37],[92,38],[94,37],[95,39],[96,40],[80,41],[130,12],[97,42],[98,43],[99,44],[131,45],[100,46],[101,47],[102,48],[103,49],[104,50],[105,51],[106,52],[107,53],[108,54],[109,55],[110,55],[111,56],[112,57],[114,58],[113,59],[115,60],[116,61],[117,12],[118,62],[119,63],[120,64],[121,65],[122,66],[123,67],[124,68],[125,69],[126,70],[127,71],[128,72],[129,73],[70,12],[59,12],[9,12],[10,12],[14,12],[13,12],[3,12],[15,12],[16,12],[17,12],[18,12],[19,12],[20,12],[21,12],[22,12],[4,12],[5,12],[26,12],[23,12],[24,12],[25,12],[27,12],[28,12],[29,12],[6,12],[30,12],[31,12],[32,12],[33,12],[7,12],[34,12],[35,12],[36,12],[37,12],[8,12],[42,12],[38,12],[39,12],[40,12],[41,12],[2,12],[1,12],[43,12],[12,12],[11,12]],"semanticDiagnosticsPerFile":[68,64,66,65,58,60,62,61,67,63,55,53,54,57,56,72,71,52,50,51,44,47,45,46,49,48,77,69,76,74,75,73,78,79,81,82,83,84,85,86,87,88,89,90,91,93,92,94,95,96,80,130,97,98,99,131,100,101,102,103,104,105,106,107,108,109,110,111,112,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,70,59,9,10,14,13,3,15,16,17,18,19,20,21,22,4,5,26,23,24,25,27,28,29,6,30,31,32,33,7,34,35,36,37,8,42,38,39,40,41,2,1,43,12,11]},"version":"4.6.4"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/oid4vci-client",
3
- "version": "0.0.1-unstable.5",
3
+ "version": "0.1.0",
4
4
  "description": "OpenID for Verifiable Credential Issuance (OID4VCI) client",
5
5
  "main": "dist/main/index.js",
6
6
  "types": "dist/main/index.d.ts",