@eudiplo/cli 9.1.0-main.892d49e → 9.1.0-main.8be8b4e

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 (96) 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/init/action.d.ts.map +1 -1
  16. package/dist/commands/init/action.js +1 -11
  17. package/dist/commands/init/action.js.map +1 -1
  18. package/dist/commands/instance/action.d.ts +2 -0
  19. package/dist/commands/instance/action.d.ts.map +1 -1
  20. package/dist/commands/instance/action.js +68 -12
  21. package/dist/commands/instance/action.js.map +1 -1
  22. package/dist/commands/instance/index.d.ts.map +1 -1
  23. package/dist/commands/instance/index.js +21 -3
  24. package/dist/commands/instance/index.js.map +1 -1
  25. package/dist/commands/open/action.d.ts.map +1 -1
  26. package/dist/commands/open/action.js +13 -2
  27. package/dist/commands/open/action.js.map +1 -1
  28. package/dist/commands/status/action.d.ts.map +1 -1
  29. package/dist/commands/status/action.js +2 -1
  30. package/dist/commands/status/action.js.map +1 -1
  31. package/dist/index.js +21395 -5631
  32. package/dist/services/api-auth.d.ts.map +1 -1
  33. package/dist/services/api-auth.js +3 -2
  34. package/dist/services/api-auth.js.map +1 -1
  35. package/dist/services/browser.d.ts.map +1 -1
  36. package/dist/services/browser.js +3 -2
  37. package/dist/services/browser.js.map +1 -1
  38. package/dist/services/cli-config.d.ts +41 -1
  39. package/dist/services/cli-config.d.ts.map +1 -1
  40. package/dist/services/cli-config.js +217 -29
  41. package/dist/services/cli-config.js.map +1 -1
  42. package/dist/services/compose-project.d.ts +6 -0
  43. package/dist/services/compose-project.d.ts.map +1 -1
  44. package/dist/services/compose-project.js +13 -2
  45. package/dist/services/compose-project.js.map +1 -1
  46. package/dist/services/diagnostics.d.ts.map +1 -1
  47. package/dist/services/diagnostics.js +9 -8
  48. package/dist/services/diagnostics.js.map +1 -1
  49. package/dist/services/instance-selection.d.ts.map +1 -1
  50. package/dist/services/instance-selection.js +2 -5
  51. package/dist/services/instance-selection.js.map +1 -1
  52. package/dist/services/url.d.ts +21 -0
  53. package/dist/services/url.d.ts.map +1 -0
  54. package/dist/services/url.js +61 -0
  55. package/dist/services/url.js.map +1 -0
  56. package/package.json +6 -5
  57. package/templates/demo-config/clients/presentation-test.json +1 -1
  58. package/templates/demo-config/clients/test.json +7 -2
  59. package/templates/demo-config/info.json +1 -1
  60. package/templates/demo-config/issuance/credentials/citizen.json +1 -1
  61. package/templates/demo-config/issuance/credentials/pid-key.json +1 -1
  62. package/templates/demo-config/issuance/credentials/pid-mdoc.json +1 -1
  63. package/templates/demo-config/issuance/credentials/pid.json +1 -1
  64. package/templates/demo-config/issuance/issuance.json +1 -1
  65. package/templates/demo-config/key-chains/access.json +1 -1
  66. package/templates/demo-config/key-chains/attestation.json +3 -2
  67. package/templates/demo-config/key-chains/status-list.json +6 -5
  68. package/templates/demo-config/key-chains/trust-list.json +1 -1
  69. package/templates/demo-config/presentation/age-over-18.json +1 -1
  70. package/templates/demo-config/presentation/pid.json +1 -1
  71. package/templates/docker-compose.yml +2 -2
  72. package/templates/schemas/ClientConfigFile.schema.json +134 -1
  73. package/templates/schemas/CreateClientDto.schema.json +5 -1
  74. package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
  75. package/templates/schemas/CreateRegistrarConfigDto.schema.json +29 -0
  76. package/templates/schemas/CreateTenantDto.schema.json +8 -4
  77. package/templates/schemas/CredentialConfigCreate.schema.json +242 -11
  78. package/templates/schemas/CredentialConfigFile.schema.json +1592 -1
  79. package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
  80. package/templates/schemas/IssuanceConfig.schema.json +122 -9
  81. package/templates/schemas/IssuanceConfigFile.schema.json +2247 -1
  82. package/templates/schemas/KeyChainConfigFile.schema.json +875 -119
  83. package/templates/schemas/KeyChainCreateDto.schema.json +12 -1
  84. package/templates/schemas/KeyChainDefaultsConfigFile.schema.json +123 -0
  85. package/templates/schemas/KeyChainImportDto.schema.json +10 -0
  86. package/templates/schemas/KmsConfigDto.schema.json +186 -0
  87. package/templates/schemas/KmsConfigFile.schema.json +1026 -1
  88. package/templates/schemas/PresentationConfigCreateDto.schema.json +16 -0
  89. package/templates/schemas/PresentationConfigFile.schema.json +746 -1
  90. package/templates/schemas/RegistrarConfigFile.schema.json +101 -1
  91. package/templates/schemas/RotationPolicyCreateDto.schema.json +1 -1
  92. package/templates/schemas/TenantConfigFile.schema.json +334 -64
  93. package/templates/schemas/UpdateClientDto.schema.json +5 -1
  94. package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
  95. package/templates/schemas/UpdateStatusListConfigDto.schema.json +5 -5
  96. package/templates/schemas.manifest.json +4 -0
@@ -1,6 +1,7 @@
1
1
  import packageJson from "../../package.json" with { type: "json" };
2
2
  import { fetchAuthenticated, requestAccessToken, withTrailingSlash, } from "./api-auth.js";
3
3
  import { compareVersions, readBackendVersion, readProviderHealth, summarizeProviderHealth, } from "./backend-checks.js";
4
+ import { describeRequestError, redactUrl } from "./url.js";
4
5
  import { checkTlsCertificate, readPeerCertificate, } from "./tls-expiry.js";
5
6
  const publicUrlCheck = {
6
7
  id: "public-url",
@@ -9,15 +10,15 @@ const publicUrlCheck = {
9
10
  return {
10
11
  name: "public URL",
11
12
  status: "fail",
12
- message: `${instance.url} is not a valid absolute URL`,
13
+ message: `${redactUrl(instance.url)} is not a valid absolute URL`,
13
14
  };
14
15
  }
15
16
  return {
16
17
  name: "public URL",
17
18
  status: baseUrl.protocol === "https:" ? "pass" : "warn",
18
19
  message: baseUrl.protocol === "https:"
19
- ? `${baseUrl.href} uses HTTPS`
20
- : `${baseUrl.href} does not use HTTPS`,
20
+ ? `${redactUrl(baseUrl.href)} uses HTTPS`
21
+ : `${redactUrl(baseUrl.href)} does not use HTTPS`,
21
22
  };
22
23
  },
23
24
  };
@@ -62,7 +63,7 @@ const clientConnectivityCheck = {
62
63
  return {
63
64
  name: "client connectivity",
64
65
  status: "fail",
65
- message: `${instance.clientUrl} is not a valid absolute URL`,
66
+ message: `${redactUrl(instance.clientUrl)} is not a valid absolute URL`,
66
67
  };
67
68
  }
68
69
  return checkEndpoint("client connectivity", clientUrl, "", context);
@@ -127,7 +128,7 @@ const kmsHealthCheck = {
127
128
  return {
128
129
  name: "KMS providers",
129
130
  status: "skip",
130
- message: `Needs a tenant client with issuance:manage or presentation:manage (${response.reason}).`,
131
+ message: `Needs a tenant client with issuance:manage, presentation:manage or keys:manage (${response.reason}).`,
131
132
  };
132
133
  }
133
134
  return {
@@ -248,20 +249,20 @@ async function checkEndpoint(name, baseUrl, path, context) {
248
249
  return {
249
250
  name,
250
251
  status: "pass",
251
- message: `${url.href} returned HTTP ${response.status}`,
252
+ message: `${redactUrl(url.href)} returned HTTP ${response.status}`,
252
253
  };
253
254
  }
254
255
  return {
255
256
  name,
256
257
  status: "fail",
257
- message: `${url.href} returned HTTP ${response.status}`,
258
+ message: `${redactUrl(url.href)} returned HTTP ${response.status}`,
258
259
  };
259
260
  }
260
261
  catch (error) {
261
262
  return {
262
263
  name,
263
264
  status: "fail",
264
- message: `${url.href} could not be reached: ${String(error)}`,
265
+ message: `${redactUrl(url.href)} could not be reached: ${describeRequestError(error, url)}`,
265
266
  };
266
267
  }
267
268
  }
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/services/diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/services/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"instance-selection.d.ts","sourceRoot":"","sources":["../../src/services/instance-selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzD,wBAAgB,eAAe,CAC3B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,GACnB,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAa1C"}
1
+ {"version":3,"file":"instance-selection.d.ts","sourceRoot":"","sources":["../../src/services/instance-selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzD,wBAAgB,eAAe,CAC3B,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,UAAU,GACnB,CAAC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAS1C"}
@@ -1,13 +1,10 @@
1
1
  import { readStringFlag } from "../options.js";
2
+ import { getInstance } from "./cli-config.js";
2
3
  export function resolveInstance(config, parsed) {
3
4
  const name = readStringFlag(parsed.flags, "instance") ?? config.defaultInstance;
4
5
  if (!name) {
5
6
  throw new Error("No instance selected. Use --instance or add an instance first.");
6
7
  }
7
- const instance = config.instances[name];
8
- if (!instance) {
9
- throw new Error(`Unknown instance: ${name}`);
10
- }
11
- return [name, instance];
8
+ return [name, getInstance(config, name)];
12
9
  }
13
10
  //# sourceMappingURL=instance-selection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instance-selection.js","sourceRoot":"","sources":["../../src/services/instance-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,UAAU,eAAe,CAC3B,MAAiB,EACjB,MAAkB;IAElB,MAAM,IAAI,GACN,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC;IACvE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACX,gEAAgE,CACnE,CAAC;IACN,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"instance-selection.js","sourceRoot":"","sources":["../../src/services/instance-selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,UAAU,eAAe,CAC3B,MAAiB,EACjB,MAAkB;IAElB,MAAM,IAAI,GACN,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC;IACvE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CACX,gEAAgE,CACnE,CAAC;IACN,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,21 @@
1
+ /** Throws unless `value` is an absolute HTTP(S) URL, as config loading requires. */
2
+ export declare function validateHttpUrl(value: string, label: string): void;
3
+ /** True when a URL carries user info such as `user:password@`. */
4
+ export declare function hasUserInfo(value: string): boolean;
5
+ /**
6
+ * Hides user info such as `user:password@` in a URL before it is printed.
7
+ * URLs without user info are returned exactly as configured. The masked form
8
+ * is built from the parsed URL, so spellings the URL parser accepts without
9
+ * `//`, such as `https:user:secret@host`, are masked too. A value that is not
10
+ * a URL is hidden entirely if it could contain user info.
11
+ */
12
+ export declare function redactUrl(value: string): string;
13
+ /** Returns the URL without user info, for handing it to another program. */
14
+ export declare function stripUserInfo(url: URL): URL;
15
+ /**
16
+ * Describes a failed request without the user info of its URL. Node's fetch
17
+ * repeats the full URL in some errors, for example "Request cannot be
18
+ * constructed from a URL that includes credentials: <url>".
19
+ */
20
+ export declare function describeRequestError(error: unknown, url: URL): string;
21
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../src/services/url.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CASlE;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAOlD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAa/C;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAK3C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAGrE"}
@@ -0,0 +1,61 @@
1
+ /** Throws unless `value` is an absolute HTTP(S) URL, as config loading requires. */
2
+ export function validateHttpUrl(value, label) {
3
+ try {
4
+ const url = new URL(value);
5
+ if (url.protocol !== "http:" && url.protocol !== "https:") {
6
+ throw new Error("Unsupported URL protocol.");
7
+ }
8
+ }
9
+ catch {
10
+ throw new Error(`${label} must be an absolute HTTP(S) URL.`);
11
+ }
12
+ }
13
+ /** True when a URL carries user info such as `user:password@`. */
14
+ export function hasUserInfo(value) {
15
+ try {
16
+ const url = new URL(value);
17
+ return url.username !== "" || url.password !== "";
18
+ }
19
+ catch {
20
+ return false;
21
+ }
22
+ }
23
+ /**
24
+ * Hides user info such as `user:password@` in a URL before it is printed.
25
+ * URLs without user info are returned exactly as configured. The masked form
26
+ * is built from the parsed URL, so spellings the URL parser accepts without
27
+ * `//`, such as `https:user:secret@host`, are masked too. A value that is not
28
+ * a URL is hidden entirely if it could contain user info.
29
+ */
30
+ export function redactUrl(value) {
31
+ let url;
32
+ try {
33
+ url = new URL(value);
34
+ }
35
+ catch {
36
+ return value.includes("@") ? "***" : value;
37
+ }
38
+ if (url.username === "" && url.password === "") {
39
+ return value;
40
+ }
41
+ url.username = "***";
42
+ url.password = "";
43
+ return url.href;
44
+ }
45
+ /** Returns the URL without user info, for handing it to another program. */
46
+ export function stripUserInfo(url) {
47
+ const stripped = new URL(url.href);
48
+ stripped.username = "";
49
+ stripped.password = "";
50
+ return stripped;
51
+ }
52
+ /**
53
+ * Describes a failed request without the user info of its URL. Node's fetch
54
+ * repeats the full URL in some errors, for example "Request cannot be
55
+ * constructed from a URL that includes credentials: <url>".
56
+ */
57
+ export function describeRequestError(error, url) {
58
+ const message = error instanceof Error ? error.message : String(error);
59
+ return message.replaceAll(url.href, redactUrl(url.href));
60
+ }
61
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../src/services/url.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAC,KAAa,EAAE,KAAa;IACxD,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,mCAAmC,CAAC,CAAC;IACjE,CAAC;AACL,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,WAAW,CAAC,KAAa;IACrC,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACnC,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACD,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/C,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;IACrB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;IAClB,OAAO,GAAG,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,aAAa,CAAC,GAAQ;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc,EAAE,GAAQ;IACzD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eudiplo/cli",
3
- "version": "9.1.0-main.892d49e",
3
+ "version": "9.1.0-main.8be8b4e",
4
4
  "description": "Deployment-aware command line tools for EUDIPLO",
5
5
  "private": false,
6
6
  "type": "module",
@@ -15,11 +15,12 @@
15
15
  "scripts": {
16
16
  "assets:sync": "node scripts/sync-cli-assets.cjs",
17
17
  "assets:check": "node scripts/check-cli-assets.cjs",
18
+ "build:deps": "pnpm --silent --filter \"@eudiplo/cli^...\" build",
18
19
  "build": "pnpm assets:sync && pnpm assets:check && tsc -p tsconfig.json",
19
20
  "build:publish": "pnpm build && esbuild src/index.ts --bundle --platform=node --format=esm --target=node22.12 --alias:jsonc-parser=jsonc-parser/lib/esm/main.js --outfile=dist/index.js",
20
21
  "build:sea:bundle": "pnpm assets:sync && pnpm assets:check && esbuild src/index.ts --bundle --platform=node --format=esm --target=node22.12 --alias:jsonc-parser=jsonc-parser/lib/esm/main.js --outfile=dist-sea/index.js",
21
22
  "build:sea": "node scripts/build-cli-sea.mjs",
22
- "dev": "tsx src/index.ts",
23
+ "dev": "pnpm -s build:deps && tsx src/index.ts",
23
24
  "test": "vitest run --root ../.. --project cli",
24
25
  "lint": "biome lint .",
25
26
  "format": "biome format --write .",
@@ -59,11 +60,11 @@
59
60
  "jsonc-parser": "^3.3.1"
60
61
  },
61
62
  "devDependencies": {
62
- "@biomejs/biome": "2.5.15",
63
- "@types/node": "^26.6.4",
63
+ "@biomejs/biome": "2.6.3",
64
+ "@types/node": "^26.6.5",
64
65
  "esbuild": "^0.28.2",
65
66
  "tsx": "^4.23.15",
66
67
  "typescript": "^7.0.2",
67
- "vitest": "5.0.3"
68
+ "vitest": "5.0.5"
68
69
  }
69
70
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/ClientConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v2/ClientConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/ClientConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v2/ClientConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -12,7 +12,12 @@
12
12
  "issuance:offer",
13
13
  "issuance:manage",
14
14
  "presentation:request",
15
- "presentation:manage"
15
+ "presentation:manage",
16
+ "registrar:manage",
17
+ "sessions:read",
18
+ "credentials:status",
19
+ "audit:read",
20
+ "keys:manage"
16
21
  ]
17
22
  }
18
23
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/TenantConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v4/TenantConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/CredentialConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v3/CredentialConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/CredentialConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v3/CredentialConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/CredentialConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v3/CredentialConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/CredentialConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v3/CredentialConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/IssuanceConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v6/IssuanceConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v4/KeyChainConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v4/KeyChainConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -21,7 +21,8 @@
21
21
  "kmsProvider": "db",
22
22
  "rotationPolicy": {
23
23
  "certValidityDays": 30,
24
- "enabled": true
24
+ "enabled": true,
25
+ "intervalDays": 20
25
26
  }
26
27
  }
27
28
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v4/KeyChainConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -11,17 +11,18 @@
11
11
  "type": "private-jwk",
12
12
  "jwk": {
13
13
  "crv": "P-256",
14
- "d": "oXPLTk02Mq9n8GfOTQ8hdoe3ENkNoN_Y2ymLnUmnbV0",
14
+ "d": "iAUEObUwUI-QDXsFYH9SLm7D-yuEUsOD73YG_jBgLGk",
15
15
  "kty": "EC",
16
- "x": "HHkkbUgKSkkqXmL8utl-TLWIg8CYQS4WPJ8j_nO44Yw",
17
- "y": "1NJY0LT3mEuucLQCZJWNrA7fVW8ypR4Zf5cuu85NjSw",
16
+ "x": "sSdNHYiCOK0E8lNE9rUQLUN3MbVeDnxjRwVwRiI9BqY",
17
+ "y": "xRP83r38x_MYGsteGhUW25Q0XVXA-ZRXlP38a8URPDg",
18
18
  "alg": "ES256"
19
19
  }
20
20
  },
21
21
  "kmsProvider": "db",
22
22
  "rotationPolicy": {
23
23
  "certValidityDays": 30,
24
- "enabled": true
24
+ "enabled": true,
25
+ "intervalDays": 20
25
26
  }
26
27
  }
27
28
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/KeyChainConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v4/KeyChainConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/PresentationConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v4/PresentationConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://eudiplo.dev/schemas/v1/PresentationConfigFile.schema.json",
2
+ "$schema": "https://eudiplo.dev/schemas/v4/PresentationConfigFile.schema.json",
3
3
  "metadata": {
4
4
  "generation": 1
5
5
  },
@@ -89,7 +89,7 @@ services:
89
89
  - eudiplo-network
90
90
 
91
91
  rustfs:
92
- image: rustfs/rustfs:1.0.0
92
+ image: rustfs/rustfs:1.0.3
93
93
  restart: always
94
94
  profiles: ['s3', 'standard', 'full']
95
95
  ports:
@@ -114,7 +114,7 @@ services:
114
114
 
115
115
  # S3 bucket initialization using the AWS CLI
116
116
  rustfs-init:
117
- image: amazon/aws-cli:2.37.4
117
+ image: amazon/aws-cli:2.38.5
118
118
  profiles: ['s3', 'standard', 'full']
119
119
  depends_on:
120
120
  rustfs:
@@ -9,7 +9,7 @@
9
9
  "properties": {
10
10
  "$schema": {
11
11
  "type": "string",
12
- "const": "https://eudiplo.dev/schemas/v1/ClientConfigFile.schema.json"
12
+ "const": "https://eudiplo.dev/schemas/v2/ClientConfigFile.schema.json"
13
13
  },
14
14
  "metadata": {
15
15
  "type": "object",
@@ -55,6 +55,139 @@
55
55
  "spec"
56
56
  ],
57
57
  "additionalProperties": false
58
+ },
59
+ {
60
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
61
+ "$id": "https://eudiplo.dev/schemas/v1/ClientConfigFile.schema.json",
62
+ "title": "ClientConfigFile",
63
+ "type": "object",
64
+ "properties": {
65
+ "$schema": {
66
+ "type": "string",
67
+ "const": "https://eudiplo.dev/schemas/v1/ClientConfigFile.schema.json"
68
+ },
69
+ "metadata": {
70
+ "type": "object",
71
+ "properties": {
72
+ "generation": {
73
+ "type": "integer",
74
+ "minimum": 1,
75
+ "description": "Monotonically increasing configuration generation."
76
+ },
77
+ "ownership": {
78
+ "type": "string",
79
+ "enum": [
80
+ "unmanaged",
81
+ "file-managed"
82
+ ],
83
+ "description": "Requested ownership recorded when the document is applied."
84
+ }
85
+ },
86
+ "additionalProperties": false
87
+ },
88
+ "spec": {
89
+ "allOf": [
90
+ {
91
+ "$ref": "#/$defs/CreateClientDto"
92
+ },
93
+ {
94
+ "type": "object",
95
+ "required": [
96
+ "clientId"
97
+ ],
98
+ "properties": {
99
+ "clientId": {
100
+ "type": "string",
101
+ "minLength": 1
102
+ }
103
+ }
104
+ }
105
+ ]
106
+ }
107
+ },
108
+ "required": [
109
+ "$schema",
110
+ "spec"
111
+ ],
112
+ "additionalProperties": false,
113
+ "$defs": {
114
+ "CreateClientDto": {
115
+ "type": "object",
116
+ "properties": {
117
+ "clientId": {
118
+ "type": "string",
119
+ "minLength": 1,
120
+ "pattern": "^[A-Za-z0-9._:-]+$",
121
+ "description": "Unique client identifier."
122
+ },
123
+ "secret": {
124
+ "description": "Optional client secret for confidential clients.",
125
+ "type": "string",
126
+ "minLength": 1
127
+ },
128
+ "description": {
129
+ "description": "Optional human-readable client description.",
130
+ "type": "string",
131
+ "minLength": 1
132
+ },
133
+ "roles": {
134
+ "minItems": 1,
135
+ "type": "array",
136
+ "items": {
137
+ "type": "string",
138
+ "enum": [
139
+ "presentation:manage",
140
+ "presentation:request",
141
+ "issuance:manage",
142
+ "issuance:offer",
143
+ "clients:manage",
144
+ "users:manage",
145
+ "tenants:manage",
146
+ "tenant:admin",
147
+ "registrar:manage"
148
+ ]
149
+ },
150
+ "description": "Roles assigned to the client. At least one role is required."
151
+ },
152
+ "allowedPresentationConfigs": {
153
+ "description": "Optional allow-list of presentation config ids this client can use.",
154
+ "anyOf": [
155
+ {
156
+ "type": "array",
157
+ "items": {
158
+ "type": "string",
159
+ "minLength": 1
160
+ }
161
+ },
162
+ {
163
+ "type": "null"
164
+ }
165
+ ]
166
+ },
167
+ "allowedIssuanceConfigs": {
168
+ "description": "Optional allow-list of issuance config ids this client can use.",
169
+ "anyOf": [
170
+ {
171
+ "type": "array",
172
+ "items": {
173
+ "type": "string",
174
+ "minLength": 1
175
+ }
176
+ },
177
+ {
178
+ "type": "null"
179
+ }
180
+ ]
181
+ }
182
+ },
183
+ "required": [
184
+ "clientId",
185
+ "roles"
186
+ ],
187
+ "additionalProperties": false,
188
+ "title": "CreateClientDto"
189
+ }
190
+ }
58
191
  }
59
192
  ]
60
193
  }
@@ -32,7 +32,11 @@
32
32
  "users:manage",
33
33
  "tenants:manage",
34
34
  "tenant:admin",
35
- "registrar:manage"
35
+ "registrar:manage",
36
+ "audit:read",
37
+ "sessions:read",
38
+ "credentials:status",
39
+ "keys:manage"
36
40
  ]
37
41
  },
38
42
  "description": "Roles assigned to the client. At least one role is required."