@eudiplo/cli 9.1.0-main.e4e29b5 → 9.1.0-main.ea0dcd8

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 (74) 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 +4 -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 +6 -2
  7. package/dist/commands/config/portability/upgrade.js.map +1 -1
  8. package/dist/commands/config/validate/action.d.ts.map +1 -1
  9. package/dist/commands/config/validate/action.js +2 -1
  10. package/dist/commands/config/validate/action.js.map +1 -1
  11. package/dist/commands/config/validate/registry.json +10 -0
  12. package/dist/commands/init/action.d.ts.map +1 -1
  13. package/dist/commands/init/action.js +1 -11
  14. package/dist/commands/init/action.js.map +1 -1
  15. package/dist/commands/instance/action.d.ts +2 -0
  16. package/dist/commands/instance/action.d.ts.map +1 -1
  17. package/dist/commands/instance/action.js +68 -12
  18. package/dist/commands/instance/action.js.map +1 -1
  19. package/dist/commands/instance/index.d.ts.map +1 -1
  20. package/dist/commands/instance/index.js +21 -3
  21. package/dist/commands/instance/index.js.map +1 -1
  22. package/dist/commands/open/action.d.ts.map +1 -1
  23. package/dist/commands/open/action.js +13 -2
  24. package/dist/commands/open/action.js.map +1 -1
  25. package/dist/commands/status/action.d.ts.map +1 -1
  26. package/dist/commands/status/action.js +2 -1
  27. package/dist/commands/status/action.js.map +1 -1
  28. package/dist/index.js +5291 -988
  29. package/dist/services/api-auth.d.ts.map +1 -1
  30. package/dist/services/api-auth.js +3 -2
  31. package/dist/services/api-auth.js.map +1 -1
  32. package/dist/services/browser.d.ts.map +1 -1
  33. package/dist/services/browser.js +3 -2
  34. package/dist/services/browser.js.map +1 -1
  35. package/dist/services/cli-config.d.ts +41 -1
  36. package/dist/services/cli-config.d.ts.map +1 -1
  37. package/dist/services/cli-config.js +217 -29
  38. package/dist/services/cli-config.js.map +1 -1
  39. package/dist/services/diagnostics.d.ts.map +1 -1
  40. package/dist/services/diagnostics.js +9 -8
  41. package/dist/services/diagnostics.js.map +1 -1
  42. package/dist/services/instance-selection.d.ts.map +1 -1
  43. package/dist/services/instance-selection.js +2 -5
  44. package/dist/services/instance-selection.js.map +1 -1
  45. package/dist/services/url.d.ts +21 -0
  46. package/dist/services/url.d.ts.map +1 -0
  47. package/dist/services/url.js +61 -0
  48. package/dist/services/url.js.map +1 -0
  49. package/package.json +4 -3
  50. package/templates/demo-config/clients/presentation-test.json +1 -1
  51. package/templates/demo-config/clients/test.json +6 -2
  52. package/templates/demo-config/key-chains/attestation.json +2 -1
  53. package/templates/demo-config/key-chains/status-list.json +2 -1
  54. package/templates/docker-compose.yml +2 -2
  55. package/templates/schemas/ClientConfigFile.schema.json +134 -1
  56. package/templates/schemas/CreateClientDto.schema.json +5 -1
  57. package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
  58. package/templates/schemas/CreateRegistrarConfigDto.schema.json +29 -0
  59. package/templates/schemas/CreateTenantDto.schema.json +5 -1
  60. package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
  61. package/templates/schemas/IssuanceConfig.schema.json +120 -2
  62. package/templates/schemas/IssuanceConfigFile.schema.json +1434 -1
  63. package/templates/schemas/KeyChainConfigFile.schema.json +505 -119
  64. package/templates/schemas/KeyChainCreateDto.schema.json +11 -1
  65. package/templates/schemas/KeyChainImportDto.schema.json +9 -0
  66. package/templates/schemas/KmsConfigDto.schema.json +186 -0
  67. package/templates/schemas/KmsConfigFile.schema.json +1026 -1
  68. package/templates/schemas/RegistrarConfigFile.schema.json +101 -1
  69. package/templates/schemas/RotationPolicyCreateDto.schema.json +1 -1
  70. package/templates/schemas/TenantConfigFile.schema.json +4 -129
  71. package/templates/schemas/UpdateClientDto.schema.json +5 -1
  72. package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
  73. package/templates/schemas/UpdateStatusListConfigDto.schema.json +5 -5
  74. package/templates/schemas.manifest.json +3 -0
@@ -9,7 +9,7 @@
9
9
  "properties": {
10
10
  "$schema": {
11
11
  "type": "string",
12
- "const": "https://eudiplo.dev/schemas/v1/RegistrarConfigFile.schema.json"
12
+ "const": "https://eudiplo.dev/schemas/v2/RegistrarConfigFile.schema.json"
13
13
  },
14
14
  "metadata": {
15
15
  "type": "object",
@@ -39,6 +39,106 @@
39
39
  "spec"
40
40
  ],
41
41
  "additionalProperties": false
42
+ },
43
+ {
44
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
45
+ "$id": "https://eudiplo.dev/schemas/v1/RegistrarConfigFile.schema.json",
46
+ "title": "RegistrarConfigFile",
47
+ "type": "object",
48
+ "properties": {
49
+ "$schema": {
50
+ "type": "string",
51
+ "const": "https://eudiplo.dev/schemas/v1/RegistrarConfigFile.schema.json"
52
+ },
53
+ "metadata": {
54
+ "type": "object",
55
+ "properties": {
56
+ "generation": {
57
+ "type": "integer",
58
+ "minimum": 1,
59
+ "description": "Monotonically increasing configuration generation."
60
+ },
61
+ "ownership": {
62
+ "type": "string",
63
+ "enum": [
64
+ "unmanaged",
65
+ "file-managed"
66
+ ],
67
+ "description": "Requested ownership recorded when the document is applied."
68
+ }
69
+ },
70
+ "additionalProperties": false
71
+ },
72
+ "spec": {
73
+ "$ref": "#/$defs/CreateRegistrarConfigDto"
74
+ }
75
+ },
76
+ "required": [
77
+ "$schema",
78
+ "spec"
79
+ ],
80
+ "additionalProperties": false,
81
+ "$defs": {
82
+ "CreateRegistrarConfigDto": {
83
+ "type": "object",
84
+ "properties": {
85
+ "registrarUrl": {
86
+ "type": "string",
87
+ "format": "uri",
88
+ "description": "Base URL of the registrar service."
89
+ },
90
+ "oidcUrl": {
91
+ "type": "string",
92
+ "format": "uri",
93
+ "description": "OIDC discovery or issuer URL used for authentication."
94
+ },
95
+ "clientId": {
96
+ "type": "string",
97
+ "minLength": 1,
98
+ "description": "OAuth client ID used against the registrar."
99
+ },
100
+ "clientSecret": {
101
+ "description": "Optional OAuth client secret for registrar authentication.",
102
+ "type": "string",
103
+ "minLength": 1
104
+ },
105
+ "username": {
106
+ "type": "string",
107
+ "minLength": 1,
108
+ "description": "Username used for registrar authentication."
109
+ },
110
+ "password": {
111
+ "type": "string",
112
+ "minLength": 1,
113
+ "description": "Password used for registrar authentication."
114
+ },
115
+ "registrationCertificateDefaults": {
116
+ "description": "Optional default registration certificate values.",
117
+ "anyOf": [
118
+ {
119
+ "type": "object",
120
+ "propertyNames": {
121
+ "type": "string"
122
+ },
123
+ "additionalProperties": {}
124
+ },
125
+ {
126
+ "type": "null"
127
+ }
128
+ ]
129
+ }
130
+ },
131
+ "required": [
132
+ "registrarUrl",
133
+ "oidcUrl",
134
+ "clientId",
135
+ "username",
136
+ "password"
137
+ ],
138
+ "additionalProperties": false,
139
+ "title": "CreateRegistrarConfigDto"
140
+ }
141
+ }
42
142
  }
43
143
  ]
44
144
  }
@@ -7,7 +7,7 @@
7
7
  "description": "Enable or disable automatic key rotation."
8
8
  },
9
9
  "intervalDays": {
10
- "description": "Rotation interval in days.",
10
+ "description": "Rotation interval in days. Required when `enabled` is true.",
11
11
  "type": "number",
12
12
  "minimum": 1,
13
13
  "maximum": 3650
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "anyOf": [
3
+ "$id": "./TenantConfigFile.schema.json",
4
+ "title": "TenantConfigFile",
5
+ "description": "Configuration file identified by its $schema URL.",
6
+ "oneOf": [
4
7
  {
5
8
  "type": "object",
6
9
  "properties": {
@@ -214,133 +217,5 @@
214
217
  "additionalProperties": false,
215
218
  "description": "Payload used when importing tenant metadata from config files."
216
219
  }
217
- ],
218
- "$id": "./TenantConfigFile.schema.json",
219
- "title": "TenantConfigFile",
220
- "description": "Configuration file identified by its $schema URL.",
221
- "oneOf": [
222
- {
223
- "type": "object",
224
- "properties": {
225
- "$schema": {
226
- "type": "string",
227
- "const": "https://eudiplo.dev/schemas/v1/TenantConfigFile.schema.json"
228
- },
229
- "metadata": {
230
- "type": "object",
231
- "properties": {
232
- "generation": {
233
- "type": "integer",
234
- "minimum": 1,
235
- "maximum": 9007199254740991
236
- },
237
- "ownership": {
238
- "type": "string",
239
- "enum": [
240
- "unmanaged",
241
- "file-managed"
242
- ]
243
- }
244
- },
245
- "additionalProperties": false
246
- },
247
- "spec": {
248
- "type": "object",
249
- "properties": {
250
- "name": {
251
- "default": "EUDIPLO",
252
- "description": "Display name of the tenant.",
253
- "type": "string",
254
- "minLength": 1
255
- },
256
- "description": {
257
- "description": "Optional tenant description.",
258
- "type": "string",
259
- "minLength": 1
260
- },
261
- "sessionConfig": {
262
- "description": "Optional tenant-specific session storage configuration.",
263
- "type": "object",
264
- "properties": {
265
- "ttlSeconds": {
266
- "description": "Session time-to-live in seconds.",
267
- "type": "integer",
268
- "minimum": 60,
269
- "maximum": 9007199254740991
270
- },
271
- "cleanupMode": {
272
- "description": "Whether to fully delete or anonymize expired sessions.",
273
- "type": "string",
274
- "enum": [
275
- "full",
276
- "anonymize"
277
- ]
278
- }
279
- },
280
- "additionalProperties": false
281
- },
282
- "statusListConfig": {
283
- "description": "Optional tenant-specific status list defaults.",
284
- "type": "object",
285
- "properties": {
286
- "capacity": {
287
- "description": "Default status list capacity.",
288
- "type": "integer",
289
- "minimum": 100,
290
- "maximum": 9007199254740991
291
- },
292
- "bits": {
293
- "description": "Bits-per-status setting (1, 2, 4, or 8).",
294
- "anyOf": [
295
- {
296
- "type": "number",
297
- "const": 1
298
- },
299
- {
300
- "type": "number",
301
- "const": 2
302
- },
303
- {
304
- "type": "number",
305
- "const": 4
306
- },
307
- {
308
- "type": "number",
309
- "const": 8
310
- }
311
- ]
312
- },
313
- "ttl": {
314
- "description": "JWT TTL for status list tokens in seconds.",
315
- "type": "integer",
316
- "minimum": 60,
317
- "maximum": 9007199254740991
318
- },
319
- "immediateUpdate": {
320
- "description": "Regenerate status list JWTs immediately after status updates.",
321
- "type": "boolean"
322
- },
323
- "enableAggregation": {
324
- "description": "Include aggregation_uri in generated status list JWTs.",
325
- "type": "boolean"
326
- }
327
- },
328
- "additionalProperties": false
329
- }
330
- },
331
- "required": [
332
- "name"
333
- ],
334
- "additionalProperties": false,
335
- "description": "Payload used when importing tenant metadata from config files."
336
- }
337
- },
338
- "required": [
339
- "$schema",
340
- "metadata",
341
- "spec"
342
- ],
343
- "additionalProperties": false
344
- }
345
220
  ]
346
221
  }
@@ -22,7 +22,11 @@
22
22
  "users:manage",
23
23
  "tenants:manage",
24
24
  "tenant:admin",
25
- "registrar:manage"
25
+ "registrar:manage",
26
+ "audit:read",
27
+ "sessions:read",
28
+ "credentials:status",
29
+ "keys:manage"
26
30
  ]
27
31
  }
28
32
  },
@@ -0,0 +1,70 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "entityId": {
6
+ "type": "string",
7
+ "minLength": 1,
8
+ "maxLength": 2048,
9
+ "description": "Entity identifier of the trust anchor, exactly as configured in `federation.trustAnchors` and DCQL `openid_federation` values."
10
+ },
11
+ "description": {
12
+ "anyOf": [
13
+ {
14
+ "type": "string",
15
+ "minLength": 1,
16
+ "maxLength": 1000
17
+ },
18
+ {
19
+ "type": "null"
20
+ }
21
+ ],
22
+ "description": "Optional description of the trust anchor."
23
+ },
24
+ "jwks": {
25
+ "type": "object",
26
+ "properties": {
27
+ "keys": {
28
+ "minItems": 1,
29
+ "maxItems": 20,
30
+ "type": "array",
31
+ "items": {
32
+ "type": "object",
33
+ "properties": {
34
+ "kty": {
35
+ "type": "string",
36
+ "enum": [
37
+ "EC",
38
+ "RSA",
39
+ "OKP"
40
+ ],
41
+ "description": "Key type of the public federation key."
42
+ },
43
+ "kid": {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "maxLength": 256,
47
+ "description": "Key ID. Federation statements name their signing key with `kid`."
48
+ }
49
+ },
50
+ "required": [
51
+ "kty",
52
+ "kid"
53
+ ],
54
+ "additionalProperties": {},
55
+ "description": "Public federation key of the trust anchor as a JWK."
56
+ },
57
+ "description": "The trust anchor's federation keys."
58
+ }
59
+ },
60
+ "required": [
61
+ "keys"
62
+ ],
63
+ "additionalProperties": false,
64
+ "description": "JWK set with the federation keys of the trust anchor, obtained out of band (OpenID Federation 1.0 Section 10.2)."
65
+ }
66
+ },
67
+ "additionalProperties": false,
68
+ "$id": "./UpdateFederationTrustAnchorDto.schema.json",
69
+ "title": "UpdateFederationTrustAnchorDto"
70
+ }
@@ -3,7 +3,7 @@
3
3
  "type": "object",
4
4
  "properties": {
5
5
  "capacity": {
6
- "description": "Capacity override. Set null to reset to defaults.",
6
+ "description": "Capacity override. Omit or set null to follow STATUS_CAPACITY.",
7
7
  "anyOf": [
8
8
  {
9
9
  "type": "integer",
@@ -16,7 +16,7 @@
16
16
  ]
17
17
  },
18
18
  "bits": {
19
- "description": "Bits-per-status override. Set null to reset to defaults.",
19
+ "description": "Bits-per-status override. Omit or set null to follow STATUS_BITS.",
20
20
  "anyOf": [
21
21
  {
22
22
  "anyOf": [
@@ -44,7 +44,7 @@
44
44
  ]
45
45
  },
46
46
  "ttl": {
47
- "description": "JWT TTL override in seconds. Set null to reset.",
47
+ "description": "JWT TTL override in seconds. Omit or set null to follow STATUS_TTL.",
48
48
  "anyOf": [
49
49
  {
50
50
  "type": "integer",
@@ -57,14 +57,14 @@
57
57
  ]
58
58
  },
59
59
  "immediateUpdate": {
60
- "description": "Immediate regeneration toggle. Set null to reset.",
60
+ "description": "Immediate regeneration toggle. Omit or set null to follow STATUS_IMMEDIATE_UPDATE.",
61
61
  "type": [
62
62
  "boolean",
63
63
  "null"
64
64
  ]
65
65
  },
66
66
  "enableAggregation": {
67
- "description": "Aggregation URI toggle. Set null to reset.",
67
+ "description": "Aggregation URI toggle. Omit or set null to follow STATUS_ENABLE_AGGREGATION.",
68
68
  "type": [
69
69
  "boolean",
70
70
  "null"
@@ -6,6 +6,7 @@
6
6
  "ConfigDocumentMetadata.schema.json",
7
7
  "CreateAttributeProviderDto.schema.json",
8
8
  "CreateClientDto.schema.json",
9
+ "CreateFederationTrustAnchorDto.schema.json",
9
10
  "CreateRegistrarConfigDto.schema.json",
10
11
  "CreateStatusListDto.schema.json",
11
12
  "CreateTenantDto.schema.json",
@@ -14,6 +15,7 @@
14
15
  "CredentialConfigFile.schema.json",
15
16
  "DCQL.schema.json",
16
17
  "EmbeddedDisclosurePolicy.schema.json",
18
+ "FederationTrustAnchorConfigFile.schema.json",
17
19
  "ImportTenantDto.schema.json",
18
20
  "IssuanceConfig.schema.json",
19
21
  "IssuanceConfigFile.schema.json",
@@ -38,6 +40,7 @@
38
40
  "TrustListCreateDto.schema.json",
39
41
  "UpdateAttributeProviderDto.schema.json",
40
42
  "UpdateClientDto.schema.json",
43
+ "UpdateFederationTrustAnchorDto.schema.json",
41
44
  "UpdateStatusListConfigDto.schema.json",
42
45
  "UpdateStatusListDto.schema.json",
43
46
  "UpdateTenantDto.schema.json",