@eudiplo/cli 7.2.0 → 7.3.0-main.b6ff9ed

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 (181) hide show
  1. package/README.md +88 -24
  2. package/dist/commands/commands/index.d.ts +4 -0
  3. package/dist/commands/commands/index.d.ts.map +1 -0
  4. package/dist/commands/commands/index.js +13 -0
  5. package/dist/commands/commands/index.js.map +1 -0
  6. package/dist/commands/commands/render.d.ts +4 -0
  7. package/dist/commands/commands/render.d.ts.map +1 -0
  8. package/dist/commands/commands/render.js +52 -0
  9. package/dist/commands/commands/render.js.map +1 -0
  10. package/dist/commands/completion/action.d.ts +6 -0
  11. package/dist/commands/completion/action.d.ts.map +1 -0
  12. package/dist/commands/completion/action.js +133 -0
  13. package/dist/commands/completion/action.js.map +1 -0
  14. package/dist/commands/completion/index.d.ts +6 -0
  15. package/dist/commands/completion/index.d.ts.map +1 -0
  16. package/dist/commands/completion/index.js +23 -0
  17. package/dist/commands/completion/index.js.map +1 -0
  18. package/dist/commands/config/action.d.ts +4 -0
  19. package/dist/commands/config/action.d.ts.map +1 -0
  20. package/dist/commands/config/action.js +33 -0
  21. package/dist/commands/config/action.js.map +1 -0
  22. package/dist/commands/config/editor/action.d.ts +3 -0
  23. package/dist/commands/config/editor/action.d.ts.map +1 -0
  24. package/dist/commands/config/editor/action.js +112 -0
  25. package/dist/commands/config/editor/action.js.map +1 -0
  26. package/dist/commands/config/editor/index.d.ts +5 -0
  27. package/dist/commands/config/editor/index.d.ts.map +1 -0
  28. package/dist/commands/config/editor/index.js +20 -0
  29. package/dist/commands/config/editor/index.js.map +1 -0
  30. package/dist/commands/config/index.d.ts +1 -1
  31. package/dist/commands/config/index.d.ts.map +1 -1
  32. package/dist/commands/config/index.js +22 -0
  33. package/dist/commands/config/index.js.map +1 -1
  34. package/dist/commands/config/portability/action.d.ts +5 -0
  35. package/dist/commands/config/portability/action.d.ts.map +1 -0
  36. package/dist/commands/config/portability/action.js +164 -0
  37. package/dist/commands/config/portability/action.js.map +1 -0
  38. package/dist/commands/config/portability/index.d.ts +5 -0
  39. package/dist/commands/config/portability/index.d.ts.map +1 -0
  40. package/dist/commands/config/portability/index.js +44 -0
  41. package/dist/commands/config/portability/index.js.map +1 -0
  42. package/dist/commands/config/portability/migrations.d.ts +24 -0
  43. package/dist/commands/config/portability/migrations.d.ts.map +1 -0
  44. package/dist/commands/config/portability/migrations.js +95 -0
  45. package/dist/commands/config/portability/migrations.js.map +1 -0
  46. package/dist/commands/config/portability/migrations.spec.d.ts +2 -0
  47. package/dist/commands/config/portability/migrations.spec.d.ts.map +1 -0
  48. package/dist/commands/config/portability/migrations.spec.js +32 -0
  49. package/dist/commands/config/portability/migrations.spec.js.map +1 -0
  50. package/dist/commands/config/tenant/action.d.ts.map +1 -1
  51. package/dist/commands/config/tenant/action.js +16 -6
  52. package/dist/commands/config/tenant/action.js.map +1 -1
  53. package/dist/commands/config/tenant/index.d.ts.map +1 -1
  54. package/dist/commands/config/tenant/index.js.map +1 -1
  55. package/dist/commands/config/validate/action.d.ts.map +1 -1
  56. package/dist/commands/config/validate/action.js +3 -1
  57. package/dist/commands/config/validate/action.js.map +1 -1
  58. package/dist/commands/config/validate/registry.d.ts +1 -0
  59. package/dist/commands/config/validate/registry.d.ts.map +1 -1
  60. package/dist/commands/config/validate/registry.js +1 -1
  61. package/dist/commands/config/validate/registry.js.map +1 -1
  62. package/dist/commands/config/validate/registry.json +12 -23
  63. package/dist/commands/config/validate/report.d.ts.map +1 -1
  64. package/dist/commands/config/validate/report.js +6 -1
  65. package/dist/commands/config/validate/report.js.map +1 -1
  66. package/dist/commands/config/validate/schemas.d.ts +1 -0
  67. package/dist/commands/config/validate/schemas.d.ts.map +1 -1
  68. package/dist/commands/config/validate/schemas.js +16 -5
  69. package/dist/commands/config/validate/schemas.js.map +1 -1
  70. package/dist/commands/config/validate/types.d.ts.map +1 -1
  71. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  72. package/dist/commands/config/validate/validator.js +13 -5
  73. package/dist/commands/config/validate/validator.js.map +1 -1
  74. package/dist/commands/demo/action.d.ts.map +1 -1
  75. package/dist/commands/demo/action.js +3 -2
  76. package/dist/commands/demo/action.js.map +1 -1
  77. package/dist/commands/demo/index.d.ts.map +1 -1
  78. package/dist/commands/demo/index.js.map +1 -1
  79. package/dist/commands/deployment/action.d.ts.map +1 -1
  80. package/dist/commands/deployment/action.js +10 -3
  81. package/dist/commands/deployment/action.js.map +1 -1
  82. package/dist/commands/deployment/index.d.ts.map +1 -1
  83. package/dist/commands/deployment/index.js +1 -1
  84. package/dist/commands/deployment/index.js.map +1 -1
  85. package/dist/commands/doctor/action.d.ts.map +1 -1
  86. package/dist/commands/doctor/action.js +1 -1
  87. package/dist/commands/doctor/action.js.map +1 -1
  88. package/dist/commands/init/action.d.ts.map +1 -1
  89. package/dist/commands/init/action.js +20 -7
  90. package/dist/commands/init/action.js.map +1 -1
  91. package/dist/commands/init/index.d.ts.map +1 -1
  92. package/dist/commands/init/index.js.map +1 -1
  93. package/dist/commands/instance/action.d.ts +4 -0
  94. package/dist/commands/instance/action.d.ts.map +1 -1
  95. package/dist/commands/instance/action.js +66 -1
  96. package/dist/commands/instance/action.js.map +1 -1
  97. package/dist/commands/instance/index.d.ts.map +1 -1
  98. package/dist/commands/instance/index.js +31 -1
  99. package/dist/commands/instance/index.js.map +1 -1
  100. package/dist/commands/shared.d.ts.map +1 -1
  101. package/dist/commands/shared.js +4 -1
  102. package/dist/commands/shared.js.map +1 -1
  103. package/dist/commands/status/action.d.ts.map +1 -1
  104. package/dist/commands/status/action.js.map +1 -1
  105. package/dist/commands/version/action.d.ts.map +1 -1
  106. package/dist/commands/version/action.js +3 -1
  107. package/dist/commands/version/action.js.map +1 -1
  108. package/dist/index.js +0 -0
  109. package/dist/runtime.d.ts +2 -0
  110. package/dist/runtime.d.ts.map +1 -1
  111. package/dist/runtime.js +8 -1
  112. package/dist/runtime.js.map +1 -1
  113. package/dist/sea-assets.d.ts +4 -2
  114. package/dist/sea-assets.d.ts.map +1 -1
  115. package/dist/sea-assets.js +6 -3
  116. package/dist/sea-assets.js.map +1 -1
  117. package/dist/services/cli-config.d.ts +2 -0
  118. package/dist/services/cli-config.d.ts.map +1 -1
  119. package/dist/services/cli-config.js +22 -1
  120. package/dist/services/cli-config.js.map +1 -1
  121. package/dist/services/compose-project.d.ts.map +1 -1
  122. package/dist/services/compose-project.js +14 -6
  123. package/dist/services/compose-project.js.map +1 -1
  124. package/dist/services/deployment-drivers.d.ts +7 -0
  125. package/dist/services/deployment-drivers.d.ts.map +1 -1
  126. package/dist/services/deployment-drivers.js +79 -16
  127. package/dist/services/deployment-drivers.js.map +1 -1
  128. package/dist/services/diagnostics.d.ts.map +1 -1
  129. package/dist/services/diagnostics.js +3 -1
  130. package/dist/services/diagnostics.js.map +1 -1
  131. package/dist/services/instance-selection.d.ts.map +1 -1
  132. package/dist/services/instance-selection.js.map +1 -1
  133. package/dist/services/project-directory.d.ts.map +1 -1
  134. package/dist/services/project-directory.js.map +1 -1
  135. package/dist/types.d.ts.map +1 -1
  136. package/package.json +10 -8
  137. package/templates/demo-config/issuance/issuance.json +20 -12
  138. package/templates/demo-config/key-chains/access.json +13 -2
  139. package/templates/demo-config/key-chains/attestation.json +14 -3
  140. package/templates/demo-config/key-chains/status-list.json +15 -4
  141. package/templates/demo-config/key-chains/trust-list.json +13 -2
  142. package/templates/demo-config/presentation/age-over-18.json +46 -53
  143. package/templates/demo-config/presentation/pid.json +44 -0
  144. package/templates/demo-config.manifest.json +1 -0
  145. package/templates/schemas/AttributeProviderAuth.schema.json +60 -0
  146. package/templates/schemas/AttributeProviderConfigFile.schema.json +37 -0
  147. package/templates/schemas/CertImportDto.schema.json +35 -0
  148. package/templates/schemas/ClientConfigFile.schema.json +37 -0
  149. package/templates/schemas/ConfigDocumentMetadata.schema.json +25 -0
  150. package/templates/schemas/CreateClientDto.schema.json +1 -0
  151. package/templates/schemas/CreateStatusListDto.schema.json +46 -0
  152. package/templates/schemas/CreateTenantDto.schema.json +117 -0
  153. package/templates/schemas/CredentialConfigFile.schema.json +37 -0
  154. package/templates/schemas/DCQL.schema.json +401 -0
  155. package/templates/schemas/EmbeddedDisclosurePolicy.schema.json +106 -0
  156. package/templates/schemas/ImportTenantDto.schema.json +69 -0
  157. package/templates/schemas/IssuanceConfigFile.schema.json +32 -0
  158. package/templates/schemas/KeyChainConfigFile.schema.json +476 -0
  159. package/templates/schemas/KeyChainCreateDto.schema.json +66 -0
  160. package/templates/schemas/KeyChainUpdateDto.schema.json +40 -0
  161. package/templates/schemas/KmsConfigFile.schema.json +37 -0
  162. package/templates/schemas/PresentationConfigFile.schema.json +32 -0
  163. package/templates/schemas/RegistrarConfigFile.schema.json +37 -0
  164. package/templates/schemas/RotationPolicyCreateDto.schema.json +28 -0
  165. package/templates/schemas/RotationPolicyUpdateDto.schema.json +25 -0
  166. package/templates/schemas/SessionStorageConfig.schema.json +24 -0
  167. package/templates/schemas/StatusListConfig.schema.json +51 -0
  168. package/templates/schemas/StatusListConfigFile.schema.json +37 -0
  169. package/templates/schemas/TenantConfigFile.schema.json +230 -0
  170. package/templates/schemas/TransactionData.schema.json +24 -0
  171. package/templates/schemas/TrustListConfigFile.schema.json +37 -0
  172. package/templates/schemas/UpdateAttributeProviderDto.schema.json +93 -0
  173. package/templates/schemas/UpdateClientDto.schema.json +63 -0
  174. package/templates/schemas/UpdateStatusListConfigDto.schema.json +85 -0
  175. package/templates/schemas/UpdateStatusListDto.schema.json +33 -0
  176. package/templates/schemas/UpdateTenantDto.schema.json +96 -0
  177. package/templates/schemas/UpdateWebhookEndpointDto.schema.json +93 -0
  178. package/templates/schemas/VCT.schema.json +37 -0
  179. package/templates/schemas/WebhookConfig.schema.json +80 -0
  180. package/templates/schemas/WebhookEndpointConfigFile.schema.json +37 -0
  181. package/templates/schemas.manifest.json +35 -1
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "enabled": {
6
+ "type": "boolean",
7
+ "description": "Enable or disable automatic key rotation."
8
+ },
9
+ "intervalDays": {
10
+ "description": "Rotation interval in days.",
11
+ "type": "number",
12
+ "minimum": 1,
13
+ "maximum": 3650
14
+ },
15
+ "certValidityDays": {
16
+ "description": "Certificate validity period in days for generated leaf certificates.",
17
+ "type": "number",
18
+ "minimum": 1,
19
+ "maximum": 3650
20
+ }
21
+ },
22
+ "required": [
23
+ "enabled"
24
+ ],
25
+ "additionalProperties": false,
26
+ "$id": "./RotationPolicyCreateDto.schema.json",
27
+ "title": "RotationPolicyCreateDto"
28
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "enabled": {
6
+ "description": "Optional replacement for rotation enabled flag.",
7
+ "type": "boolean"
8
+ },
9
+ "intervalDays": {
10
+ "description": "Optional replacement for rotation interval in days.",
11
+ "type": "number",
12
+ "minimum": 1,
13
+ "maximum": 3650
14
+ },
15
+ "certValidityDays": {
16
+ "description": "Optional replacement for certificate validity period in days.",
17
+ "type": "number",
18
+ "minimum": 1,
19
+ "maximum": 3650
20
+ }
21
+ },
22
+ "additionalProperties": false,
23
+ "$id": "./RotationPolicyUpdateDto.schema.json",
24
+ "title": "RotationPolicyUpdateDto"
25
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "ttlSeconds": {
6
+ "description": "Session time-to-live in seconds.",
7
+ "type": "integer",
8
+ "minimum": 60,
9
+ "maximum": 9007199254740991
10
+ },
11
+ "cleanupMode": {
12
+ "description": "Whether to fully delete or anonymize expired sessions.",
13
+ "type": "string",
14
+ "enum": [
15
+ "full",
16
+ "anonymize"
17
+ ]
18
+ }
19
+ },
20
+ "additionalProperties": false,
21
+ "description": "Tenant session storage configuration.",
22
+ "$id": "./SessionStorageConfig.schema.json",
23
+ "title": "SessionStorageConfig"
24
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "capacity": {
6
+ "description": "Default status list capacity.",
7
+ "type": "integer",
8
+ "minimum": 100,
9
+ "maximum": 9007199254740991
10
+ },
11
+ "bits": {
12
+ "description": "Bits-per-status setting (1, 2, 4, or 8).",
13
+ "anyOf": [
14
+ {
15
+ "type": "number",
16
+ "const": 1
17
+ },
18
+ {
19
+ "type": "number",
20
+ "const": 2
21
+ },
22
+ {
23
+ "type": "number",
24
+ "const": 4
25
+ },
26
+ {
27
+ "type": "number",
28
+ "const": 8
29
+ }
30
+ ]
31
+ },
32
+ "ttl": {
33
+ "description": "JWT TTL for status list tokens in seconds.",
34
+ "type": "integer",
35
+ "minimum": 60,
36
+ "maximum": 9007199254740991
37
+ },
38
+ "immediateUpdate": {
39
+ "description": "Regenerate status list JWTs immediately after status updates.",
40
+ "type": "boolean"
41
+ },
42
+ "enableAggregation": {
43
+ "description": "Include aggregation_uri in generated status list JWTs.",
44
+ "type": "boolean"
45
+ }
46
+ },
47
+ "additionalProperties": false,
48
+ "description": "Tenant defaults for status list generation and publishing behavior.",
49
+ "$id": "./StatusListConfig.schema.json",
50
+ "title": "StatusListConfig"
51
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./StatusListConfigFile.schema.json",
4
+ "title": "StatusListConfigFile",
5
+ "description": "A status-list configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./StatusListImportDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/status-list/v1"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "StatusList"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./StatusListImportDto.schema.json"
26
+ }
27
+ },
28
+ "required": [
29
+ "apiVersion",
30
+ "kind",
31
+ "metadata",
32
+ "spec"
33
+ ],
34
+ "additionalProperties": false
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,230 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "anyOf": [
4
+ {
5
+ "type": "object",
6
+ "properties": {
7
+ "name": {
8
+ "default": "EUDIPLO",
9
+ "description": "Display name of the tenant.",
10
+ "type": "string",
11
+ "minLength": 1
12
+ },
13
+ "description": {
14
+ "description": "Optional tenant description.",
15
+ "type": "string",
16
+ "minLength": 1
17
+ },
18
+ "sessionConfig": {
19
+ "description": "Optional tenant-specific session storage configuration.",
20
+ "type": "object",
21
+ "properties": {
22
+ "ttlSeconds": {
23
+ "description": "Session time-to-live in seconds.",
24
+ "type": "integer",
25
+ "minimum": 60,
26
+ "maximum": 9007199254740991
27
+ },
28
+ "cleanupMode": {
29
+ "description": "Whether to fully delete or anonymize expired sessions.",
30
+ "type": "string",
31
+ "enum": [
32
+ "full",
33
+ "anonymize"
34
+ ]
35
+ }
36
+ },
37
+ "additionalProperties": false
38
+ },
39
+ "statusListConfig": {
40
+ "description": "Optional tenant-specific status list defaults.",
41
+ "type": "object",
42
+ "properties": {
43
+ "capacity": {
44
+ "description": "Default status list capacity.",
45
+ "type": "integer",
46
+ "minimum": 100,
47
+ "maximum": 9007199254740991
48
+ },
49
+ "bits": {
50
+ "description": "Bits-per-status setting (1, 2, 4, or 8).",
51
+ "anyOf": [
52
+ {
53
+ "type": "number",
54
+ "const": 1
55
+ },
56
+ {
57
+ "type": "number",
58
+ "const": 2
59
+ },
60
+ {
61
+ "type": "number",
62
+ "const": 4
63
+ },
64
+ {
65
+ "type": "number",
66
+ "const": 8
67
+ }
68
+ ]
69
+ },
70
+ "ttl": {
71
+ "description": "JWT TTL for status list tokens in seconds.",
72
+ "type": "integer",
73
+ "minimum": 60,
74
+ "maximum": 9007199254740991
75
+ },
76
+ "immediateUpdate": {
77
+ "description": "Regenerate status list JWTs immediately after status updates.",
78
+ "type": "boolean"
79
+ },
80
+ "enableAggregation": {
81
+ "description": "Include aggregation_uri in generated status list JWTs.",
82
+ "type": "boolean"
83
+ }
84
+ },
85
+ "additionalProperties": false
86
+ }
87
+ },
88
+ "required": [
89
+ "name"
90
+ ],
91
+ "additionalProperties": false,
92
+ "description": "Payload used when importing tenant metadata from config files."
93
+ },
94
+ {
95
+ "type": "object",
96
+ "properties": {
97
+ "apiVersion": {
98
+ "type": "string",
99
+ "const": "eudiplo.io/tenant/v1"
100
+ },
101
+ "kind": {
102
+ "type": "string",
103
+ "const": "Tenant"
104
+ },
105
+ "metadata": {
106
+ "type": "object",
107
+ "properties": {
108
+ "id": {
109
+ "type": "string",
110
+ "minLength": 1
111
+ },
112
+ "generation": {
113
+ "type": "number"
114
+ },
115
+ "ownership": {
116
+ "type": "string",
117
+ "enum": [
118
+ "unmanaged",
119
+ "file-managed"
120
+ ]
121
+ }
122
+ },
123
+ "required": [
124
+ "id"
125
+ ],
126
+ "additionalProperties": false
127
+ },
128
+ "spec": {
129
+ "type": "object",
130
+ "properties": {
131
+ "name": {
132
+ "default": "EUDIPLO",
133
+ "description": "Display name of the tenant.",
134
+ "type": "string",
135
+ "minLength": 1
136
+ },
137
+ "description": {
138
+ "description": "Optional tenant description.",
139
+ "type": "string",
140
+ "minLength": 1
141
+ },
142
+ "sessionConfig": {
143
+ "description": "Optional tenant-specific session storage configuration.",
144
+ "type": "object",
145
+ "properties": {
146
+ "ttlSeconds": {
147
+ "description": "Session time-to-live in seconds.",
148
+ "type": "integer",
149
+ "minimum": 60,
150
+ "maximum": 9007199254740991
151
+ },
152
+ "cleanupMode": {
153
+ "description": "Whether to fully delete or anonymize expired sessions.",
154
+ "type": "string",
155
+ "enum": [
156
+ "full",
157
+ "anonymize"
158
+ ]
159
+ }
160
+ },
161
+ "additionalProperties": false
162
+ },
163
+ "statusListConfig": {
164
+ "description": "Optional tenant-specific status list defaults.",
165
+ "type": "object",
166
+ "properties": {
167
+ "capacity": {
168
+ "description": "Default status list capacity.",
169
+ "type": "integer",
170
+ "minimum": 100,
171
+ "maximum": 9007199254740991
172
+ },
173
+ "bits": {
174
+ "description": "Bits-per-status setting (1, 2, 4, or 8).",
175
+ "anyOf": [
176
+ {
177
+ "type": "number",
178
+ "const": 1
179
+ },
180
+ {
181
+ "type": "number",
182
+ "const": 2
183
+ },
184
+ {
185
+ "type": "number",
186
+ "const": 4
187
+ },
188
+ {
189
+ "type": "number",
190
+ "const": 8
191
+ }
192
+ ]
193
+ },
194
+ "ttl": {
195
+ "description": "JWT TTL for status list tokens in seconds.",
196
+ "type": "integer",
197
+ "minimum": 60,
198
+ "maximum": 9007199254740991
199
+ },
200
+ "immediateUpdate": {
201
+ "description": "Regenerate status list JWTs immediately after status updates.",
202
+ "type": "boolean"
203
+ },
204
+ "enableAggregation": {
205
+ "description": "Include aggregation_uri in generated status list JWTs.",
206
+ "type": "boolean"
207
+ }
208
+ },
209
+ "additionalProperties": false
210
+ }
211
+ },
212
+ "required": [
213
+ "name"
214
+ ],
215
+ "additionalProperties": false,
216
+ "description": "Payload used when importing tenant metadata from config files."
217
+ }
218
+ },
219
+ "required": [
220
+ "apiVersion",
221
+ "kind",
222
+ "metadata",
223
+ "spec"
224
+ ],
225
+ "additionalProperties": false
226
+ }
227
+ ],
228
+ "$id": "./TenantConfigFile.schema.json",
229
+ "title": "TenantConfigFile"
230
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "type": {
6
+ "type": "string",
7
+ "description": "Transaction data type identifier."
8
+ },
9
+ "credential_ids": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "string"
13
+ },
14
+ "description": "Credential query ids this transaction data applies to."
15
+ }
16
+ },
17
+ "required": [
18
+ "type",
19
+ "credential_ids"
20
+ ],
21
+ "additionalProperties": {},
22
+ "$id": "./TransactionData.schema.json",
23
+ "title": "TransactionData"
24
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./TrustListConfigFile.schema.json",
4
+ "title": "TrustListConfigFile",
5
+ "description": "A trust-list configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./TrustListCreateDto.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/trust-list/v1"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "TrustList"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./TrustListCreateDto.schema.json"
26
+ }
27
+ },
28
+ "required": [
29
+ "apiVersion",
30
+ "kind",
31
+ "metadata",
32
+ "spec"
33
+ ],
34
+ "additionalProperties": false
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,93 @@
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": "Unique attribute provider identifier."
9
+ },
10
+ "name": {
11
+ "type": "string",
12
+ "minLength": 1,
13
+ "description": "Display name of the attribute provider."
14
+ },
15
+ "description": {
16
+ "anyOf": [
17
+ {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ {
22
+ "type": "null"
23
+ }
24
+ ],
25
+ "description": "Optional attribute provider description."
26
+ },
27
+ "url": {
28
+ "type": "string",
29
+ "format": "uri",
30
+ "description": "Base URL of the attribute provider endpoint."
31
+ },
32
+ "auth": {
33
+ "oneOf": [
34
+ {
35
+ "type": "object",
36
+ "properties": {
37
+ "type": {
38
+ "type": "string",
39
+ "const": "none",
40
+ "description": "Disable authentication for attribute provider calls."
41
+ }
42
+ },
43
+ "required": [
44
+ "type"
45
+ ],
46
+ "additionalProperties": false,
47
+ "description": "No authentication variant."
48
+ },
49
+ {
50
+ "type": "object",
51
+ "properties": {
52
+ "type": {
53
+ "type": "string",
54
+ "const": "apiKey",
55
+ "description": "Use API key authentication."
56
+ },
57
+ "config": {
58
+ "type": "object",
59
+ "properties": {
60
+ "headerName": {
61
+ "type": "string",
62
+ "minLength": 1,
63
+ "description": "HTTP header name carrying the API key."
64
+ },
65
+ "value": {
66
+ "type": "string",
67
+ "minLength": 1,
68
+ "description": "API key value."
69
+ }
70
+ },
71
+ "required": [
72
+ "headerName",
73
+ "value"
74
+ ],
75
+ "additionalProperties": false,
76
+ "description": "API key authentication settings."
77
+ }
78
+ },
79
+ "required": [
80
+ "type",
81
+ "config"
82
+ ],
83
+ "additionalProperties": false,
84
+ "description": "API key authentication variant."
85
+ }
86
+ ],
87
+ "description": "Authentication configuration for outbound provider requests."
88
+ }
89
+ },
90
+ "additionalProperties": false,
91
+ "$id": "./UpdateAttributeProviderDto.schema.json",
92
+ "title": "UpdateAttributeProviderDto"
93
+ }
@@ -0,0 +1,63 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "description": {
6
+ "description": "Optional updated description.",
7
+ "type": "string",
8
+ "minLength": 1
9
+ },
10
+ "roles": {
11
+ "description": "Optional replacement roles for the client.",
12
+ "minItems": 1,
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string",
16
+ "enum": [
17
+ "presentation:manage",
18
+ "presentation:request",
19
+ "issuance:manage",
20
+ "issuance:offer",
21
+ "clients:manage",
22
+ "users:manage",
23
+ "tenants:manage",
24
+ "tenant:admin",
25
+ "registrar:manage"
26
+ ]
27
+ }
28
+ },
29
+ "allowedPresentationConfigs": {
30
+ "description": "Optional replacement allow-list of presentation config ids.",
31
+ "anyOf": [
32
+ {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "string",
36
+ "minLength": 1
37
+ }
38
+ },
39
+ {
40
+ "type": "null"
41
+ }
42
+ ]
43
+ },
44
+ "allowedIssuanceConfigs": {
45
+ "description": "Optional replacement allow-list of issuance config ids.",
46
+ "anyOf": [
47
+ {
48
+ "type": "array",
49
+ "items": {
50
+ "type": "string",
51
+ "minLength": 1
52
+ }
53
+ },
54
+ {
55
+ "type": "null"
56
+ }
57
+ ]
58
+ }
59
+ },
60
+ "additionalProperties": false,
61
+ "$id": "./UpdateClientDto.schema.json",
62
+ "title": "UpdateClientDto"
63
+ }