@eudiplo/cli 7.0.1 → 7.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.
Files changed (44) hide show
  1. package/README.md +34 -3
  2. package/dist/config-validate/index.d.ts +4 -0
  3. package/dist/config-validate/index.d.ts.map +1 -0
  4. package/dist/config-validate/index.js +4 -0
  5. package/dist/config-validate/index.js.map +1 -0
  6. package/dist/config-validate/registry.d.ts +5 -0
  7. package/dist/config-validate/registry.d.ts.map +1 -0
  8. package/dist/config-validate/registry.js +8 -0
  9. package/dist/config-validate/registry.js.map +1 -0
  10. package/dist/config-validate/registry.json +138 -0
  11. package/dist/config-validate/report.d.ts +21 -0
  12. package/dist/config-validate/report.d.ts.map +1 -0
  13. package/dist/config-validate/report.js +78 -0
  14. package/dist/config-validate/report.js.map +1 -0
  15. package/dist/config-validate/schemas.d.ts +2 -0
  16. package/dist/config-validate/schemas.d.ts.map +1 -0
  17. package/dist/config-validate/schemas.js +24 -0
  18. package/dist/config-validate/schemas.js.map +1 -0
  19. package/dist/config-validate/types.d.ts +33 -0
  20. package/dist/config-validate/types.d.ts.map +1 -0
  21. package/dist/config-validate/types.js +2 -0
  22. package/dist/config-validate/types.js.map +1 -0
  23. package/dist/config-validate/validator.d.ts +4 -0
  24. package/dist/config-validate/validator.d.ts.map +1 -0
  25. package/dist/config-validate/validator.js +185 -0
  26. package/dist/config-validate/validator.js.map +1 -0
  27. package/dist/runtime.d.ts.map +1 -1
  28. package/dist/runtime.js +34 -1
  29. package/dist/runtime.js.map +1 -1
  30. package/package.json +5 -2
  31. package/templates/demo-config/issuance/status-lists/pid.json +1 -1
  32. package/templates/schemas/CreateAttributeProviderDto.schema.json +99 -0
  33. package/templates/schemas/CreateClientDto.schema.json +76 -0
  34. package/templates/schemas/CreateRegistrarConfigDto.schema.json +61 -0
  35. package/templates/schemas/CreateWebhookEndpointDto.schema.json +99 -0
  36. package/templates/schemas/CredentialConfigCreate.schema.json +673 -0
  37. package/templates/schemas/ImportTenantDto.schema.json +24 -0
  38. package/templates/schemas/IssuanceConfig.schema.json +492 -0
  39. package/templates/schemas/KeyChainImportDto.schema.json +111 -0
  40. package/templates/schemas/KmsConfigDto.schema.json +990 -0
  41. package/templates/schemas/PresentationConfigCreateDto.schema.json +627 -0
  42. package/templates/schemas/StatusListImportDto.schema.json +61 -0
  43. package/templates/schemas/TrustListCreateDto.schema.json +191 -0
  44. package/templates/schemas.manifest.json +14 -0
@@ -0,0 +1,673 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "id": {
6
+ "type": "string",
7
+ "minLength": 1,
8
+ "description": "Credential configuration identifier."
9
+ },
10
+ "description": {
11
+ "description": "Optional description for operators and tooling.",
12
+ "anyOf": [
13
+ {
14
+ "type": "string"
15
+ },
16
+ {
17
+ "type": "null"
18
+ }
19
+ ]
20
+ },
21
+ "config": {
22
+ "type": "object",
23
+ "properties": {
24
+ "format": {
25
+ "type": "string",
26
+ "enum": [
27
+ "mso_mdoc",
28
+ "dc+sd-jwt"
29
+ ],
30
+ "description": "Credential format emitted by this configuration."
31
+ },
32
+ "display": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "object",
36
+ "properties": {
37
+ "locale": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "description": "Locale tag for the display entry."
41
+ },
42
+ "name": {
43
+ "type": "string",
44
+ "minLength": 1,
45
+ "description": "Human-readable field name."
46
+ },
47
+ "description": {
48
+ "description": "Optional field description for this locale.",
49
+ "type": "string"
50
+ },
51
+ "background_color": {
52
+ "description": "Optional background color for card-style rendering.",
53
+ "type": "string"
54
+ },
55
+ "text_color": {
56
+ "description": "Optional text color for card-style rendering.",
57
+ "type": "string"
58
+ },
59
+ "background_image": {
60
+ "description": "Optional background image.",
61
+ "type": "object",
62
+ "properties": {
63
+ "uri": {
64
+ "type": "string",
65
+ "minLength": 1,
66
+ "description": "Image URI."
67
+ }
68
+ },
69
+ "required": [
70
+ "uri"
71
+ ],
72
+ "additionalProperties": false
73
+ },
74
+ "logo": {
75
+ "description": "Optional logo image.",
76
+ "type": "object",
77
+ "properties": {
78
+ "uri": {
79
+ "type": "string",
80
+ "minLength": 1,
81
+ "description": "Image URI."
82
+ }
83
+ },
84
+ "required": [
85
+ "uri"
86
+ ],
87
+ "additionalProperties": false
88
+ }
89
+ },
90
+ "required": [
91
+ "locale",
92
+ "name"
93
+ ],
94
+ "additionalProperties": false
95
+ },
96
+ "description": "Display metadata shown by wallets."
97
+ },
98
+ "scope": {
99
+ "description": "Optional OAuth scope associated with this credential type.",
100
+ "type": "string"
101
+ },
102
+ "docType": {
103
+ "description": "Optional mDoc document type.",
104
+ "type": "string"
105
+ },
106
+ "keyAttestationsRequired": {
107
+ "description": "Optional key attestation requirements.",
108
+ "type": "object",
109
+ "properties": {
110
+ "key_storage": {
111
+ "description": "Required key storage attestations.",
112
+ "type": "array",
113
+ "items": {
114
+ "type": "string"
115
+ }
116
+ },
117
+ "user_authentication": {
118
+ "description": "Required user authentication attestations.",
119
+ "type": "array",
120
+ "items": {
121
+ "type": "string"
122
+ }
123
+ }
124
+ },
125
+ "additionalProperties": false
126
+ },
127
+ "proofTypesSupported": {
128
+ "description": "Supported proof types for issuance requests.",
129
+ "type": "array",
130
+ "items": {
131
+ "type": "string",
132
+ "enum": [
133
+ "jwt",
134
+ "attestation"
135
+ ]
136
+ }
137
+ }
138
+ },
139
+ "required": [
140
+ "format",
141
+ "display"
142
+ ],
143
+ "additionalProperties": false,
144
+ "description": "Issuer metadata-facing credential configuration."
145
+ },
146
+ "fields": {
147
+ "type": "array",
148
+ "items": {
149
+ "$ref": "#/$defs/__schema0"
150
+ },
151
+ "description": "Claim field definitions for credential issuance."
152
+ },
153
+ "attributeProviderId": {
154
+ "description": "Optional attribute provider id used to resolve claim values.",
155
+ "anyOf": [
156
+ {
157
+ "type": "string"
158
+ },
159
+ {
160
+ "type": "null"
161
+ }
162
+ ]
163
+ },
164
+ "webhookEndpointId": {
165
+ "description": "Optional webhook endpoint id notified during issuance events.",
166
+ "anyOf": [
167
+ {
168
+ "type": "string"
169
+ },
170
+ {
171
+ "type": "null"
172
+ }
173
+ ]
174
+ },
175
+ "vct": {
176
+ "description": "Optional VCT value or structured VCT metadata.",
177
+ "anyOf": [
178
+ {
179
+ "type": "string"
180
+ },
181
+ {
182
+ "type": "object",
183
+ "properties": {
184
+ "vct": {
185
+ "description": "VCT identifier.",
186
+ "type": "string"
187
+ },
188
+ "name": {
189
+ "description": "Human-readable VCT name.",
190
+ "type": "string"
191
+ },
192
+ "description": {
193
+ "description": "Optional VCT description.",
194
+ "type": "string"
195
+ },
196
+ "extends": {
197
+ "description": "Optional base VCT reference.",
198
+ "type": "string"
199
+ },
200
+ "extends#integrity": {
201
+ "description": "Integrity hash for the extends reference.",
202
+ "type": "string"
203
+ },
204
+ "schema_uri": {
205
+ "description": "Optional schema URI for the VCT.",
206
+ "type": "string"
207
+ },
208
+ "schema_uri#integrity": {
209
+ "description": "Integrity hash for schema_uri.",
210
+ "type": "string"
211
+ }
212
+ },
213
+ "additionalProperties": false
214
+ },
215
+ {
216
+ "type": "null"
217
+ }
218
+ ]
219
+ },
220
+ "keyBinding": {
221
+ "description": "Enable key binding requirements.",
222
+ "type": "boolean"
223
+ },
224
+ "keyChainId": {
225
+ "description": "Optional key chain id used for credential signing.",
226
+ "type": "string",
227
+ "minLength": 1
228
+ },
229
+ "statusManagement": {
230
+ "description": "Enable status management for issued credentials.",
231
+ "type": "boolean"
232
+ },
233
+ "iaeActions": {
234
+ "description": "Optional in-app experience actions for wallet flows.",
235
+ "anyOf": [
236
+ {
237
+ "type": "array",
238
+ "items": {
239
+ "oneOf": [
240
+ {
241
+ "type": "object",
242
+ "properties": {
243
+ "type": {
244
+ "type": "string",
245
+ "const": "openid4vp_presentation",
246
+ "description": "Trigger an OpenID4VP presentation action."
247
+ },
248
+ "label": {
249
+ "description": "Optional UI label for the action.",
250
+ "type": "string"
251
+ },
252
+ "presentationConfigId": {
253
+ "type": "string",
254
+ "minLength": 1,
255
+ "description": "Presentation configuration id to execute."
256
+ }
257
+ },
258
+ "required": [
259
+ "type",
260
+ "presentationConfigId"
261
+ ],
262
+ "additionalProperties": false
263
+ },
264
+ {
265
+ "type": "object",
266
+ "properties": {
267
+ "type": {
268
+ "type": "string",
269
+ "const": "redirect_to_web",
270
+ "description": "Trigger a redirect-to-web action."
271
+ },
272
+ "label": {
273
+ "description": "Optional UI label for the action.",
274
+ "type": "string"
275
+ },
276
+ "url": {
277
+ "type": "string",
278
+ "format": "uri",
279
+ "description": "Destination URL for the redirect action."
280
+ },
281
+ "callbackUrl": {
282
+ "description": "Optional callback URL after redirect completion.",
283
+ "type": "string",
284
+ "format": "uri"
285
+ },
286
+ "description": {
287
+ "description": "Optional action description.",
288
+ "type": "string"
289
+ }
290
+ },
291
+ "required": [
292
+ "type",
293
+ "url"
294
+ ],
295
+ "additionalProperties": false
296
+ }
297
+ ],
298
+ "description": "In-app experience action definitions."
299
+ }
300
+ },
301
+ {
302
+ "type": "null"
303
+ }
304
+ ]
305
+ },
306
+ "sdJwtTrustFormat": {
307
+ "description": "Trust format used for SD-JWT verification metadata.",
308
+ "anyOf": [
309
+ {
310
+ "type": "string",
311
+ "enum": [
312
+ "x5c",
313
+ "federation"
314
+ ]
315
+ },
316
+ {
317
+ "type": "null"
318
+ }
319
+ ]
320
+ },
321
+ "lifeTime": {
322
+ "description": "Credential lifetime in seconds.",
323
+ "type": "integer",
324
+ "minimum": 1,
325
+ "maximum": 9007199254740991
326
+ },
327
+ "schemaMeta": {
328
+ "description": "Optional schema metadata and trust bindings.",
329
+ "anyOf": [
330
+ {
331
+ "type": "object",
332
+ "properties": {
333
+ "id": {
334
+ "description": "Optional schema metadata identifier.",
335
+ "type": "string"
336
+ },
337
+ "name": {
338
+ "description": "Optional schema metadata name.",
339
+ "type": "string"
340
+ },
341
+ "version": {
342
+ "type": "string",
343
+ "description": "Schema metadata version."
344
+ },
345
+ "rulebookURI": {
346
+ "description": "Optional rulebook URI reference.",
347
+ "type": "string"
348
+ },
349
+ "attestationLoS": {
350
+ "type": "string",
351
+ "enum": [
352
+ "iso_18045_high",
353
+ "iso_18045_moderate",
354
+ "iso_18045_enhanced-basic",
355
+ "iso_18045_basic"
356
+ ],
357
+ "description": "Assurance level for attestation requirements."
358
+ },
359
+ "bindingType": {
360
+ "type": "string",
361
+ "enum": [
362
+ "claim",
363
+ "key",
364
+ "biometric",
365
+ "none"
366
+ ],
367
+ "description": "Subject binding type."
368
+ },
369
+ "schemaURIs": {
370
+ "description": "Optional schema URI entries.",
371
+ "type": "array",
372
+ "items": {
373
+ "type": "object",
374
+ "properties": {
375
+ "credentialConfigId": {
376
+ "description": "Optional credential configuration id this schema URI applies to.",
377
+ "type": "string"
378
+ },
379
+ "format": {
380
+ "description": "Optional credential format for this schema URI.",
381
+ "type": "string"
382
+ },
383
+ "uri": {
384
+ "description": "Schema URI reference.",
385
+ "type": "string"
386
+ },
387
+ "meta": {
388
+ "description": "Optional metadata attached to the schema URI.",
389
+ "type": "object",
390
+ "propertyNames": {
391
+ "type": "string"
392
+ },
393
+ "additionalProperties": {}
394
+ }
395
+ },
396
+ "additionalProperties": false
397
+ }
398
+ },
399
+ "trustedAuthorities": {
400
+ "description": "Optional trusted authority entries.",
401
+ "type": "array",
402
+ "items": {
403
+ "type": "object",
404
+ "properties": {
405
+ "trustListId": {
406
+ "description": "Optional trust list id.",
407
+ "type": "string"
408
+ },
409
+ "frameworkType": {
410
+ "description": "Trust framework type.",
411
+ "type": "string",
412
+ "enum": [
413
+ "aki",
414
+ "etsi_tl",
415
+ "openid_federation"
416
+ ]
417
+ },
418
+ "value": {
419
+ "description": "Framework-specific authority value.",
420
+ "type": "string"
421
+ },
422
+ "verificationMethod": {
423
+ "description": "Verification method descriptor.",
424
+ "anyOf": [
425
+ {
426
+ "type": "object",
427
+ "propertyNames": {
428
+ "type": "string"
429
+ },
430
+ "additionalProperties": {}
431
+ },
432
+ {
433
+ "type": "string"
434
+ }
435
+ ]
436
+ }
437
+ },
438
+ "additionalProperties": false
439
+ }
440
+ }
441
+ },
442
+ "required": [
443
+ "version",
444
+ "attestationLoS",
445
+ "bindingType"
446
+ ],
447
+ "additionalProperties": false
448
+ },
449
+ {
450
+ "type": "null"
451
+ }
452
+ ]
453
+ },
454
+ "embeddedDisclosurePolicy": {
455
+ "description": "Optional embedded disclosure policy.",
456
+ "anyOf": [
457
+ {
458
+ "oneOf": [
459
+ {
460
+ "type": "object",
461
+ "properties": {
462
+ "policy": {
463
+ "type": "string",
464
+ "const": "attestationBased",
465
+ "description": "Attestation-based policy discriminator."
466
+ },
467
+ "values": {
468
+ "type": "array",
469
+ "items": {
470
+ "type": "object",
471
+ "properties": {
472
+ "claims": {
473
+ "description": "Claims constraints considered by policy evaluation.",
474
+ "type": "array",
475
+ "items": {}
476
+ },
477
+ "credentials": {
478
+ "type": "array",
479
+ "items": {},
480
+ "description": "Credential constraints considered by policy evaluation."
481
+ },
482
+ "credential_sets": {
483
+ "description": "Optional credential set constraints.",
484
+ "type": "array",
485
+ "items": {}
486
+ }
487
+ },
488
+ "required": [
489
+ "credentials"
490
+ ],
491
+ "additionalProperties": false
492
+ },
493
+ "description": "Attestation requirements used for policy enforcement."
494
+ }
495
+ },
496
+ "required": [
497
+ "policy",
498
+ "values"
499
+ ],
500
+ "additionalProperties": false
501
+ },
502
+ {
503
+ "type": "object",
504
+ "properties": {
505
+ "policy": {
506
+ "type": "string",
507
+ "const": "none",
508
+ "description": "No disclosure policy enforcement."
509
+ }
510
+ },
511
+ "required": [
512
+ "policy"
513
+ ],
514
+ "additionalProperties": false
515
+ },
516
+ {
517
+ "type": "object",
518
+ "properties": {
519
+ "policy": {
520
+ "type": "string",
521
+ "const": "allowList",
522
+ "description": "Allow-list based policy discriminator."
523
+ },
524
+ "values": {
525
+ "type": "array",
526
+ "items": {
527
+ "type": "string"
528
+ },
529
+ "description": "Allowed values for policy checks."
530
+ }
531
+ },
532
+ "required": [
533
+ "policy",
534
+ "values"
535
+ ],
536
+ "additionalProperties": false
537
+ },
538
+ {
539
+ "type": "object",
540
+ "properties": {
541
+ "policy": {
542
+ "type": "string",
543
+ "const": "rootOfTrust",
544
+ "description": "Root-of-trust policy discriminator."
545
+ },
546
+ "values": {
547
+ "type": "string",
548
+ "description": "Root-of-trust identifier or reference."
549
+ }
550
+ },
551
+ "required": [
552
+ "policy",
553
+ "values"
554
+ ],
555
+ "additionalProperties": false
556
+ }
557
+ ],
558
+ "description": "Embedded disclosure policy configuration."
559
+ },
560
+ {
561
+ "type": "null"
562
+ }
563
+ ]
564
+ }
565
+ },
566
+ "required": [
567
+ "id",
568
+ "config",
569
+ "fields"
570
+ ],
571
+ "additionalProperties": false,
572
+ "$defs": {
573
+ "__schema0": {
574
+ "type": "object",
575
+ "properties": {
576
+ "path": {
577
+ "type": "array",
578
+ "items": {
579
+ "anyOf": [
580
+ {
581
+ "type": "string"
582
+ },
583
+ {
584
+ "type": "number"
585
+ },
586
+ {
587
+ "type": "null"
588
+ }
589
+ ]
590
+ },
591
+ "description": "Path to this claim inside the credential payload."
592
+ },
593
+ "type": {
594
+ "type": "string",
595
+ "enum": [
596
+ "string",
597
+ "number",
598
+ "integer",
599
+ "boolean",
600
+ "object",
601
+ "array"
602
+ ],
603
+ "description": "Data type of the claim value."
604
+ },
605
+ "defaultValue": {
606
+ "description": "Optional default value for this field."
607
+ },
608
+ "mandatory": {
609
+ "description": "Whether the field is required at issuance time.",
610
+ "type": "boolean"
611
+ },
612
+ "disclosable": {
613
+ "description": "Whether the claim is selectively disclosable.",
614
+ "type": "boolean"
615
+ },
616
+ "namespace": {
617
+ "description": "Optional namespace for claim grouping.",
618
+ "type": "string"
619
+ },
620
+ "display": {
621
+ "description": "Localized display metadata for this field.",
622
+ "type": "array",
623
+ "items": {
624
+ "type": "object",
625
+ "properties": {
626
+ "locale": {
627
+ "type": "string",
628
+ "minLength": 1,
629
+ "description": "Locale tag for the display entry."
630
+ },
631
+ "name": {
632
+ "type": "string",
633
+ "minLength": 1,
634
+ "description": "Human-readable field name."
635
+ },
636
+ "description": {
637
+ "description": "Optional field description for this locale.",
638
+ "type": "string"
639
+ }
640
+ },
641
+ "required": [
642
+ "locale",
643
+ "name"
644
+ ],
645
+ "additionalProperties": false
646
+ }
647
+ },
648
+ "constraints": {
649
+ "description": "Optional validation constraints for the claim value.",
650
+ "type": "object",
651
+ "propertyNames": {
652
+ "type": "string"
653
+ },
654
+ "additionalProperties": {}
655
+ },
656
+ "children": {
657
+ "description": "Nested child claim definitions for object or array fields.",
658
+ "type": "array",
659
+ "items": {
660
+ "$ref": "#/$defs/__schema0"
661
+ }
662
+ }
663
+ },
664
+ "required": [
665
+ "path",
666
+ "type"
667
+ ],
668
+ "additionalProperties": false
669
+ }
670
+ },
671
+ "$id": "./CredentialConfigCreate.schema.json",
672
+ "title": "CredentialConfigCreate"
673
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "name": {
6
+ "default": "EUDIPLO",
7
+ "description": "Display name of the tenant.",
8
+ "type": "string",
9
+ "minLength": 1
10
+ },
11
+ "description": {
12
+ "description": "Optional tenant description.",
13
+ "type": "string",
14
+ "minLength": 1
15
+ }
16
+ },
17
+ "required": [
18
+ "name"
19
+ ],
20
+ "additionalProperties": false,
21
+ "description": "Payload used when importing tenant metadata from config files.",
22
+ "$id": "./ImportTenantDto.schema.json",
23
+ "title": "ImportTenantDto"
24
+ }