@eudiplo/cli 7.1.1 → 7.2.0-main.20c3901

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 (268) hide show
  1. package/README.md +259 -15
  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 +5 -0
  31. package/dist/commands/config/index.d.ts.map +1 -0
  32. package/dist/commands/config/index.js +37 -0
  33. package/dist/commands/config/index.js.map +1 -0
  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 +3 -0
  51. package/dist/commands/config/tenant/action.d.ts.map +1 -0
  52. package/dist/commands/config/tenant/action.js +301 -0
  53. package/dist/commands/config/tenant/action.js.map +1 -0
  54. package/dist/commands/config/tenant/index.d.ts +5 -0
  55. package/dist/commands/config/tenant/index.d.ts.map +1 -0
  56. package/dist/commands/config/tenant/index.js +61 -0
  57. package/dist/commands/config/tenant/index.js.map +1 -0
  58. package/dist/commands/config/validate/action.d.ts +4 -0
  59. package/dist/commands/config/validate/action.d.ts.map +1 -0
  60. package/dist/commands/config/validate/action.js +47 -0
  61. package/dist/commands/config/validate/action.js.map +1 -0
  62. package/dist/commands/config/validate/index.d.ts +5 -0
  63. package/dist/commands/config/validate/index.d.ts.map +1 -0
  64. package/dist/commands/config/validate/index.js +18 -0
  65. package/dist/commands/config/validate/index.js.map +1 -0
  66. package/dist/commands/config/validate/registry.d.ts +6 -0
  67. package/dist/commands/config/validate/registry.d.ts.map +1 -0
  68. package/dist/{config-validate → commands/config/validate}/registry.js +2 -2
  69. package/dist/commands/config/validate/registry.js.map +1 -0
  70. package/dist/{config-validate → commands/config/validate}/registry.json +11 -22
  71. package/dist/commands/config/validate/report.d.ts.map +1 -0
  72. package/dist/{config-validate → commands/config/validate}/report.js +6 -1
  73. package/dist/commands/config/validate/report.js.map +1 -0
  74. package/dist/commands/config/validate/schemas.d.ts +3 -0
  75. package/dist/commands/config/validate/schemas.d.ts.map +1 -0
  76. package/dist/commands/config/validate/schemas.js +35 -0
  77. package/dist/commands/config/validate/schemas.js.map +1 -0
  78. package/dist/{config-validate → commands/config/validate}/types.d.ts +1 -1
  79. package/dist/commands/config/validate/types.d.ts.map +1 -0
  80. package/dist/commands/config/validate/types.js.map +1 -0
  81. package/dist/commands/config/validate/validator.d.ts.map +1 -0
  82. package/dist/{config-validate → commands/config/validate}/validator.js +17 -9
  83. package/dist/commands/config/validate/validator.js.map +1 -0
  84. package/dist/commands/demo/action.d.ts +3 -0
  85. package/dist/commands/demo/action.d.ts.map +1 -0
  86. package/dist/commands/demo/action.js +73 -0
  87. package/dist/commands/demo/action.js.map +1 -0
  88. package/dist/commands/demo/index.d.ts +5 -0
  89. package/dist/commands/demo/index.d.ts.map +1 -0
  90. package/dist/commands/demo/index.js +19 -0
  91. package/dist/commands/demo/index.js.map +1 -0
  92. package/dist/commands/deployment/action.d.ts +3 -0
  93. package/dist/commands/deployment/action.d.ts.map +1 -0
  94. package/dist/commands/deployment/action.js +23 -0
  95. package/dist/commands/deployment/action.js.map +1 -0
  96. package/dist/commands/deployment/index.d.ts +5 -0
  97. package/dist/commands/deployment/index.d.ts.map +1 -0
  98. package/dist/commands/deployment/index.js +19 -0
  99. package/dist/commands/deployment/index.js.map +1 -0
  100. package/dist/commands/doctor/action.d.ts +3 -0
  101. package/dist/commands/doctor/action.d.ts.map +1 -0
  102. package/dist/commands/doctor/action.js +12 -0
  103. package/dist/commands/doctor/action.js.map +1 -0
  104. package/dist/commands/doctor/index.d.ts +5 -0
  105. package/dist/commands/doctor/index.d.ts.map +1 -0
  106. package/dist/commands/doctor/index.js +13 -0
  107. package/dist/commands/doctor/index.js.map +1 -0
  108. package/dist/commands/init/action.d.ts +3 -0
  109. package/dist/commands/init/action.d.ts.map +1 -0
  110. package/dist/commands/init/action.js +255 -0
  111. package/dist/commands/init/action.js.map +1 -0
  112. package/dist/commands/init/index.d.ts +5 -0
  113. package/dist/commands/init/index.d.ts.map +1 -0
  114. package/dist/commands/init/index.js +35 -0
  115. package/dist/commands/init/index.js.map +1 -0
  116. package/dist/commands/instance/action.d.ts +7 -0
  117. package/dist/commands/instance/action.d.ts.map +1 -0
  118. package/dist/commands/instance/action.js +85 -0
  119. package/dist/commands/instance/action.js.map +1 -0
  120. package/dist/commands/instance/index.d.ts +5 -0
  121. package/dist/commands/instance/index.d.ts.map +1 -0
  122. package/dist/commands/instance/index.js +53 -0
  123. package/dist/commands/instance/index.js.map +1 -0
  124. package/dist/commands/shared.d.ts +14 -0
  125. package/dist/commands/shared.d.ts.map +1 -0
  126. package/dist/commands/shared.js +39 -0
  127. package/dist/commands/shared.js.map +1 -0
  128. package/dist/commands/status/action.d.ts +3 -0
  129. package/dist/commands/status/action.d.ts.map +1 -0
  130. package/dist/commands/status/action.js +13 -0
  131. package/dist/commands/status/action.js.map +1 -0
  132. package/dist/commands/status/index.d.ts +5 -0
  133. package/dist/commands/status/index.d.ts.map +1 -0
  134. package/dist/commands/status/index.js +13 -0
  135. package/dist/commands/status/index.js.map +1 -0
  136. package/dist/commands/version/action.d.ts +4 -0
  137. package/dist/commands/version/action.d.ts.map +1 -0
  138. package/dist/commands/version/action.js +70 -0
  139. package/dist/commands/version/action.js.map +1 -0
  140. package/dist/commands/version/index.d.ts +6 -0
  141. package/dist/commands/version/index.d.ts.map +1 -0
  142. package/dist/commands/version/index.js +12 -0
  143. package/dist/commands/version/index.js.map +1 -0
  144. package/dist/index.js +0 -0
  145. package/dist/options.d.ts +2 -0
  146. package/dist/options.d.ts.map +1 -0
  147. package/dist/options.js +5 -0
  148. package/dist/options.js.map +1 -0
  149. package/dist/runtime.d.ts +2 -0
  150. package/dist/runtime.d.ts.map +1 -1
  151. package/dist/runtime.js +61 -465
  152. package/dist/runtime.js.map +1 -1
  153. package/dist/sea-assets.d.ts +4 -2
  154. package/dist/sea-assets.d.ts.map +1 -1
  155. package/dist/sea-assets.js +6 -3
  156. package/dist/sea-assets.js.map +1 -1
  157. package/dist/{config.d.ts → services/cli-config.d.ts} +4 -2
  158. package/dist/services/cli-config.d.ts.map +1 -0
  159. package/dist/{config.js → services/cli-config.js} +30 -4
  160. package/dist/services/cli-config.js.map +1 -0
  161. package/dist/{compose-template.d.ts → services/compose-project.d.ts} +14 -4
  162. package/dist/services/compose-project.d.ts.map +1 -0
  163. package/dist/services/compose-project.js +189 -0
  164. package/dist/services/compose-project.js.map +1 -0
  165. package/dist/{drivers.d.ts → services/deployment-drivers.d.ts} +16 -3
  166. package/dist/services/deployment-drivers.d.ts.map +1 -0
  167. package/dist/services/deployment-drivers.js +288 -0
  168. package/dist/services/deployment-drivers.js.map +1 -0
  169. package/dist/services/deployment-target.d.ts +3 -0
  170. package/dist/services/deployment-target.d.ts.map +1 -0
  171. package/dist/services/deployment-target.js +7 -0
  172. package/dist/services/deployment-target.js.map +1 -0
  173. package/dist/{doctor.d.ts → services/diagnostics.d.ts} +2 -2
  174. package/dist/services/diagnostics.d.ts.map +1 -0
  175. package/dist/{doctor.js → services/diagnostics.js} +4 -2
  176. package/dist/services/diagnostics.js.map +1 -0
  177. package/dist/services/instance-selection.d.ts +3 -0
  178. package/dist/services/instance-selection.d.ts.map +1 -0
  179. package/dist/services/instance-selection.js +13 -0
  180. package/dist/services/instance-selection.js.map +1 -0
  181. package/dist/services/project-directory.d.ts +3 -0
  182. package/dist/services/project-directory.d.ts.map +1 -0
  183. package/dist/services/project-directory.js +14 -0
  184. package/dist/services/project-directory.js.map +1 -0
  185. package/dist/types.d.ts +4 -0
  186. package/dist/types.d.ts.map +1 -1
  187. package/package.json +7 -4
  188. package/templates/demo-config/issuance/issuance.json +20 -12
  189. package/templates/demo-config/key-chains/access.json +13 -2
  190. package/templates/demo-config/key-chains/attestation.json +15 -4
  191. package/templates/demo-config/key-chains/status-list.json +15 -4
  192. package/templates/demo-config/key-chains/trust-list.json +13 -2
  193. package/templates/demo-config/presentation/age-over-18.json +46 -53
  194. package/templates/demo-config/presentation/pid.json +44 -0
  195. package/templates/demo-config.manifest.json +1 -0
  196. package/templates/docker-compose.yml +5 -4
  197. package/templates/schemas/AttributeProviderAuth.schema.json +60 -0
  198. package/templates/schemas/AttributeProviderConfigFile.schema.json +37 -0
  199. package/templates/schemas/CertImportDto.schema.json +35 -0
  200. package/templates/schemas/ClientConfigFile.schema.json +37 -0
  201. package/templates/schemas/ConfigDocumentMetadata.schema.json +25 -0
  202. package/templates/schemas/CreateClientDto.schema.json +1 -0
  203. package/templates/schemas/CreateStatusListDto.schema.json +46 -0
  204. package/templates/schemas/CreateTenantDto.schema.json +116 -0
  205. package/templates/schemas/CredentialConfigCreate.schema.json +55 -0
  206. package/templates/schemas/CredentialConfigFile.schema.json +37 -0
  207. package/templates/schemas/DCQL.schema.json +401 -0
  208. package/templates/schemas/EmbeddedDisclosurePolicy.schema.json +106 -0
  209. package/templates/schemas/ImportTenantDto.schema.json +69 -0
  210. package/templates/schemas/IssuanceConfig.schema.json +26 -6
  211. package/templates/schemas/IssuanceConfigFile.schema.json +32 -0
  212. package/templates/schemas/KeyChainConfigFile.schema.json +101 -0
  213. package/templates/schemas/KeyChainCreateDto.schema.json +66 -0
  214. package/templates/schemas/KeyChainUpdateDto.schema.json +40 -0
  215. package/templates/schemas/KmsConfigFile.schema.json +37 -0
  216. package/templates/schemas/PresentationConfigFile.schema.json +32 -0
  217. package/templates/schemas/RegistrarConfigFile.schema.json +37 -0
  218. package/templates/schemas/RotationPolicyCreateDto.schema.json +28 -0
  219. package/templates/schemas/RotationPolicyUpdateDto.schema.json +25 -0
  220. package/templates/schemas/SessionStorageConfig.schema.json +24 -0
  221. package/templates/schemas/StatusListConfig.schema.json +51 -0
  222. package/templates/schemas/StatusListConfigFile.schema.json +37 -0
  223. package/templates/schemas/TransactionData.schema.json +24 -0
  224. package/templates/schemas/TrustListConfigFile.schema.json +37 -0
  225. package/templates/schemas/UpdateAttributeProviderDto.schema.json +93 -0
  226. package/templates/schemas/UpdateClientDto.schema.json +62 -0
  227. package/templates/schemas/UpdateStatusListConfigDto.schema.json +85 -0
  228. package/templates/schemas/UpdateStatusListDto.schema.json +33 -0
  229. package/templates/schemas/UpdateTenantDto.schema.json +96 -0
  230. package/templates/schemas/UpdateWebhookEndpointDto.schema.json +93 -0
  231. package/templates/schemas/VCT.schema.json +37 -0
  232. package/templates/schemas/WebhookConfig.schema.json +80 -0
  233. package/templates/schemas/WebhookEndpointConfigFile.schema.json +37 -0
  234. package/templates/schemas.manifest.json +34 -1
  235. package/dist/args.d.ts +0 -4
  236. package/dist/args.d.ts.map +0 -1
  237. package/dist/args.js +0 -46
  238. package/dist/args.js.map +0 -1
  239. package/dist/compose-template.d.ts.map +0 -1
  240. package/dist/compose-template.js +0 -105
  241. package/dist/compose-template.js.map +0 -1
  242. package/dist/config-validate/index.d.ts +0 -4
  243. package/dist/config-validate/index.d.ts.map +0 -1
  244. package/dist/config-validate/index.js +0 -4
  245. package/dist/config-validate/index.js.map +0 -1
  246. package/dist/config-validate/registry.d.ts +0 -5
  247. package/dist/config-validate/registry.d.ts.map +0 -1
  248. package/dist/config-validate/registry.js.map +0 -1
  249. package/dist/config-validate/report.d.ts.map +0 -1
  250. package/dist/config-validate/report.js.map +0 -1
  251. package/dist/config-validate/schemas.d.ts +0 -2
  252. package/dist/config-validate/schemas.d.ts.map +0 -1
  253. package/dist/config-validate/schemas.js +0 -24
  254. package/dist/config-validate/schemas.js.map +0 -1
  255. package/dist/config-validate/types.d.ts.map +0 -1
  256. package/dist/config-validate/types.js.map +0 -1
  257. package/dist/config-validate/validator.d.ts.map +0 -1
  258. package/dist/config-validate/validator.js.map +0 -1
  259. package/dist/config.d.ts.map +0 -1
  260. package/dist/config.js.map +0 -1
  261. package/dist/doctor.d.ts.map +0 -1
  262. package/dist/doctor.js.map +0 -1
  263. package/dist/drivers.d.ts.map +0 -1
  264. package/dist/drivers.js +0 -170
  265. package/dist/drivers.js.map +0 -1
  266. /package/dist/{config-validate → commands/config/validate}/report.d.ts +0 -0
  267. /package/dist/{config-validate → commands/config/validate}/types.js +0 -0
  268. /package/dist/{config-validate → commands/config/validate}/validator.d.ts +0 -0
@@ -0,0 +1,401 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "credentials": {
6
+ "minItems": 1,
7
+ "type": "array",
8
+ "items": {
9
+ "oneOf": [
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "id": {
14
+ "type": "string",
15
+ "minLength": 1,
16
+ "pattern": "^[A-Za-z0-9_-]+$",
17
+ "description": "Credential query identifier."
18
+ },
19
+ "multiple": {
20
+ "description": "Allow multiple matching credentials.",
21
+ "type": "boolean"
22
+ },
23
+ "claim_sets": {
24
+ "description": "Optional claim set constraints.",
25
+ "type": "array",
26
+ "items": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "string"
30
+ }
31
+ }
32
+ },
33
+ "trusted_authorities": {
34
+ "description": "Optional trusted authority constraints.",
35
+ "type": "array",
36
+ "items": {
37
+ "oneOf": [
38
+ {
39
+ "type": "object",
40
+ "properties": {
41
+ "type": {
42
+ "type": "string",
43
+ "const": "etsi_tl",
44
+ "description": "Trusted authority type discriminator for ETSI trust lists."
45
+ },
46
+ "values": {
47
+ "type": "array",
48
+ "items": {
49
+ "type": "object",
50
+ "properties": {
51
+ "trustListId": {
52
+ "description": "Optional trust list id reference.",
53
+ "type": "string"
54
+ },
55
+ "url": {
56
+ "description": "Optional trust list URL reference.",
57
+ "anyOf": [
58
+ {
59
+ "type": "string",
60
+ "format": "uri"
61
+ },
62
+ {
63
+ "type": "string",
64
+ "pattern": "^<TENANT_URL>(?:\\/.*)?$"
65
+ }
66
+ ]
67
+ },
68
+ "verifierKey": {
69
+ "description": "Optional verifier key material.",
70
+ "type": "object",
71
+ "propertyNames": {
72
+ "type": "string"
73
+ },
74
+ "additionalProperties": {}
75
+ },
76
+ "verifierX509Der": {
77
+ "description": "Optional verifier certificate in DER/base64 form.",
78
+ "type": "string"
79
+ }
80
+ },
81
+ "additionalProperties": false
82
+ },
83
+ "description": "Trust list references for ETSI TL verification."
84
+ }
85
+ },
86
+ "required": [
87
+ "type",
88
+ "values"
89
+ ],
90
+ "additionalProperties": false
91
+ },
92
+ {
93
+ "type": "object",
94
+ "properties": {
95
+ "type": {
96
+ "type": "string",
97
+ "const": "openid_federation",
98
+ "description": "Trusted authority type discriminator for OpenID Federation."
99
+ },
100
+ "values": {
101
+ "type": "array",
102
+ "items": {
103
+ "type": "string"
104
+ },
105
+ "description": "OpenID Federation authority identifiers."
106
+ }
107
+ },
108
+ "required": [
109
+ "type",
110
+ "values"
111
+ ],
112
+ "additionalProperties": false
113
+ }
114
+ ]
115
+ }
116
+ },
117
+ "format": {
118
+ "type": "string",
119
+ "const": "dc+sd-jwt",
120
+ "description": "Credential format discriminator."
121
+ },
122
+ "meta": {
123
+ "type": "object",
124
+ "properties": {
125
+ "vct_values": {
126
+ "minItems": 1,
127
+ "type": "array",
128
+ "items": {
129
+ "type": "string"
130
+ },
131
+ "description": "Accepted VCT values."
132
+ }
133
+ },
134
+ "required": [
135
+ "vct_values"
136
+ ],
137
+ "additionalProperties": false
138
+ },
139
+ "claims": {
140
+ "description": "Optional claim-level constraints.",
141
+ "type": "array",
142
+ "items": {
143
+ "type": "object",
144
+ "properties": {
145
+ "id": {
146
+ "description": "Optional claim query id.",
147
+ "type": "string"
148
+ },
149
+ "path": {
150
+ "type": "array",
151
+ "items": {
152
+ "anyOf": [
153
+ {
154
+ "type": "string"
155
+ },
156
+ {
157
+ "type": "number"
158
+ }
159
+ ]
160
+ },
161
+ "description": "Path to the claim value in presented credentials."
162
+ },
163
+ "values": {
164
+ "description": "Optional allowed values for the claim.",
165
+ "type": "array",
166
+ "items": {
167
+ "type": "string"
168
+ }
169
+ }
170
+ },
171
+ "required": [
172
+ "path"
173
+ ],
174
+ "additionalProperties": false
175
+ }
176
+ }
177
+ },
178
+ "required": [
179
+ "id",
180
+ "format",
181
+ "meta"
182
+ ],
183
+ "additionalProperties": false
184
+ },
185
+ {
186
+ "type": "object",
187
+ "properties": {
188
+ "id": {
189
+ "type": "string",
190
+ "minLength": 1,
191
+ "pattern": "^[A-Za-z0-9_-]+$",
192
+ "description": "Credential query identifier."
193
+ },
194
+ "multiple": {
195
+ "description": "Allow multiple matching credentials.",
196
+ "type": "boolean"
197
+ },
198
+ "claim_sets": {
199
+ "description": "Optional claim set constraints.",
200
+ "type": "array",
201
+ "items": {
202
+ "type": "array",
203
+ "items": {
204
+ "type": "string"
205
+ }
206
+ }
207
+ },
208
+ "trusted_authorities": {
209
+ "description": "Optional trusted authority constraints.",
210
+ "type": "array",
211
+ "items": {
212
+ "oneOf": [
213
+ {
214
+ "type": "object",
215
+ "properties": {
216
+ "type": {
217
+ "type": "string",
218
+ "const": "etsi_tl",
219
+ "description": "Trusted authority type discriminator for ETSI trust lists."
220
+ },
221
+ "values": {
222
+ "type": "array",
223
+ "items": {
224
+ "type": "object",
225
+ "properties": {
226
+ "trustListId": {
227
+ "description": "Optional trust list id reference.",
228
+ "type": "string"
229
+ },
230
+ "url": {
231
+ "description": "Optional trust list URL reference.",
232
+ "anyOf": [
233
+ {
234
+ "type": "string",
235
+ "format": "uri"
236
+ },
237
+ {
238
+ "type": "string",
239
+ "pattern": "^<TENANT_URL>(?:\\/.*)?$"
240
+ }
241
+ ]
242
+ },
243
+ "verifierKey": {
244
+ "description": "Optional verifier key material.",
245
+ "type": "object",
246
+ "propertyNames": {
247
+ "type": "string"
248
+ },
249
+ "additionalProperties": {}
250
+ },
251
+ "verifierX509Der": {
252
+ "description": "Optional verifier certificate in DER/base64 form.",
253
+ "type": "string"
254
+ }
255
+ },
256
+ "additionalProperties": false
257
+ },
258
+ "description": "Trust list references for ETSI TL verification."
259
+ }
260
+ },
261
+ "required": [
262
+ "type",
263
+ "values"
264
+ ],
265
+ "additionalProperties": false
266
+ },
267
+ {
268
+ "type": "object",
269
+ "properties": {
270
+ "type": {
271
+ "type": "string",
272
+ "const": "openid_federation",
273
+ "description": "Trusted authority type discriminator for OpenID Federation."
274
+ },
275
+ "values": {
276
+ "type": "array",
277
+ "items": {
278
+ "type": "string"
279
+ },
280
+ "description": "OpenID Federation authority identifiers."
281
+ }
282
+ },
283
+ "required": [
284
+ "type",
285
+ "values"
286
+ ],
287
+ "additionalProperties": false
288
+ }
289
+ ]
290
+ }
291
+ },
292
+ "format": {
293
+ "type": "string",
294
+ "const": "mso_mdoc",
295
+ "description": "Credential format discriminator."
296
+ },
297
+ "meta": {
298
+ "type": "object",
299
+ "properties": {
300
+ "doctype_value": {
301
+ "type": "string",
302
+ "minLength": 1,
303
+ "description": "Expected mDoc doctype value."
304
+ }
305
+ },
306
+ "required": [
307
+ "doctype_value"
308
+ ],
309
+ "additionalProperties": false
310
+ },
311
+ "claims": {
312
+ "description": "Optional mDoc claim-level constraints.",
313
+ "type": "array",
314
+ "items": {
315
+ "type": "object",
316
+ "properties": {
317
+ "id": {
318
+ "description": "Optional claim query id.",
319
+ "type": "string"
320
+ },
321
+ "path": {
322
+ "type": "array",
323
+ "items": {
324
+ "anyOf": [
325
+ {
326
+ "type": "string"
327
+ },
328
+ {
329
+ "type": "number"
330
+ }
331
+ ]
332
+ },
333
+ "description": "Path to the claim value in presented credentials."
334
+ },
335
+ "values": {
336
+ "description": "Optional allowed values for the claim.",
337
+ "type": "array",
338
+ "items": {
339
+ "type": "string"
340
+ }
341
+ },
342
+ "intent_to_retain": {
343
+ "description": "Whether relying party intends to retain the claim.",
344
+ "type": "boolean"
345
+ }
346
+ },
347
+ "required": [
348
+ "path"
349
+ ],
350
+ "additionalProperties": false
351
+ }
352
+ }
353
+ },
354
+ "required": [
355
+ "id",
356
+ "format",
357
+ "meta"
358
+ ],
359
+ "additionalProperties": false
360
+ }
361
+ ]
362
+ },
363
+ "description": "Credential queries requested by the verifier."
364
+ },
365
+ "credential_sets": {
366
+ "description": "Optional higher-level credential set requirements.",
367
+ "type": "array",
368
+ "items": {
369
+ "type": "object",
370
+ "properties": {
371
+ "options": {
372
+ "minItems": 1,
373
+ "type": "array",
374
+ "items": {
375
+ "minItems": 1,
376
+ "type": "array",
377
+ "items": {
378
+ "type": "string"
379
+ }
380
+ },
381
+ "description": "Alternative credential query id combinations."
382
+ },
383
+ "required": {
384
+ "description": "Whether this credential set is mandatory.",
385
+ "type": "boolean"
386
+ }
387
+ },
388
+ "required": [
389
+ "options"
390
+ ],
391
+ "additionalProperties": false
392
+ }
393
+ }
394
+ },
395
+ "required": [
396
+ "credentials"
397
+ ],
398
+ "additionalProperties": false,
399
+ "$id": "./DCQL.schema.json",
400
+ "title": "DCQL"
401
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "oneOf": [
4
+ {
5
+ "type": "object",
6
+ "properties": {
7
+ "policy": {
8
+ "type": "string",
9
+ "const": "attestationBased",
10
+ "description": "Attestation-based policy discriminator."
11
+ },
12
+ "values": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "object",
16
+ "properties": {
17
+ "claims": {
18
+ "description": "Claims constraints considered by policy evaluation.",
19
+ "type": "array",
20
+ "items": {}
21
+ },
22
+ "credentials": {
23
+ "type": "array",
24
+ "items": {},
25
+ "description": "Credential constraints considered by policy evaluation."
26
+ },
27
+ "credential_sets": {
28
+ "description": "Optional credential set constraints.",
29
+ "type": "array",
30
+ "items": {}
31
+ }
32
+ },
33
+ "required": [
34
+ "credentials"
35
+ ],
36
+ "additionalProperties": false
37
+ },
38
+ "description": "Attestation requirements used for policy enforcement."
39
+ }
40
+ },
41
+ "required": [
42
+ "policy",
43
+ "values"
44
+ ],
45
+ "additionalProperties": false
46
+ },
47
+ {
48
+ "type": "object",
49
+ "properties": {
50
+ "policy": {
51
+ "type": "string",
52
+ "const": "none",
53
+ "description": "No disclosure policy enforcement."
54
+ }
55
+ },
56
+ "required": [
57
+ "policy"
58
+ ],
59
+ "additionalProperties": false
60
+ },
61
+ {
62
+ "type": "object",
63
+ "properties": {
64
+ "policy": {
65
+ "type": "string",
66
+ "const": "allowList",
67
+ "description": "Allow-list based policy discriminator."
68
+ },
69
+ "values": {
70
+ "type": "array",
71
+ "items": {
72
+ "type": "string"
73
+ },
74
+ "description": "Allowed values for policy checks."
75
+ }
76
+ },
77
+ "required": [
78
+ "policy",
79
+ "values"
80
+ ],
81
+ "additionalProperties": false
82
+ },
83
+ {
84
+ "type": "object",
85
+ "properties": {
86
+ "policy": {
87
+ "type": "string",
88
+ "const": "rootOfTrust",
89
+ "description": "Root-of-trust policy discriminator."
90
+ },
91
+ "values": {
92
+ "type": "string",
93
+ "description": "Root-of-trust identifier or reference."
94
+ }
95
+ },
96
+ "required": [
97
+ "policy",
98
+ "values"
99
+ ],
100
+ "additionalProperties": false
101
+ }
102
+ ],
103
+ "description": "Embedded disclosure policy configuration.",
104
+ "$id": "./EmbeddedDisclosurePolicy.schema.json",
105
+ "title": "EmbeddedDisclosurePolicy"
106
+ }
@@ -12,6 +12,75 @@
12
12
  "description": "Optional tenant description.",
13
13
  "type": "string",
14
14
  "minLength": 1
15
+ },
16
+ "sessionConfig": {
17
+ "description": "Optional tenant-specific session storage configuration.",
18
+ "type": "object",
19
+ "properties": {
20
+ "ttlSeconds": {
21
+ "description": "Session time-to-live in seconds.",
22
+ "type": "integer",
23
+ "minimum": 60,
24
+ "maximum": 9007199254740991
25
+ },
26
+ "cleanupMode": {
27
+ "description": "Whether to fully delete or anonymize expired sessions.",
28
+ "type": "string",
29
+ "enum": [
30
+ "full",
31
+ "anonymize"
32
+ ]
33
+ }
34
+ },
35
+ "additionalProperties": false
36
+ },
37
+ "statusListConfig": {
38
+ "description": "Optional tenant-specific status list defaults.",
39
+ "type": "object",
40
+ "properties": {
41
+ "capacity": {
42
+ "description": "Default status list capacity.",
43
+ "type": "integer",
44
+ "minimum": 100,
45
+ "maximum": 9007199254740991
46
+ },
47
+ "bits": {
48
+ "description": "Bits-per-status setting (1, 2, 4, or 8).",
49
+ "anyOf": [
50
+ {
51
+ "type": "number",
52
+ "const": 1
53
+ },
54
+ {
55
+ "type": "number",
56
+ "const": 2
57
+ },
58
+ {
59
+ "type": "number",
60
+ "const": 4
61
+ },
62
+ {
63
+ "type": "number",
64
+ "const": 8
65
+ }
66
+ ]
67
+ },
68
+ "ttl": {
69
+ "description": "JWT TTL for status list tokens in seconds.",
70
+ "type": "integer",
71
+ "minimum": 60,
72
+ "maximum": 9007199254740991
73
+ },
74
+ "immediateUpdate": {
75
+ "description": "Regenerate status list JWTs immediately after status updates.",
76
+ "type": "boolean"
77
+ },
78
+ "enableAggregation": {
79
+ "description": "Include aggregation_uri in generated status list JWTs.",
80
+ "type": "boolean"
81
+ }
82
+ },
83
+ "additionalProperties": false
15
84
  }
16
85
  },
17
86
  "required": [
@@ -74,6 +74,27 @@
74
74
  "format": "uri",
75
75
  "description": "Issuer URL for the external authorization server."
76
76
  },
77
+ "sessionBinding": {
78
+ "description": "Explicit mapping from an external access-token claim to an existing issuance session.",
79
+ "type": "object",
80
+ "properties": {
81
+ "method": {
82
+ "type": "string",
83
+ "const": "access_token_claim",
84
+ "description": "Read the correlation value from a configured access-token claim."
85
+ },
86
+ "claim": {
87
+ "type": "string",
88
+ "minLength": 1,
89
+ "description": "Claim name that contains the issuance-session correlation value."
90
+ }
91
+ },
92
+ "required": [
93
+ "method",
94
+ "claim"
95
+ ],
96
+ "additionalProperties": false
97
+ },
77
98
  "label": {
78
99
  "description": "Optional display label for UI selection.",
79
100
  "type": "string"
@@ -461,6 +482,10 @@
461
482
  "additionalProperties": {}
462
483
  }
463
484
  },
485
+ "notificationEndpointEnabled": {
486
+ "description": "Whether the OID4VCI notification endpoint is exposed for this issuance configuration.",
487
+ "type": "boolean"
488
+ },
464
489
  "credentialResponseEncryption": {
465
490
  "description": "Enable encrypted credential responses.",
466
491
  "type": "boolean"
@@ -469,11 +494,6 @@
469
494
  "description": "Require encrypted credential requests.",
470
495
  "type": "boolean"
471
496
  },
472
- "notificationEndpointEnabled": {
473
- "description": "Whether the issuer notification endpoint is enabled and advertised in metadata.",
474
- "type": "boolean",
475
- "default": true
476
- },
477
497
  "txCodeMaxAttempts": {
478
498
  "description": "Maximum verification attempts for transaction codes. Null resets to defaults.",
479
499
  "anyOf": [
@@ -494,4 +514,4 @@
494
514
  "additionalProperties": false,
495
515
  "$id": "./IssuanceConfig.schema.json",
496
516
  "title": "IssuanceConfig"
497
- }
517
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "./IssuanceConfigFile.schema.json",
4
+ "title": "IssuanceConfigFile",
5
+ "description": "An issuance configuration file in legacy payload or versioned-envelope form.",
6
+ "oneOf": [
7
+ {
8
+ "$ref": "./IssuanceConfig.schema.json"
9
+ },
10
+ {
11
+ "type": "object",
12
+ "properties": {
13
+ "apiVersion": {
14
+ "type": "string",
15
+ "const": "eudiplo.io/issuance-config/v2"
16
+ },
17
+ "kind": {
18
+ "type": "string",
19
+ "const": "IssuanceConfig"
20
+ },
21
+ "metadata": {
22
+ "$ref": "./ConfigDocumentMetadata.schema.json"
23
+ },
24
+ "spec": {
25
+ "$ref": "./IssuanceConfig.schema.json"
26
+ }
27
+ },
28
+ "required": ["apiVersion", "kind", "metadata", "spec"],
29
+ "additionalProperties": false
30
+ }
31
+ ]
32
+ }