@eudiplo/cli 9.1.0-main.b08ff89 → 9.1.0-main.b4a1a8d

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 (99) 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 +22023 -5089
  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 +11 -1
  73. package/templates/demo-config/presentation/pid.json +1 -1
  74. package/templates/docker-compose.yml +2 -2
  75. package/templates/schemas/ClientConfigFile.schema.json +134 -1
  76. package/templates/schemas/CreateClientDto.schema.json +5 -1
  77. package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
  78. package/templates/schemas/CreateRegistrarConfigDto.schema.json +29 -0
  79. package/templates/schemas/CreateTenantDto.schema.json +8 -4
  80. package/templates/schemas/CredentialConfigCreate.schema.json +252 -19
  81. package/templates/schemas/CredentialConfigFile.schema.json +2618 -1
  82. package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
  83. package/templates/schemas/IssuanceConfig.schema.json +122 -9
  84. package/templates/schemas/IssuanceConfigFile.schema.json +2247 -1
  85. package/templates/schemas/KeyChainConfigFile.schema.json +875 -119
  86. package/templates/schemas/KeyChainCreateDto.schema.json +12 -1
  87. package/templates/schemas/KeyChainDefaultsConfigFile.schema.json +123 -0
  88. package/templates/schemas/KeyChainImportDto.schema.json +10 -0
  89. package/templates/schemas/KmsConfigDto.schema.json +186 -0
  90. package/templates/schemas/KmsConfigFile.schema.json +1026 -1
  91. package/templates/schemas/PresentationConfigCreateDto.schema.json +16 -0
  92. package/templates/schemas/PresentationConfigFile.schema.json +746 -1
  93. package/templates/schemas/RegistrarConfigFile.schema.json +101 -1
  94. package/templates/schemas/RotationPolicyCreateDto.schema.json +1 -1
  95. package/templates/schemas/TenantConfigFile.schema.json +334 -64
  96. package/templates/schemas/UpdateClientDto.schema.json +5 -1
  97. package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
  98. package/templates/schemas/UpdateStatusListConfigDto.schema.json +5 -5
  99. 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, 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.",
@@ -209,7 +211,7 @@
209
211
  ]
210
212
  },
211
213
  "webhookEndpointId": {
212
- "description": "Optional webhook endpoint id notified during issuance events.",
214
+ "description": "Not used for notifications: they go to the webhook endpoint of the offer.",
213
215
  "type": [
214
216
  "string",
215
217
  "null"
@@ -303,7 +305,7 @@
303
305
  ]
304
306
  },
305
307
  "iaeActions": {
306
- "description": "Optional in-app experience actions for wallet flows.",
308
+ "description": "Interactive authorization steps (a presentation or a web flow) that the wallet completes, in order, before the credential is issued.",
307
309
  "anyOf": [
308
310
  {
309
311
  "type": "array",
@@ -479,16 +481,17 @@
479
481
  "type": "string"
480
482
  },
481
483
  "frameworkType": {
482
- "description": "Trust framework type.",
484
+ "description": "Trust framework type. `x509` takes a root certificate in `value` and no `verificationMethod`.",
483
485
  "type": "string",
484
486
  "enum": [
485
487
  "aki",
486
488
  "etsi_tl",
487
- "openid_federation"
489
+ "openid_federation",
490
+ "x509"
488
491
  ]
489
492
  },
490
493
  "value": {
491
- "description": "Framework-specific authority value.",
494
+ "description": "Framework-specific authority value, for example the trust list URL for `etsi_tl` or the root certificate (base64 DER or PEM) for `x509`.",
492
495
  "type": "string"
493
496
  },
494
497
  "verificationMethod": {
@@ -713,12 +716,8 @@
713
716
  }
714
717
  },
715
718
  "constraints": {
716
- "description": "Optional validation constraints for the claim value.",
717
- "type": "object",
718
- "propertyNames": {
719
- "type": "string"
720
- },
721
- "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"
722
721
  },
723
722
  "children": {
724
723
  "description": "Nested child claim definitions for object or array fields.",
@@ -733,6 +732,240 @@
733
732
  "type"
734
733
  ],
735
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
736
969
  }
737
970
  },
738
971
  "$id": "./CredentialConfigCreate.schema.json",