@eudiplo/cli 9.1.0-main.a601cfe → 9.1.0-main.a78cbb4

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 (46) hide show
  1. package/dist/commands/config/portability/migrations.spec.js +2 -1
  2. package/dist/commands/config/portability/migrations.spec.js.map +1 -1
  3. package/dist/commands/config/portability/upgrade.d.ts.map +1 -1
  4. package/dist/commands/config/portability/upgrade.js +2 -7
  5. package/dist/commands/config/portability/upgrade.js.map +1 -1
  6. package/dist/commands/config/tenant/action.d.ts.map +1 -1
  7. package/dist/commands/config/tenant/action.js +3 -2
  8. package/dist/commands/config/tenant/action.js.map +1 -1
  9. package/dist/commands/config/validate/registry.json +11 -0
  10. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  11. package/dist/commands/config/validate/validator.js +26 -3
  12. package/dist/commands/config/validate/validator.js.map +1 -1
  13. package/dist/index.js +19459 -7937
  14. package/dist/services/compose-project.d.ts +6 -0
  15. package/dist/services/compose-project.d.ts.map +1 -1
  16. package/dist/services/compose-project.js +13 -2
  17. package/dist/services/compose-project.js.map +1 -1
  18. package/package.json +4 -4
  19. package/templates/demo-config/info.json +1 -1
  20. package/templates/demo-config/issuance/credentials/citizen.json +1 -1
  21. package/templates/demo-config/issuance/credentials/pid-key.json +1 -1
  22. package/templates/demo-config/issuance/credentials/pid-mdoc.json +1 -1
  23. package/templates/demo-config/issuance/credentials/pid.json +1 -1
  24. package/templates/demo-config/issuance/issuance.json +1 -1
  25. package/templates/demo-config/key-chains/access.json +1 -1
  26. package/templates/demo-config/key-chains/attestation.json +1 -1
  27. package/templates/demo-config/key-chains/status-list.json +1 -1
  28. package/templates/demo-config/key-chains/trust-list.json +1 -1
  29. package/templates/demo-config/presentation/age-over-18.json +1 -1
  30. package/templates/demo-config/presentation/pid.json +1 -1
  31. package/templates/docker-compose.yml +2 -2
  32. package/templates/schemas/CreateTenantDto.schema.json +2 -2
  33. package/templates/schemas/CredentialConfigCreate.schema.json +246 -14
  34. package/templates/schemas/CredentialConfigFile.schema.json +1823 -1
  35. package/templates/schemas/ImportTenantDto.schema.json +0 -12
  36. package/templates/schemas/IssuanceConfig.schema.json +3 -8
  37. package/templates/schemas/IssuanceConfigFile.schema.json +814 -1
  38. package/templates/schemas/KeyChainConfigFile.schema.json +371 -1
  39. package/templates/schemas/KeyChainCreateDto.schema.json +1 -0
  40. package/templates/schemas/KeyChainDefaultsConfigFile.schema.json +123 -0
  41. package/templates/schemas/KeyChainImportDto.schema.json +1 -0
  42. package/templates/schemas/PresentationConfigCreateDto.schema.json +16 -0
  43. package/templates/schemas/PresentationConfigFile.schema.json +746 -1
  44. package/templates/schemas/TenantConfigFile.schema.json +139 -25
  45. package/templates/schemas/UpdateTenantDto.schema.json +0 -20
  46. package/templates/schemas.manifest.json +1 -0
@@ -9,7 +9,7 @@
9
9
  "properties": {
10
10
  "$schema": {
11
11
  "type": "string",
12
- "const": "https://eudiplo.dev/schemas/v3/TenantConfigFile.schema.json"
12
+ "const": "https://eudiplo.dev/schemas/v4/TenantConfigFile.schema.json"
13
13
  },
14
14
  "metadata": {
15
15
  "type": "object",
@@ -111,18 +111,6 @@
111
111
  }
112
112
  },
113
113
  "additionalProperties": false
114
- },
115
- "defaultKeyChains": {
116
- "type": "object",
117
- "properties": {
118
- "access": {
119
- "description": "ID of the access key chain used where no configuration names one: presentation requests of configurations without accessKeyChainId and the signed issuer metadata. Without it, EUDIPLO picks one of the tenant's access key chains by rule.",
120
- "type": "string",
121
- "minLength": 1
122
- }
123
- },
124
- "additionalProperties": false,
125
- "description": "The tenant's key chain per usage type, used where no configuration names one. A usage type without an entry uses a key chain picked by rule."
126
114
  }
127
115
  },
128
116
  "required": [
@@ -396,6 +384,144 @@
396
384
  ],
397
385
  "additionalProperties": false
398
386
  },
387
+ {
388
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
389
+ "$id": "https://eudiplo.dev/schemas/v3/TenantConfigFile.schema.json",
390
+ "title": "TenantConfigFile",
391
+ "type": "object",
392
+ "properties": {
393
+ "$schema": {
394
+ "type": "string",
395
+ "const": "https://eudiplo.dev/schemas/v3/TenantConfigFile.schema.json"
396
+ },
397
+ "metadata": {
398
+ "type": "object",
399
+ "properties": {
400
+ "generation": {
401
+ "type": "integer",
402
+ "minimum": 1,
403
+ "maximum": 9007199254740991
404
+ },
405
+ "ownership": {
406
+ "type": "string",
407
+ "enum": [
408
+ "unmanaged",
409
+ "file-managed"
410
+ ]
411
+ }
412
+ },
413
+ "additionalProperties": false
414
+ },
415
+ "spec": {
416
+ "type": "object",
417
+ "properties": {
418
+ "name": {
419
+ "default": "EUDIPLO",
420
+ "description": "Display name of the tenant.",
421
+ "type": "string",
422
+ "minLength": 1
423
+ },
424
+ "description": {
425
+ "description": "Optional tenant description.",
426
+ "type": "string",
427
+ "minLength": 1
428
+ },
429
+ "sessionConfig": {
430
+ "description": "Optional tenant-specific session storage configuration.",
431
+ "type": "object",
432
+ "properties": {
433
+ "ttlSeconds": {
434
+ "description": "Session time-to-live in seconds.",
435
+ "type": "integer",
436
+ "minimum": 60,
437
+ "maximum": 9007199254740991
438
+ },
439
+ "cleanupMode": {
440
+ "description": "Whether to fully delete or anonymize expired sessions.",
441
+ "type": "string",
442
+ "enum": [
443
+ "full",
444
+ "anonymize"
445
+ ]
446
+ }
447
+ },
448
+ "additionalProperties": false
449
+ },
450
+ "statusListConfig": {
451
+ "description": "Optional tenant-specific status list defaults.",
452
+ "type": "object",
453
+ "properties": {
454
+ "capacity": {
455
+ "description": "Default status list capacity.",
456
+ "type": "integer",
457
+ "minimum": 100,
458
+ "maximum": 9007199254740991
459
+ },
460
+ "bits": {
461
+ "description": "Bits-per-status setting (1, 2, 4, or 8).",
462
+ "anyOf": [
463
+ {
464
+ "type": "number",
465
+ "const": 1
466
+ },
467
+ {
468
+ "type": "number",
469
+ "const": 2
470
+ },
471
+ {
472
+ "type": "number",
473
+ "const": 4
474
+ },
475
+ {
476
+ "type": "number",
477
+ "const": 8
478
+ }
479
+ ]
480
+ },
481
+ "ttl": {
482
+ "description": "JWT TTL for status list tokens in seconds.",
483
+ "type": "integer",
484
+ "minimum": 60,
485
+ "maximum": 9007199254740991
486
+ },
487
+ "immediateUpdate": {
488
+ "description": "Regenerate status list JWTs immediately after status updates.",
489
+ "type": "boolean"
490
+ },
491
+ "enableAggregation": {
492
+ "description": "Include aggregation_uri in generated status list JWTs.",
493
+ "type": "boolean"
494
+ }
495
+ },
496
+ "additionalProperties": false
497
+ },
498
+ "defaultKeyChains": {
499
+ "type": "object",
500
+ "properties": {
501
+ "access": {
502
+ "description": "ID of the access key chain used where no configuration names one: presentation requests of configurations without accessKeyChainId and the signed issuer metadata. Without it, EUDIPLO picks one of the tenant's access key chains by rule.",
503
+ "type": "string",
504
+ "minLength": 1
505
+ }
506
+ },
507
+ "additionalProperties": false,
508
+ "description": "The tenant's key chain per usage type, used where no configuration names one. A usage type without an entry uses a key chain picked by rule."
509
+ }
510
+ },
511
+ "required": [
512
+ "name"
513
+ ],
514
+ "additionalProperties": false,
515
+ "description": "Payload used when importing tenant metadata from config files."
516
+ }
517
+ },
518
+ "required": [
519
+ "$schema",
520
+ "metadata",
521
+ "spec"
522
+ ],
523
+ "additionalProperties": false
524
+ },
399
525
  {
400
526
  "type": "object",
401
527
  "properties": {
@@ -478,18 +604,6 @@
478
604
  }
479
605
  },
480
606
  "additionalProperties": false
481
- },
482
- "defaultKeyChains": {
483
- "type": "object",
484
- "properties": {
485
- "access": {
486
- "description": "ID of the access key chain used where no configuration names one: presentation requests of configurations without accessKeyChainId and the signed issuer metadata. Without it, EUDIPLO picks one of the tenant's access key chains by rule.",
487
- "type": "string",
488
- "minLength": 1
489
- }
490
- },
491
- "additionalProperties": false,
492
- "description": "The tenant's key chain per usage type, used where no configuration names one. A usage type without an entry uses a key chain picked by rule."
493
607
  }
494
608
  },
495
609
  "required": [
@@ -87,26 +87,6 @@
87
87
  }
88
88
  },
89
89
  "additionalProperties": false
90
- },
91
- "defaultKeyChains": {
92
- "description": "The tenant's key chain per usage type, used where no configuration names one. Replaces the stored entries; omit to keep them, or set to null to remove them.",
93
- "anyOf": [
94
- {
95
- "type": "object",
96
- "properties": {
97
- "access": {
98
- "description": "ID of the access key chain used where no configuration names one: presentation requests of configurations without accessKeyChainId and the signed issuer metadata. Without it, EUDIPLO picks one of the tenant's access key chains by rule.",
99
- "type": "string",
100
- "minLength": 1
101
- }
102
- },
103
- "additionalProperties": false,
104
- "description": "The tenant's key chain per usage type, used where no configuration names one. A usage type without an entry uses a key chain picked by rule."
105
- },
106
- {
107
- "type": "null"
108
- }
109
- ]
110
90
  }
111
91
  },
112
92
  "additionalProperties": false,
@@ -21,6 +21,7 @@
21
21
  "IssuanceConfigFile.schema.json",
22
22
  "KeyChainConfigFile.schema.json",
23
23
  "KeyChainCreateDto.schema.json",
24
+ "KeyChainDefaultsConfigFile.schema.json",
24
25
  "KeyChainImportDto.schema.json",
25
26
  "KeyChainUpdateDto.schema.json",
26
27
  "KmsConfigDto.schema.json",