@eudiplo/cli 6.2.0 → 7.0.0

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 (40) hide show
  1. package/README.md +66 -14
  2. package/dist/compose-template.d.ts +14 -1
  3. package/dist/compose-template.d.ts.map +1 -1
  4. package/dist/compose-template.js +79 -5
  5. package/dist/compose-template.js.map +1 -1
  6. package/dist/drivers.d.ts +7 -2
  7. package/dist/drivers.d.ts.map +1 -1
  8. package/dist/drivers.js +38 -10
  9. package/dist/drivers.js.map +1 -1
  10. package/dist/runtime.d.ts.map +1 -1
  11. package/dist/runtime.js +63 -10
  12. package/dist/runtime.js.map +1 -1
  13. package/dist/sea-assets.d.ts +1 -0
  14. package/dist/sea-assets.d.ts.map +1 -1
  15. package/dist/sea-assets.js +13 -0
  16. package/dist/sea-assets.js.map +1 -1
  17. package/package.json +9 -8
  18. package/templates/demo-config/attribute-providers/claims-provider.json +9 -0
  19. package/templates/demo-config/clients/presentation-test.json +9 -0
  20. package/templates/demo-config/clients/test.json +12 -0
  21. package/templates/demo-config/images/company.png +0 -0
  22. package/templates/demo-config/images/credential.png +0 -0
  23. package/templates/demo-config/images/identity-card.jpg +0 -0
  24. package/templates/demo-config/images/logo.jpg +0 -0
  25. package/templates/demo-config/info.json +4 -0
  26. package/templates/demo-config/issuance/credentials/citizen.json +41 -0
  27. package/templates/demo-config/issuance/credentials/pid-key.json +377 -0
  28. package/templates/demo-config/issuance/credentials/pid-mdoc.json +451 -0
  29. package/templates/demo-config/issuance/credentials/pid.json +477 -0
  30. package/templates/demo-config/issuance/issuance.json +20 -0
  31. package/templates/demo-config/issuance/status-lists/pid.json +7 -0
  32. package/templates/demo-config/key-chains/access.json +17 -0
  33. package/templates/demo-config/key-chains/attestation.json +18 -0
  34. package/templates/demo-config/key-chains/status-list.json +18 -0
  35. package/templates/demo-config/key-chains/trust-list.json +14 -0
  36. package/templates/demo-config/presentation/age-over-18.json +64 -0
  37. package/templates/demo-config/trust-lists/trustlist-580831bc-ef11-43f4-a3be-a2b6bf1b29a3-config.json +112 -0
  38. package/templates/demo-config/webhook-endpoints/notification.json +9 -0
  39. package/templates/demo-config.manifest.json +23 -0
  40. package/templates/docker-compose.yml +3 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eudiplo/cli",
3
- "version": "6.2.0",
3
+ "version": "7.0.0",
4
4
  "description": "Deployment-aware command line tools for EUDIPLO",
5
5
  "private": false,
6
6
  "type": "module",
@@ -13,9 +13,10 @@
13
13
  "README.md"
14
14
  ],
15
15
  "scripts": {
16
+ "assets:sync": "node ../../scripts/sync-cli-assets.js",
16
17
  "assets:check": "node ../../scripts/check-cli-assets.js",
17
- "build": "pnpm assets:check && tsc -p tsconfig.json",
18
- "build:sea:bundle": "esbuild src/index.ts --bundle --platform=node --format=esm --target=node22 --outfile=dist-sea/index.js",
18
+ "build": "pnpm assets:sync && pnpm assets:check && tsc -p tsconfig.json",
19
+ "build:sea:bundle": "pnpm assets:sync && pnpm assets:check && esbuild src/index.ts --bundle --platform=node --format=esm --target=node22 --outfile=dist-sea/index.js",
19
20
  "build:sea": "node ../../scripts/build-cli-sea.mjs",
20
21
  "dev": "tsx src/index.ts",
21
22
  "test": "vitest run",
@@ -48,11 +49,11 @@
48
49
  "access": "public"
49
50
  },
50
51
  "devDependencies": {
51
- "@biomejs/biome": "2.5.4",
52
- "@types/node": "^26.0.1",
53
- "esbuild": "^0.28.1",
54
- "tsx": "^4.22.4",
55
- "typescript": "^6.0.3",
52
+ "@biomejs/biome": "2.5.7",
53
+ "@types/node": "^26.2.0",
54
+ "esbuild": "^0.28.2",
55
+ "tsx": "^4.23.11",
56
+ "typescript": "^7.0.2",
56
57
  "vitest": "4.1.10"
57
58
  }
58
59
  }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": "claims-provider",
3
+ "name": "Claims Provider",
4
+ "description": "Provides dynamic claim values during credential issuance",
5
+ "url": "${ATTRIBUTE_PROVIDER_URL:http://localhost:8787}",
6
+ "auth": {
7
+ "type": "none"
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "clientId": "presentation-test",
3
+ "secret": "${PRESENTATION_TEST_CLIENT_SECRET:presentation-test-secret}",
4
+ "description": "Load test client for OID4VP presentation scenarios",
5
+ "roles": [
6
+ "presentation:request",
7
+ "presentation:manage"
8
+ ]
9
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "clientId": "test-client",
3
+ "secret": "${TEST_CLIENT_SECRET:test-client-secret}",
4
+ "description": "Test client",
5
+ "roles": [
6
+ "clients:manage",
7
+ "issuance:offer",
8
+ "issuance:manage",
9
+ "presentation:request",
10
+ "presentation:manage"
11
+ ]
12
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "name": "Demo Tenant",
3
+ "description": "The demo tenant for the EUDI Wallet"
4
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "id": "citizen",
3
+ "description": "Citizen issuance with IAE flow",
4
+ "config": {
5
+ "format": "dc+sd-jwt",
6
+ "display": [
7
+ {
8
+ "name": "Citizen Pass",
9
+ "background_color": "#FFFFFF",
10
+ "background_image": {
11
+ "uri": "credential.png"
12
+ },
13
+ "description": "A pass for this citizen",
14
+ "locale": "en-US",
15
+ "text_color": "#000000"
16
+ }
17
+ ]
18
+ },
19
+ "iaeActions": [
20
+ {
21
+ "type": "openid4vp_presentation",
22
+ "presentationConfigId": "pid",
23
+ "label": "KYC process"
24
+ }
25
+ ],
26
+ "vct": {
27
+ "name": "Citizen",
28
+ "description": "This is our development version of the education credential. Don't panic."
29
+ },
30
+ "fields": [
31
+ {
32
+ "path": [
33
+ "town"
34
+ ],
35
+ "type": "string",
36
+ "defaultValue": "BERLIN",
37
+ "mandatory": true,
38
+ "disclosable": false
39
+ }
40
+ ]
41
+ }
@@ -0,0 +1,377 @@
1
+ {
2
+ "id": "pid-key",
3
+ "description": "Personal ID",
4
+ "config": {
5
+ "scope": "pid",
6
+ "format": "dc+sd-jwt",
7
+ "display": [
8
+ {
9
+ "name": "PID",
10
+ "description": "PID Credential",
11
+ "locale": "en-US",
12
+ "background_color": "#FFFFFF",
13
+ "text_color": "#000000",
14
+ "background_image": {
15
+ "uri": "identity-card.jpg"
16
+ },
17
+ "logo": {
18
+ "uri": "logo.jpg"
19
+ }
20
+ }
21
+ ],
22
+ "keyAttestationsRequired": {
23
+ "key_storage": [
24
+ "iso_18045_high",
25
+ "iso_18045_moderate"
26
+ ],
27
+ "user_authentication": [
28
+ "iso_18045_high",
29
+ "iso_18045_moderate"
30
+ ]
31
+ }
32
+ },
33
+ "vct": "urn:eudi:pid:de:1",
34
+ "keyBinding": true,
35
+ "statusManagement": true,
36
+ "lifeTime": 604800,
37
+ "fields": [
38
+ {
39
+ "path": [
40
+ "address"
41
+ ],
42
+ "type": "object",
43
+ "disclosable": true,
44
+ "children": [
45
+ {
46
+ "path": [
47
+ "country"
48
+ ],
49
+ "type": "string",
50
+ "defaultValue": "DE",
51
+ "mandatory": true,
52
+ "disclosable": true
53
+ },
54
+ {
55
+ "path": [
56
+ "locality"
57
+ ],
58
+ "type": "string",
59
+ "defaultValue": "KÖLN",
60
+ "mandatory": true,
61
+ "disclosable": true,
62
+ "display": [
63
+ {
64
+ "locale": "en-US",
65
+ "name": "City"
66
+ },
67
+ {
68
+ "locale": "de-DE",
69
+ "name": "Stadt"
70
+ }
71
+ ]
72
+ },
73
+ {
74
+ "path": [
75
+ "postal_code"
76
+ ],
77
+ "type": "string",
78
+ "defaultValue": "51147",
79
+ "mandatory": true,
80
+ "disclosable": true,
81
+ "display": [
82
+ {
83
+ "locale": "en-US",
84
+ "name": "Postal Code"
85
+ },
86
+ {
87
+ "locale": "de-DE",
88
+ "name": "Postleitzahl"
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "path": [
94
+ "street_address"
95
+ ],
96
+ "type": "string",
97
+ "defaultValue": "HEIDESTRAẞE 17",
98
+ "mandatory": true,
99
+ "disclosable": true
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ "path": [
105
+ "age_birth_year"
106
+ ],
107
+ "type": "integer",
108
+ "defaultValue": 1964,
109
+ "mandatory": true,
110
+ "disclosable": true
111
+ },
112
+ {
113
+ "path": [
114
+ "age_equal_or_over"
115
+ ],
116
+ "type": "object",
117
+ "disclosable": true,
118
+ "children": [
119
+ {
120
+ "path": [
121
+ "12"
122
+ ],
123
+ "type": "boolean",
124
+ "defaultValue": true,
125
+ "mandatory": true,
126
+ "disclosable": true
127
+ },
128
+ {
129
+ "path": [
130
+ "14"
131
+ ],
132
+ "type": "boolean",
133
+ "defaultValue": true,
134
+ "mandatory": true,
135
+ "disclosable": true
136
+ },
137
+ {
138
+ "path": [
139
+ "16"
140
+ ],
141
+ "type": "boolean",
142
+ "defaultValue": true,
143
+ "mandatory": true,
144
+ "disclosable": true
145
+ },
146
+ {
147
+ "path": [
148
+ "18"
149
+ ],
150
+ "type": "boolean",
151
+ "defaultValue": true,
152
+ "mandatory": true,
153
+ "disclosable": true
154
+ },
155
+ {
156
+ "path": [
157
+ "21"
158
+ ],
159
+ "type": "boolean",
160
+ "defaultValue": true,
161
+ "mandatory": true,
162
+ "disclosable": true
163
+ },
164
+ {
165
+ "path": [
166
+ "65"
167
+ ],
168
+ "type": "boolean",
169
+ "defaultValue": false,
170
+ "mandatory": true,
171
+ "disclosable": true
172
+ }
173
+ ]
174
+ },
175
+ {
176
+ "path": [
177
+ "age_in_years"
178
+ ],
179
+ "type": "integer",
180
+ "defaultValue": 61,
181
+ "mandatory": true,
182
+ "disclosable": true
183
+ },
184
+ {
185
+ "path": [
186
+ "birthdate"
187
+ ],
188
+ "type": "string",
189
+ "defaultValue": "1964-08-12",
190
+ "mandatory": true,
191
+ "disclosable": true,
192
+ "display": [
193
+ {
194
+ "locale": "en-US",
195
+ "name": "Date of Birth"
196
+ },
197
+ {
198
+ "locale": "de-DE",
199
+ "name": "Geburtsdatum"
200
+ }
201
+ ],
202
+ "constraints": {
203
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
204
+ }
205
+ },
206
+ {
207
+ "path": [
208
+ "family_name"
209
+ ],
210
+ "type": "string",
211
+ "defaultValue": "MUSTERMANN",
212
+ "mandatory": true,
213
+ "disclosable": true,
214
+ "display": [
215
+ {
216
+ "locale": "en-US",
217
+ "name": "Family Name"
218
+ },
219
+ {
220
+ "locale": "de-DE",
221
+ "name": "Nachname"
222
+ }
223
+ ]
224
+ },
225
+ {
226
+ "path": [
227
+ "given_name"
228
+ ],
229
+ "type": "string",
230
+ "defaultValue": "ERIKA",
231
+ "mandatory": true,
232
+ "disclosable": true,
233
+ "display": [
234
+ {
235
+ "locale": "en-US",
236
+ "name": "Given Name"
237
+ },
238
+ {
239
+ "locale": "de-DE",
240
+ "name": "Vorname"
241
+ }
242
+ ]
243
+ },
244
+ {
245
+ "path": [
246
+ "issuing_authority"
247
+ ],
248
+ "type": "string",
249
+ "defaultValue": "DE",
250
+ "mandatory": true,
251
+ "disclosable": true
252
+ },
253
+ {
254
+ "path": [
255
+ "issuing_country"
256
+ ],
257
+ "type": "string",
258
+ "defaultValue": "DE",
259
+ "mandatory": true,
260
+ "disclosable": true,
261
+ "display": [
262
+ {
263
+ "locale": "en-US",
264
+ "name": "Issuing Country"
265
+ },
266
+ {
267
+ "locale": "de-DE",
268
+ "name": "Ausstellungsland"
269
+ }
270
+ ]
271
+ },
272
+ {
273
+ "path": [
274
+ "nationalities"
275
+ ],
276
+ "type": "array",
277
+ "defaultValue": [
278
+ "DE"
279
+ ],
280
+ "mandatory": true,
281
+ "disclosable": true,
282
+ "display": [
283
+ {
284
+ "locale": "en-US",
285
+ "name": "Nationalities"
286
+ },
287
+ {
288
+ "locale": "de-DE",
289
+ "name": "Staatsangehörigkeiten"
290
+ }
291
+ ],
292
+ "constraints": {
293
+ "items": {
294
+ "type": "string",
295
+ "title": "Nationality"
296
+ }
297
+ },
298
+ "children": [
299
+ {
300
+ "path": [
301
+ 0
302
+ ],
303
+ "type": "string",
304
+ "defaultValue": "DE",
305
+ "disclosable": false,
306
+ "display": [
307
+ {
308
+ "locale": "en-US",
309
+ "name": "Nationality"
310
+ },
311
+ {
312
+ "locale": "de-DE",
313
+ "name": "Staatsangehörigkeit"
314
+ }
315
+ ]
316
+ }
317
+ ]
318
+ },
319
+ {
320
+ "path": [
321
+ "place_of_birth"
322
+ ],
323
+ "type": "object",
324
+ "disclosable": true,
325
+ "display": [
326
+ {
327
+ "locale": "en-US",
328
+ "name": "Place of Birth"
329
+ },
330
+ {
331
+ "locale": "de-DE",
332
+ "name": "Geburtsort"
333
+ }
334
+ ],
335
+ "children": [
336
+ {
337
+ "path": [
338
+ "locality"
339
+ ],
340
+ "type": "string",
341
+ "defaultValue": "BERLIN",
342
+ "mandatory": true,
343
+ "disclosable": false,
344
+ "display": [
345
+ {
346
+ "locale": "en-US",
347
+ "name": "Place of Birth"
348
+ },
349
+ {
350
+ "locale": "de-DE",
351
+ "name": "Geburtsort"
352
+ }
353
+ ]
354
+ }
355
+ ]
356
+ },
357
+ {
358
+ "path": [
359
+ "source_document_type"
360
+ ],
361
+ "type": "string",
362
+ "defaultValue": "id_card",
363
+ "mandatory": true,
364
+ "disclosable": true,
365
+ "display": [
366
+ {
367
+ "locale": "en-US",
368
+ "name": "Source Document Type"
369
+ },
370
+ {
371
+ "locale": "de-DE",
372
+ "name": "Art des Ausweisdokuments"
373
+ }
374
+ ]
375
+ }
376
+ ]
377
+ }