@eudiplo/cli 9.1.0-main.96e66fb → 9.1.0-main.992b1e0

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 (102) hide show
  1. package/dist/commands/completion/action.js +3 -1
  2. package/dist/commands/completion/action.js.map +1 -1
  3. package/dist/commands/config/portability/migrations.spec.js +5 -2
  4. package/dist/commands/config/portability/migrations.spec.js.map +1 -1
  5. package/dist/commands/config/portability/upgrade.d.ts.map +1 -1
  6. package/dist/commands/config/portability/upgrade.js +7 -8
  7. package/dist/commands/config/portability/upgrade.js.map +1 -1
  8. package/dist/commands/config/tenant/action.d.ts.map +1 -1
  9. package/dist/commands/config/tenant/action.js +3 -2
  10. package/dist/commands/config/tenant/action.js.map +1 -1
  11. package/dist/commands/config/validate/action.d.ts.map +1 -1
  12. package/dist/commands/config/validate/action.js +2 -1
  13. package/dist/commands/config/validate/action.js.map +1 -1
  14. package/dist/commands/config/validate/registry.json +21 -0
  15. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  16. package/dist/commands/config/validate/validator.js +26 -3
  17. package/dist/commands/config/validate/validator.js.map +1 -1
  18. package/dist/commands/init/action.d.ts.map +1 -1
  19. package/dist/commands/init/action.js +1 -11
  20. package/dist/commands/init/action.js.map +1 -1
  21. package/dist/commands/instance/action.d.ts +2 -0
  22. package/dist/commands/instance/action.d.ts.map +1 -1
  23. package/dist/commands/instance/action.js +68 -12
  24. package/dist/commands/instance/action.js.map +1 -1
  25. package/dist/commands/instance/index.d.ts.map +1 -1
  26. package/dist/commands/instance/index.js +21 -3
  27. package/dist/commands/instance/index.js.map +1 -1
  28. package/dist/commands/open/action.d.ts.map +1 -1
  29. package/dist/commands/open/action.js +13 -2
  30. package/dist/commands/open/action.js.map +1 -1
  31. package/dist/commands/status/action.d.ts.map +1 -1
  32. package/dist/commands/status/action.js +2 -1
  33. package/dist/commands/status/action.js.map +1 -1
  34. package/dist/index.js +22585 -5563
  35. package/dist/services/api-auth.d.ts.map +1 -1
  36. package/dist/services/api-auth.js +3 -2
  37. package/dist/services/api-auth.js.map +1 -1
  38. package/dist/services/browser.d.ts.map +1 -1
  39. package/dist/services/browser.js +3 -2
  40. package/dist/services/browser.js.map +1 -1
  41. package/dist/services/cli-config.d.ts +41 -1
  42. package/dist/services/cli-config.d.ts.map +1 -1
  43. package/dist/services/cli-config.js +217 -29
  44. package/dist/services/cli-config.js.map +1 -1
  45. package/dist/services/compose-project.d.ts +6 -0
  46. package/dist/services/compose-project.d.ts.map +1 -1
  47. package/dist/services/compose-project.js +13 -2
  48. package/dist/services/compose-project.js.map +1 -1
  49. package/dist/services/diagnostics.d.ts.map +1 -1
  50. package/dist/services/diagnostics.js +9 -8
  51. package/dist/services/diagnostics.js.map +1 -1
  52. package/dist/services/instance-selection.d.ts.map +1 -1
  53. package/dist/services/instance-selection.js +2 -5
  54. package/dist/services/instance-selection.js.map +1 -1
  55. package/dist/services/url.d.ts +21 -0
  56. package/dist/services/url.d.ts.map +1 -0
  57. package/dist/services/url.js +61 -0
  58. package/dist/services/url.js.map +1 -0
  59. package/package.json +6 -5
  60. package/templates/demo-config/clients/presentation-test.json +1 -1
  61. package/templates/demo-config/clients/test.json +7 -2
  62. package/templates/demo-config/info.json +1 -1
  63. package/templates/demo-config/issuance/credentials/citizen.json +1 -1
  64. package/templates/demo-config/issuance/credentials/pid-key.json +1 -1
  65. package/templates/demo-config/issuance/credentials/pid-mdoc.json +1 -1
  66. package/templates/demo-config/issuance/credentials/pid.json +1 -1
  67. package/templates/demo-config/issuance/issuance.json +1 -1
  68. package/templates/demo-config/key-chains/access.json +1 -1
  69. package/templates/demo-config/key-chains/attestation.json +3 -2
  70. package/templates/demo-config/key-chains/status-list.json +6 -5
  71. package/templates/demo-config/key-chains/trust-list.json +1 -1
  72. package/templates/demo-config/presentation/age-over-18.json +1 -1
  73. package/templates/demo-config/presentation/pid.json +1 -1
  74. package/templates/demo-config/trust-lists/trustlist-580831bc-ef11-43f4-a3be-a2b6bf1b29a3-config.json +1 -1
  75. package/templates/docker-compose.yml +2 -2
  76. package/templates/schemas/ClientConfigFile.schema.json +134 -1
  77. package/templates/schemas/CreateClientDto.schema.json +5 -1
  78. package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
  79. package/templates/schemas/CreateRegistrarConfigDto.schema.json +29 -0
  80. package/templates/schemas/CreateTenantDto.schema.json +8 -4
  81. package/templates/schemas/CredentialConfigCreate.schema.json +246 -14
  82. package/templates/schemas/CredentialConfigFile.schema.json +1823 -1
  83. package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
  84. package/templates/schemas/IssuanceConfig.schema.json +122 -9
  85. package/templates/schemas/IssuanceConfigFile.schema.json +2247 -1
  86. package/templates/schemas/KeyChainConfigFile.schema.json +875 -119
  87. package/templates/schemas/KeyChainCreateDto.schema.json +12 -1
  88. package/templates/schemas/KeyChainDefaultsConfigFile.schema.json +123 -0
  89. package/templates/schemas/KeyChainImportDto.schema.json +10 -0
  90. package/templates/schemas/KmsConfigDto.schema.json +186 -0
  91. package/templates/schemas/KmsConfigFile.schema.json +1026 -1
  92. package/templates/schemas/PresentationConfigCreateDto.schema.json +16 -0
  93. package/templates/schemas/PresentationConfigFile.schema.json +746 -1
  94. package/templates/schemas/RegistrarConfigFile.schema.json +101 -1
  95. package/templates/schemas/RotationPolicyCreateDto.schema.json +1 -1
  96. package/templates/schemas/TenantConfigFile.schema.json +334 -64
  97. package/templates/schemas/TrustListConfigFile.schema.json +263 -1
  98. package/templates/schemas/TrustListCreateDto.schema.json +524 -16
  99. package/templates/schemas/UpdateClientDto.schema.json +5 -1
  100. package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
  101. package/templates/schemas/UpdateStatusListConfigDto.schema.json +5 -5
  102. package/templates/schemas.manifest.json +4 -0
@@ -0,0 +1,82 @@
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
+ "maxLength": 255,
9
+ "pattern": "^[A-Za-z0-9._-]+$",
10
+ "description": "Unique identifier of the trust anchor in the tenant."
11
+ },
12
+ "entityId": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "maxLength": 2048,
16
+ "description": "Entity identifier of the trust anchor, exactly as configured in `federation.trustAnchors` and DCQL `openid_federation` values."
17
+ },
18
+ "description": {
19
+ "anyOf": [
20
+ {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "maxLength": 1000
24
+ },
25
+ {
26
+ "type": "null"
27
+ }
28
+ ],
29
+ "description": "Optional description of the trust anchor."
30
+ },
31
+ "jwks": {
32
+ "type": "object",
33
+ "properties": {
34
+ "keys": {
35
+ "minItems": 1,
36
+ "maxItems": 20,
37
+ "type": "array",
38
+ "items": {
39
+ "type": "object",
40
+ "properties": {
41
+ "kty": {
42
+ "type": "string",
43
+ "enum": [
44
+ "EC",
45
+ "RSA",
46
+ "OKP"
47
+ ],
48
+ "description": "Key type of the public federation key."
49
+ },
50
+ "kid": {
51
+ "type": "string",
52
+ "minLength": 1,
53
+ "maxLength": 256,
54
+ "description": "Key ID. Federation statements name their signing key with `kid`."
55
+ }
56
+ },
57
+ "required": [
58
+ "kty",
59
+ "kid"
60
+ ],
61
+ "additionalProperties": {},
62
+ "description": "Public federation key of the trust anchor as a JWK."
63
+ },
64
+ "description": "The trust anchor's federation keys."
65
+ }
66
+ },
67
+ "required": [
68
+ "keys"
69
+ ],
70
+ "additionalProperties": false,
71
+ "description": "JWK set with the federation keys of the trust anchor, obtained out of band (OpenID Federation 1.0 Section 10.2)."
72
+ }
73
+ },
74
+ "required": [
75
+ "id",
76
+ "entityId",
77
+ "jwks"
78
+ ],
79
+ "additionalProperties": false,
80
+ "$id": "./CreateFederationTrustAnchorDto.schema.json",
81
+ "title": "CreateFederationTrustAnchorDto"
82
+ }
@@ -46,6 +46,35 @@
46
46
  "type": "null"
47
47
  }
48
48
  ]
49
+ },
50
+ "relyingPartyContact": {
51
+ "description": "Contact of the relying party, sent when EUDIPLO registers the relying party at the registrar. The registrar needs at least one contact value to issue access certificates. A relying party that is already registered keeps its contact.",
52
+ "anyOf": [
53
+ {
54
+ "type": "object",
55
+ "properties": {
56
+ "supportUri": {
57
+ "description": "https URL where the relying party can be contacted.",
58
+ "type": "string",
59
+ "format": "uri"
60
+ },
61
+ "email": {
62
+ "description": "Email address of the relying party.",
63
+ "type": "string",
64
+ "pattern": "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$"
65
+ },
66
+ "phone": {
67
+ "description": "Phone number of the relying party.",
68
+ "type": "string",
69
+ "pattern": "^[+0-9()\\-\\s]{5,40}$"
70
+ }
71
+ },
72
+ "additionalProperties": false
73
+ },
74
+ {
75
+ "type": "null"
76
+ }
77
+ ]
49
78
  }
50
79
  },
51
80
  "required": [
@@ -4,8 +4,8 @@
4
4
  "properties": {
5
5
  "id": {
6
6
  "type": "string",
7
- "minLength": 1,
8
- "description": "Unique tenant identifier."
7
+ "pattern": "^[a-z0-9][a-z0-9_-]{0,62}$",
8
+ "description": "Unique tenant identifier: lowercase letters, digits, `-` and `_`, starting with a letter or digit, at most 63 characters. It is also the name of the tenant's configuration folder."
9
9
  },
10
10
  "name": {
11
11
  "default": "EUDIPLO",
@@ -19,7 +19,7 @@
19
19
  "minLength": 1
20
20
  },
21
21
  "roles": {
22
- "description": "Optional default role assignments for the tenant.",
22
+ "description": "Roles of the tenant's admin client `<id>-admin`, which also gets clients:manage. They are all that client can grant, unless they include tenant:admin. Without roles, or with an empty list, no admin client is created.",
23
23
  "type": "array",
24
24
  "items": {
25
25
  "type": "string",
@@ -32,7 +32,11 @@
32
32
  "clients:manage",
33
33
  "users:manage",
34
34
  "registrar:manage",
35
- "tenant:admin"
35
+ "tenant:admin",
36
+ "audit:read",
37
+ "sessions:read",
38
+ "credentials:status",
39
+ "keys:manage"
36
40
  ]
37
41
  }
38
42
  },
@@ -33,24 +33,26 @@
33
33
  "locale": {
34
34
  "type": "string",
35
35
  "minLength": 1,
36
- "description": "Locale tag for the display entry."
36
+ "description": "Language tag of this entry, for example en-US. Each locale may appear once."
37
37
  },
38
38
  "name": {
39
39
  "type": "string",
40
40
  "minLength": 1,
41
- "description": "Human-readable field name."
41
+ "description": "Credential name shown by wallets."
42
42
  },
43
43
  "description": {
44
- "description": "Optional field description for this locale.",
44
+ "description": "Optional description of the credential for this locale.",
45
45
  "type": "string"
46
46
  },
47
47
  "background_color": {
48
- "description": "Optional background color for card-style rendering.",
49
- "type": "string"
48
+ "description": "Optional background color for card-style rendering, as a CSS Color Level 3 numerical value: #rgb, #rrggbb, transparent, or lowercase rgb(), rgba(), hsl() or hsla() with comma-separated values. Without it, wallets use their own.",
49
+ "type": "string",
50
+ "pattern": "^(?:#(?:[0-9a-fA-F]{3}){1,2}|rgb\\( *[+-]?\\d+ *, *[+-]?\\d+ *, *[+-]?\\d+ *\\)|rgb\\( *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *\\)|rgba\\( *[+-]?\\d+ *, *[+-]?\\d+ *, *[+-]?\\d+ *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *\\)|rgba\\( *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *\\)|hsl\\( *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *\\)|hsla\\( *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *\\)|transparent)$"
50
51
  },
51
52
  "text_color": {
52
- "description": "Optional text color for card-style rendering.",
53
- "type": "string"
53
+ "description": "Optional text color for card-style rendering, as a CSS Color Level 3 numerical value: #rgb, #rrggbb, transparent, or lowercase rgb(), rgba(), hsl() or hsla() with comma-separated values. Without it, wallets use their own.",
54
+ "type": "string",
55
+ "pattern": "^(?:#(?:[0-9a-fA-F]{3}){1,2}|rgb\\( *[+-]?\\d+ *, *[+-]?\\d+ *, *[+-]?\\d+ *\\)|rgb\\( *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *\\)|rgba\\( *[+-]?\\d+ *, *[+-]?\\d+ *, *[+-]?\\d+ *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *\\)|rgba\\( *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *\\)|hsl\\( *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *\\)|hsla\\( *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)% *, *[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+) *\\)|transparent)$"
54
56
  },
55
57
  "background_image": {
56
58
  "description": "Optional background image.",
@@ -89,7 +91,7 @@
89
91
  ],
90
92
  "additionalProperties": false
91
93
  },
92
- "description": "Display metadata shown by wallets."
94
+ "description": "Display metadata shown by wallets, one entry per locale."
93
95
  },
94
96
  "scope": {
95
97
  "description": "Optional OAuth scope associated with this credential type.",
@@ -714,12 +716,8 @@
714
716
  }
715
717
  },
716
718
  "constraints": {
717
- "description": "Optional validation constraints for the claim value.",
718
- "type": "object",
719
- "propertyNames": {
720
- "type": "string"
721
- },
722
- "additionalProperties": {}
719
+ "description": "Optional JSON Schema 2020-12 validation keywords for the claim value. Only the JSON Schema keywords listed under Constraints in the claims documentation are accepted (validation keywords such as pattern, minLength or enum, subschemas such as items or properties, and annotations); other keys, such as format or $ref, are refused.",
720
+ "$ref": "#/$defs/ClaimConstraints"
723
721
  },
724
722
  "children": {
725
723
  "description": "Nested child claim definitions for object or array fields.",
@@ -734,6 +732,240 @@
734
732
  "type"
735
733
  ],
736
734
  "additionalProperties": false
735
+ },
736
+ "ClaimConstraints": {
737
+ "type": "object",
738
+ "properties": {
739
+ "type": {},
740
+ "enum": {},
741
+ "const": {},
742
+ "multipleOf": {},
743
+ "maximum": {},
744
+ "exclusiveMaximum": {},
745
+ "minimum": {},
746
+ "exclusiveMinimum": {},
747
+ "maxLength": {},
748
+ "minLength": {},
749
+ "pattern": {},
750
+ "maxItems": {},
751
+ "minItems": {},
752
+ "uniqueItems": {},
753
+ "maxContains": {},
754
+ "minContains": {},
755
+ "maxProperties": {},
756
+ "minProperties": {},
757
+ "required": {},
758
+ "dependentRequired": {},
759
+ "title": {},
760
+ "description": {},
761
+ "default": {},
762
+ "examples": {},
763
+ "deprecated": {},
764
+ "readOnly": {},
765
+ "writeOnly": {},
766
+ "$comment": {},
767
+ "items": {
768
+ "anyOf": [
769
+ {
770
+ "type": "boolean"
771
+ },
772
+ {
773
+ "$ref": "#/$defs/ClaimConstraints"
774
+ }
775
+ ]
776
+ },
777
+ "contains": {
778
+ "anyOf": [
779
+ {
780
+ "type": "boolean"
781
+ },
782
+ {
783
+ "$ref": "#/$defs/ClaimConstraints"
784
+ }
785
+ ]
786
+ },
787
+ "additionalProperties": {
788
+ "anyOf": [
789
+ {
790
+ "type": "boolean"
791
+ },
792
+ {
793
+ "$ref": "#/$defs/ClaimConstraints"
794
+ }
795
+ ]
796
+ },
797
+ "propertyNames": {
798
+ "anyOf": [
799
+ {
800
+ "type": "boolean"
801
+ },
802
+ {
803
+ "$ref": "#/$defs/ClaimConstraints"
804
+ }
805
+ ]
806
+ },
807
+ "not": {
808
+ "anyOf": [
809
+ {
810
+ "type": "boolean"
811
+ },
812
+ {
813
+ "$ref": "#/$defs/ClaimConstraints"
814
+ }
815
+ ]
816
+ },
817
+ "if": {
818
+ "anyOf": [
819
+ {
820
+ "type": "boolean"
821
+ },
822
+ {
823
+ "$ref": "#/$defs/ClaimConstraints"
824
+ }
825
+ ]
826
+ },
827
+ "then": {
828
+ "anyOf": [
829
+ {
830
+ "type": "boolean"
831
+ },
832
+ {
833
+ "$ref": "#/$defs/ClaimConstraints"
834
+ }
835
+ ]
836
+ },
837
+ "else": {
838
+ "anyOf": [
839
+ {
840
+ "type": "boolean"
841
+ },
842
+ {
843
+ "$ref": "#/$defs/ClaimConstraints"
844
+ }
845
+ ]
846
+ },
847
+ "unevaluatedItems": {
848
+ "anyOf": [
849
+ {
850
+ "type": "boolean"
851
+ },
852
+ {
853
+ "$ref": "#/$defs/ClaimConstraints"
854
+ }
855
+ ]
856
+ },
857
+ "unevaluatedProperties": {
858
+ "anyOf": [
859
+ {
860
+ "type": "boolean"
861
+ },
862
+ {
863
+ "$ref": "#/$defs/ClaimConstraints"
864
+ }
865
+ ]
866
+ },
867
+ "prefixItems": {
868
+ "type": "array",
869
+ "items": {
870
+ "anyOf": [
871
+ {
872
+ "type": "boolean"
873
+ },
874
+ {
875
+ "$ref": "#/$defs/ClaimConstraints"
876
+ }
877
+ ]
878
+ }
879
+ },
880
+ "allOf": {
881
+ "type": "array",
882
+ "items": {
883
+ "anyOf": [
884
+ {
885
+ "type": "boolean"
886
+ },
887
+ {
888
+ "$ref": "#/$defs/ClaimConstraints"
889
+ }
890
+ ]
891
+ }
892
+ },
893
+ "anyOf": {
894
+ "type": "array",
895
+ "items": {
896
+ "anyOf": [
897
+ {
898
+ "type": "boolean"
899
+ },
900
+ {
901
+ "$ref": "#/$defs/ClaimConstraints"
902
+ }
903
+ ]
904
+ }
905
+ },
906
+ "oneOf": {
907
+ "type": "array",
908
+ "items": {
909
+ "anyOf": [
910
+ {
911
+ "type": "boolean"
912
+ },
913
+ {
914
+ "$ref": "#/$defs/ClaimConstraints"
915
+ }
916
+ ]
917
+ }
918
+ },
919
+ "properties": {
920
+ "type": "object",
921
+ "propertyNames": {
922
+ "type": "string"
923
+ },
924
+ "additionalProperties": {
925
+ "anyOf": [
926
+ {
927
+ "type": "boolean"
928
+ },
929
+ {
930
+ "$ref": "#/$defs/ClaimConstraints"
931
+ }
932
+ ]
933
+ }
934
+ },
935
+ "patternProperties": {
936
+ "type": "object",
937
+ "propertyNames": {
938
+ "type": "string"
939
+ },
940
+ "additionalProperties": {
941
+ "anyOf": [
942
+ {
943
+ "type": "boolean"
944
+ },
945
+ {
946
+ "$ref": "#/$defs/ClaimConstraints"
947
+ }
948
+ ]
949
+ }
950
+ },
951
+ "dependentSchemas": {
952
+ "type": "object",
953
+ "propertyNames": {
954
+ "type": "string"
955
+ },
956
+ "additionalProperties": {
957
+ "anyOf": [
958
+ {
959
+ "type": "boolean"
960
+ },
961
+ {
962
+ "$ref": "#/$defs/ClaimConstraints"
963
+ }
964
+ ]
965
+ }
966
+ }
967
+ },
968
+ "additionalProperties": false
737
969
  }
738
970
  },
739
971
  "$id": "./CredentialConfigCreate.schema.json",