@twin.org/identity-models 0.0.1-next.4 → 0.0.1-next.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/cjs/index.cjs +150 -21
  2. package/dist/esm/index.mjs +150 -22
  3. package/dist/types/factories/identityResolverConnectorFactory.d.ts +6 -0
  4. package/dist/types/index.d.ts +36 -11
  5. package/dist/types/models/IIdentityComponent.d.ts +127 -5
  6. package/dist/types/models/IIdentityConnector.d.ts +21 -32
  7. package/dist/types/models/IIdentityResolverComponent.d.ts +13 -0
  8. package/dist/types/models/IIdentityResolverConnector.d.ts +14 -0
  9. package/dist/types/models/api/identity/IIdentityCreateRequest.d.ts +14 -0
  10. package/dist/types/models/api/identity/IIdentityCreateResponse.d.ts +10 -0
  11. package/dist/types/models/api/identity/IIdentityProofCreateRequest.d.ts +33 -0
  12. package/dist/types/models/api/identity/IIdentityProofCreateResponse.d.ts +10 -0
  13. package/dist/types/models/api/identity/IIdentityProofVerifyRequest.d.ts +20 -0
  14. package/dist/types/models/api/identity/IIdentityProofVerifyResponse.d.ts +11 -0
  15. package/dist/types/models/api/identity/IIdentityServiceCreateRequest.d.ts +31 -0
  16. package/dist/types/models/api/identity/IIdentityServiceCreateResponse.d.ts +10 -0
  17. package/dist/types/models/api/identity/IIdentityServiceRemoveRequest.d.ts +18 -0
  18. package/dist/types/models/api/identity/IIdentityVerifiableCredentialCreateRequest.d.ts +36 -0
  19. package/dist/types/models/api/identity/IIdentityVerifiableCredentialCreateResponse.d.ts +19 -0
  20. package/dist/types/models/api/identity/IIdentityVerifiableCredentialRevokeRequest.d.ts +18 -0
  21. package/dist/types/models/api/identity/IIdentityVerifiableCredentialUnrevokeRequest.d.ts +18 -0
  22. package/dist/types/models/api/identity/IIdentityVerifiableCredentialVerifyRequest.d.ts +14 -0
  23. package/dist/types/models/api/identity/IIdentityVerifiableCredentialVerifyResponse.d.ts +19 -0
  24. package/dist/types/models/api/identity/IIdentityVerifiablePresentationCreateRequest.d.ts +45 -0
  25. package/dist/types/models/api/identity/IIdentityVerifiablePresentationCreateResponse.d.ts +19 -0
  26. package/dist/types/models/api/identity/IIdentityVerifiablePresentationVerifyRequest.d.ts +14 -0
  27. package/dist/types/models/api/identity/IIdentityVerifiablePresentationVerifyResponse.d.ts +23 -0
  28. package/dist/types/models/api/identity/IIdentityVerificationMethodCreateRequest.d.ts +28 -0
  29. package/dist/types/models/api/identity/IIdentityVerificationMethodCreateResponse.d.ts +10 -0
  30. package/dist/types/models/api/identity/IIdentityVerificationMethodRemoveRequest.d.ts +18 -0
  31. package/dist/types/models/api/{IIdentityResolveRequest.d.ts → resolver/IIdentityResolveRequest.d.ts} +2 -2
  32. package/dist/types/utils/documentHelper.d.ts +33 -2
  33. package/dist/types/utils/verificationHelper.d.ts +29 -0
  34. package/docs/changelog.md +17 -1
  35. package/docs/reference/classes/DocumentHelper.md +119 -5
  36. package/docs/reference/classes/VerificationHelper.md +83 -0
  37. package/docs/reference/index.md +26 -5
  38. package/docs/reference/interfaces/IIdentityComponent.md +472 -6
  39. package/docs/reference/interfaces/IIdentityConnector.md +137 -141
  40. package/docs/reference/interfaces/IIdentityCreateRequest.md +17 -0
  41. package/docs/reference/interfaces/IIdentityCreateResponse.md +11 -0
  42. package/docs/reference/interfaces/IIdentityProfileComponent.md +52 -44
  43. package/docs/reference/interfaces/IIdentityProfileConnector.md +52 -40
  44. package/docs/reference/interfaces/IIdentityProfileGetPublicResponse.md +2 -2
  45. package/docs/reference/interfaces/IIdentityProofCreateRequest.md +43 -0
  46. package/docs/reference/interfaces/IIdentityProofCreateResponse.md +11 -0
  47. package/docs/reference/interfaces/IIdentityProofVerifyRequest.md +23 -0
  48. package/docs/reference/interfaces/IIdentityProofVerifyResponse.md +15 -0
  49. package/docs/reference/interfaces/IIdentityResolveRequest.md +3 -3
  50. package/docs/reference/interfaces/IIdentityResolverComponent.md +29 -0
  51. package/docs/reference/interfaces/IIdentityResolverConnector.md +33 -0
  52. package/docs/reference/interfaces/IIdentityServiceCreateRequest.md +43 -0
  53. package/docs/reference/interfaces/IIdentityServiceCreateResponse.md +11 -0
  54. package/docs/reference/interfaces/IIdentityServiceRemoveRequest.md +23 -0
  55. package/docs/reference/interfaces/IIdentityVerifiableCredentialCreateRequest.md +49 -0
  56. package/docs/reference/interfaces/IIdentityVerifiableCredentialCreateResponse.md +23 -0
  57. package/docs/reference/interfaces/IIdentityVerifiableCredentialRevokeRequest.md +23 -0
  58. package/docs/reference/interfaces/IIdentityVerifiableCredentialUnrevokeRequest.md +23 -0
  59. package/docs/reference/interfaces/IIdentityVerifiableCredentialVerifyRequest.md +17 -0
  60. package/docs/reference/interfaces/IIdentityVerifiableCredentialVerifyResponse.md +23 -0
  61. package/docs/reference/interfaces/IIdentityVerifiablePresentationCreateRequest.md +61 -0
  62. package/docs/reference/interfaces/IIdentityVerifiablePresentationCreateResponse.md +23 -0
  63. package/docs/reference/interfaces/IIdentityVerifiablePresentationVerifyRequest.md +17 -0
  64. package/docs/reference/interfaces/IIdentityVerifiablePresentationVerifyResponse.md +29 -0
  65. package/docs/reference/interfaces/IIdentityVerificationMethodCreateRequest.md +37 -0
  66. package/docs/reference/interfaces/IIdentityVerificationMethodCreateResponse.md +11 -0
  67. package/docs/reference/interfaces/IIdentityVerificationMethodRemoveRequest.md +23 -0
  68. package/docs/reference/variables/IdentityResolverConnectorFactory.md +5 -0
  69. package/locales/en.json +10 -4
  70. package/package.json +4 -4
  71. package/dist/types/models/identityRole.d.ts +0 -21
  72. package/docs/reference/type-aliases/IdentityRole.md +0 -5
  73. package/docs/reference/variables/IdentityRole.md +0 -25
  74. /package/dist/types/models/api/{IIdentityProfileCreateRequest.d.ts → profile/IIdentityProfileCreateRequest.d.ts} +0 -0
  75. /package/dist/types/models/api/{IIdentityProfileGetPublicRequest.d.ts → profile/IIdentityProfileGetPublicRequest.d.ts} +0 -0
  76. /package/dist/types/models/api/{IIdentityProfileGetPublicResponse.d.ts → profile/IIdentityProfileGetPublicResponse.d.ts} +0 -0
  77. /package/dist/types/models/api/{IIdentityProfileGetRequest.d.ts → profile/IIdentityProfileGetRequest.d.ts} +0 -0
  78. /package/dist/types/models/api/{IIdentityProfileGetResponse.d.ts → profile/IIdentityProfileGetResponse.d.ts} +0 -0
  79. /package/dist/types/models/api/{IIdentityProfileListRequest.d.ts → profile/IIdentityProfileListRequest.d.ts} +0 -0
  80. /package/dist/types/models/api/{IIdentityProfileListResponse.d.ts → profile/IIdentityProfileListResponse.d.ts} +0 -0
  81. /package/dist/types/models/api/{IIdentityProfileUpdateRequest.d.ts → profile/IIdentityProfileUpdateRequest.d.ts} +0 -0
  82. /package/dist/types/models/api/{IIdentityResolveResponse.d.ts → resolver/IIdentityResolveResponse.d.ts} +0 -0
@@ -8,20 +8,486 @@ Interface describing a contract which provides identity operations.
8
8
 
9
9
  ## Methods
10
10
 
11
- ### resolve()
11
+ ### identityCreate()
12
12
 
13
- > **resolve**(`documentId`): `Promise`\<`IDidDocument`\>
13
+ > **identityCreate**(`namespace`?, `controller`?): `Promise`\<`IDidDocument`\>
14
14
 
15
- Resolve an identity.
15
+ Create a new identity.
16
16
 
17
17
  #### Parameters
18
18
 
19
- • **documentId**: `string`
19
+ ##### namespace?
20
20
 
21
- The id of the document to resolve.
21
+ `string`
22
+
23
+ The namespace of the connector to use for the identity, defaults to service configured namespace.
24
+
25
+ ##### controller?
26
+
27
+ `string`
28
+
29
+ The controller of the identity who can make changes.
22
30
 
23
31
  #### Returns
24
32
 
25
33
  `Promise`\<`IDidDocument`\>
26
34
 
27
- The resolved document.
35
+ The created identity document.
36
+
37
+ ***
38
+
39
+ ### verificationMethodCreate()
40
+
41
+ > **verificationMethodCreate**(`identity`, `verificationMethodType`, `verificationMethodId`?, `controller`?): `Promise`\<`IDidDocumentVerificationMethod`\>
42
+
43
+ Add a verification method to the document in JSON Web key Format.
44
+
45
+ #### Parameters
46
+
47
+ ##### identity
48
+
49
+ `string`
50
+
51
+ The id of the document to add the verification method to.
52
+
53
+ ##### verificationMethodType
54
+
55
+ `DidVerificationMethodType`
56
+
57
+ The type of the verification method to add.
58
+
59
+ ##### verificationMethodId?
60
+
61
+ `string`
62
+
63
+ The id of the verification method, if undefined uses the kid of the generated JWK.
64
+
65
+ ##### controller?
66
+
67
+ `string`
68
+
69
+ The controller of the identity who can make changes.
70
+
71
+ #### Returns
72
+
73
+ `Promise`\<`IDidDocumentVerificationMethod`\>
74
+
75
+ The verification method.
76
+
77
+ #### Throws
78
+
79
+ NotFoundError if the id can not be resolved.
80
+
81
+ #### Throws
82
+
83
+ NotSupportedError if the platform does not support multiple keys.
84
+
85
+ ***
86
+
87
+ ### verificationMethodRemove()
88
+
89
+ > **verificationMethodRemove**(`verificationMethodId`, `controller`?): `Promise`\<`void`\>
90
+
91
+ Remove a verification method from the document.
92
+
93
+ #### Parameters
94
+
95
+ ##### verificationMethodId
96
+
97
+ `string`
98
+
99
+ The id of the verification method.
100
+
101
+ ##### controller?
102
+
103
+ `string`
104
+
105
+ The controller of the identity who can make changes.
106
+
107
+ #### Returns
108
+
109
+ `Promise`\<`void`\>
110
+
111
+ Nothing.
112
+
113
+ #### Throws
114
+
115
+ NotFoundError if the id can not be resolved.
116
+
117
+ #### Throws
118
+
119
+ NotSupportedError if the platform does not support multiple revocable keys.
120
+
121
+ ***
122
+
123
+ ### serviceCreate()
124
+
125
+ > **serviceCreate**(`identity`, `serviceId`, `serviceType`, `serviceEndpoint`, `controller`?): `Promise`\<`IDidService`\>
126
+
127
+ Add a service to the document.
128
+
129
+ #### Parameters
130
+
131
+ ##### identity
132
+
133
+ `string`
134
+
135
+ The id of the document to add the service to.
136
+
137
+ ##### serviceId
138
+
139
+ `string`
140
+
141
+ The id of the service.
142
+
143
+ ##### serviceType
144
+
145
+ The type of the service.
146
+
147
+ `string` | `string`[]
148
+
149
+ ##### serviceEndpoint
150
+
151
+ The endpoint for the service.
152
+
153
+ `string` | `string`[]
154
+
155
+ ##### controller?
156
+
157
+ `string`
158
+
159
+ The controller of the identity who can make changes.
160
+
161
+ #### Returns
162
+
163
+ `Promise`\<`IDidService`\>
164
+
165
+ The service.
166
+
167
+ #### Throws
168
+
169
+ NotFoundError if the id can not be resolved.
170
+
171
+ ***
172
+
173
+ ### serviceRemove()
174
+
175
+ > **serviceRemove**(`serviceId`, `controller`?): `Promise`\<`void`\>
176
+
177
+ Remove a service from the document.
178
+
179
+ #### Parameters
180
+
181
+ ##### serviceId
182
+
183
+ `string`
184
+
185
+ The id of the service.
186
+
187
+ ##### controller?
188
+
189
+ `string`
190
+
191
+ The controller of the identity who can make changes.
192
+
193
+ #### Returns
194
+
195
+ `Promise`\<`void`\>
196
+
197
+ Nothing.
198
+
199
+ #### Throws
200
+
201
+ NotFoundError if the id can not be resolved.
202
+
203
+ ***
204
+
205
+ ### verifiableCredentialCreate()
206
+
207
+ > **verifiableCredentialCreate**(`verificationMethodId`, `id`, `subject`, `revocationIndex`?, `controller`?): `Promise`\<\{ `verifiableCredential`: `IDidVerifiableCredential`; `jwt`: `string`; \}\>
208
+
209
+ Create a verifiable credential for a verification method.
210
+
211
+ #### Parameters
212
+
213
+ ##### verificationMethodId
214
+
215
+ `string`
216
+
217
+ The verification method id to use.
218
+
219
+ ##### id
220
+
221
+ The id of the credential.
222
+
223
+ `undefined` | `string`
224
+
225
+ ##### subject
226
+
227
+ `IJsonLdNodeObject`
228
+
229
+ The credential subject to store in the verifiable credential.
230
+
231
+ ##### revocationIndex?
232
+
233
+ `number`
234
+
235
+ The bitmap revocation index of the credential, if undefined will not have revocation status.
236
+
237
+ ##### controller?
238
+
239
+ `string`
240
+
241
+ The controller of the identity who can make changes.
242
+
243
+ #### Returns
244
+
245
+ `Promise`\<\{ `verifiableCredential`: `IDidVerifiableCredential`; `jwt`: `string`; \}\>
246
+
247
+ The created verifiable credential and its token.
248
+
249
+ #### Throws
250
+
251
+ NotFoundError if the id can not be resolved.
252
+
253
+ ***
254
+
255
+ ### verifiableCredentialVerify()
256
+
257
+ > **verifiableCredentialVerify**(`credentialJwt`): `Promise`\<\{ `revoked`: `boolean`; `verifiableCredential`: `IDidVerifiableCredential`; \}\>
258
+
259
+ Verify a verifiable credential is valid.
260
+
261
+ #### Parameters
262
+
263
+ ##### credentialJwt
264
+
265
+ `string`
266
+
267
+ The credential to verify.
268
+
269
+ #### Returns
270
+
271
+ `Promise`\<\{ `revoked`: `boolean`; `verifiableCredential`: `IDidVerifiableCredential`; \}\>
272
+
273
+ The credential stored in the jwt and the revocation status.
274
+
275
+ ***
276
+
277
+ ### verifiableCredentialRevoke()
278
+
279
+ > **verifiableCredentialRevoke**(`issuerId`, `credentialIndex`, `controller`?): `Promise`\<`void`\>
280
+
281
+ Revoke verifiable credential.
282
+
283
+ #### Parameters
284
+
285
+ ##### issuerId
286
+
287
+ `string`
288
+
289
+ The id of the document to update the revocation list for.
290
+
291
+ ##### credentialIndex
292
+
293
+ `number`
294
+
295
+ The revocation bitmap index revoke.
296
+
297
+ ##### controller?
298
+
299
+ `string`
300
+
301
+ The controller of the identity who can make changes.
302
+
303
+ #### Returns
304
+
305
+ `Promise`\<`void`\>
306
+
307
+ Nothing.
308
+
309
+ ***
310
+
311
+ ### verifiableCredentialUnrevoke()
312
+
313
+ > **verifiableCredentialUnrevoke**(`issuerId`, `credentialIndex`, `controller`?): `Promise`\<`void`\>
314
+
315
+ Unrevoke verifiable credential.
316
+
317
+ #### Parameters
318
+
319
+ ##### issuerId
320
+
321
+ `string`
322
+
323
+ The id of the document to update the revocation list for.
324
+
325
+ ##### credentialIndex
326
+
327
+ `number`
328
+
329
+ The revocation bitmap index to un revoke.
330
+
331
+ ##### controller?
332
+
333
+ `string`
334
+
335
+ The controller of the identity who can make changes.
336
+
337
+ #### Returns
338
+
339
+ `Promise`\<`void`\>
340
+
341
+ Nothing.
342
+
343
+ ***
344
+
345
+ ### verifiablePresentationCreate()
346
+
347
+ > **verifiablePresentationCreate**(`verificationMethodId`, `presentationId`, `contexts`, `types`, `verifiableCredentials`, `expiresInMinutes`?, `controller`?): `Promise`\<\{ `verifiablePresentation`: `IDidVerifiablePresentation`; `jwt`: `string`; \}\>
348
+
349
+ Create a verifiable presentation from the supplied verifiable credentials.
350
+
351
+ #### Parameters
352
+
353
+ ##### verificationMethodId
354
+
355
+ `string`
356
+
357
+ The method to associate with the presentation.
358
+
359
+ ##### presentationId
360
+
361
+ The id of the presentation.
362
+
363
+ `undefined` | `string`
364
+
365
+ ##### contexts
366
+
367
+ The contexts for the data stored in the verifiable credential.
368
+
369
+ `undefined` | `IJsonLdContextDefinitionRoot`
370
+
371
+ ##### types
372
+
373
+ The types for the data stored in the verifiable credential.
374
+
375
+ `undefined` | `string` | `string`[]
376
+
377
+ ##### verifiableCredentials
378
+
379
+ (`string` \| `IDidVerifiableCredential`)[]
380
+
381
+ The credentials to use for creating the presentation in jwt format.
382
+
383
+ ##### expiresInMinutes?
384
+
385
+ `number`
386
+
387
+ The time in minutes for the presentation to expire.
388
+
389
+ ##### controller?
390
+
391
+ `string`
392
+
393
+ The controller of the identity who can make changes.
394
+
395
+ #### Returns
396
+
397
+ `Promise`\<\{ `verifiablePresentation`: `IDidVerifiablePresentation`; `jwt`: `string`; \}\>
398
+
399
+ The created verifiable presentation and its token.
400
+
401
+ #### Throws
402
+
403
+ NotFoundError if the id can not be resolved.
404
+
405
+ ***
406
+
407
+ ### verifiablePresentationVerify()
408
+
409
+ > **verifiablePresentationVerify**(`presentationJwt`): `Promise`\<\{ `revoked`: `boolean`; `verifiablePresentation`: `IDidVerifiablePresentation`; `issuers`: `IDidDocument`[]; \}\>
410
+
411
+ Verify a verifiable presentation is valid.
412
+
413
+ #### Parameters
414
+
415
+ ##### presentationJwt
416
+
417
+ `string`
418
+
419
+ The presentation to verify.
420
+
421
+ #### Returns
422
+
423
+ `Promise`\<\{ `revoked`: `boolean`; `verifiablePresentation`: `IDidVerifiablePresentation`; `issuers`: `IDidDocument`[]; \}\>
424
+
425
+ The presentation stored in the jwt and the revocation status.
426
+
427
+ ***
428
+
429
+ ### proofCreate()
430
+
431
+ > **proofCreate**(`verificationMethodId`, `proofType`, `unsecureDocument`, `controller`?): `Promise`\<`IProof`\>
432
+
433
+ Create a proof for a document with the specified verification method.
434
+
435
+ #### Parameters
436
+
437
+ ##### verificationMethodId
438
+
439
+ `string`
440
+
441
+ The verification method id to use.
442
+
443
+ ##### proofType
444
+
445
+ `ProofTypes`
446
+
447
+ The type of proof to create.
448
+
449
+ ##### unsecureDocument
450
+
451
+ `IJsonLdNodeObject`
452
+
453
+ The unsecure document to create the proof for.
454
+
455
+ ##### controller?
456
+
457
+ `string`
458
+
459
+ The controller of the identity who can make changes.
460
+
461
+ #### Returns
462
+
463
+ `Promise`\<`IProof`\>
464
+
465
+ The proof.
466
+
467
+ ***
468
+
469
+ ### proofVerify()
470
+
471
+ > **proofVerify**(`document`, `proof`): `Promise`\<`boolean`\>
472
+
473
+ Verify proof for a document with the specified verification method.
474
+
475
+ #### Parameters
476
+
477
+ ##### document
478
+
479
+ `IJsonLdNodeObject`
480
+
481
+ The document to verify.
482
+
483
+ ##### proof
484
+
485
+ `IProof`
486
+
487
+ The proof to verify.
488
+
489
+ #### Returns
490
+
491
+ `Promise`\<`boolean`\>
492
+
493
+ True if the proof is verified.