@eudiplo/cli 9.1.0-main.aba3274 → 9.1.0-main.ae06d54

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 (49) hide show
  1. package/dist/commands/config/portability/migrations.spec.js +4 -2
  2. package/dist/commands/config/portability/migrations.spec.js.map +1 -1
  3. package/dist/commands/config/portability/upgrade.d.ts.map +1 -1
  4. package/dist/commands/config/portability/upgrade.js +2 -7
  5. package/dist/commands/config/portability/upgrade.js.map +1 -1
  6. package/dist/commands/config/tenant/action.d.ts.map +1 -1
  7. package/dist/commands/config/tenant/action.js +3 -2
  8. package/dist/commands/config/tenant/action.js.map +1 -1
  9. package/dist/commands/config/validate/registry.json +21 -0
  10. package/dist/commands/config/validate/validator.d.ts.map +1 -1
  11. package/dist/commands/config/validate/validator.js +26 -3
  12. package/dist/commands/config/validate/validator.js.map +1 -1
  13. package/dist/index.js +18272 -4909
  14. package/dist/services/compose-project.d.ts +6 -0
  15. package/dist/services/compose-project.d.ts.map +1 -1
  16. package/dist/services/compose-project.js +13 -2
  17. package/dist/services/compose-project.js.map +1 -1
  18. package/package.json +6 -5
  19. package/templates/demo-config/info.json +1 -1
  20. package/templates/demo-config/issuance/credentials/citizen.json +1 -1
  21. package/templates/demo-config/issuance/credentials/pid-key.json +1 -1
  22. package/templates/demo-config/issuance/credentials/pid-mdoc.json +1 -1
  23. package/templates/demo-config/issuance/credentials/pid.json +1 -1
  24. package/templates/demo-config/issuance/issuance.json +1 -1
  25. package/templates/demo-config/key-chains/access.json +1 -1
  26. package/templates/demo-config/key-chains/attestation.json +1 -1
  27. package/templates/demo-config/key-chains/status-list.json +4 -4
  28. package/templates/demo-config/key-chains/trust-list.json +1 -1
  29. package/templates/demo-config/presentation/age-over-18.json +1 -1
  30. package/templates/demo-config/presentation/pid.json +1 -1
  31. package/templates/docker-compose.yml +2 -2
  32. package/templates/schemas/CreateFederationTrustAnchorDto.schema.json +82 -0
  33. package/templates/schemas/CreateRegistrarConfigDto.schema.json +29 -0
  34. package/templates/schemas/CreateTenantDto.schema.json +2 -2
  35. package/templates/schemas/CredentialConfigCreate.schema.json +246 -14
  36. package/templates/schemas/CredentialConfigFile.schema.json +1823 -1
  37. package/templates/schemas/FederationTrustAnchorConfigFile.schema.json +60 -0
  38. package/templates/schemas/IssuanceConfig.schema.json +80 -10
  39. package/templates/schemas/IssuanceConfigFile.schema.json +1552 -1
  40. package/templates/schemas/KeyChainConfigFile.schema.json +740 -1
  41. package/templates/schemas/KeyChainCreateDto.schema.json +2 -0
  42. package/templates/schemas/KeyChainDefaultsConfigFile.schema.json +123 -0
  43. package/templates/schemas/KeyChainImportDto.schema.json +2 -0
  44. package/templates/schemas/PresentationConfigCreateDto.schema.json +16 -0
  45. package/templates/schemas/PresentationConfigFile.schema.json +746 -1
  46. package/templates/schemas/RegistrarConfigFile.schema.json +101 -1
  47. package/templates/schemas/TenantConfigFile.schema.json +395 -0
  48. package/templates/schemas/UpdateFederationTrustAnchorDto.schema.json +70 -0
  49. package/templates/schemas.manifest.json +4 -0
@@ -20,6 +20,12 @@ interface ComposeEnvOptions {
20
20
  authClientSecret?: string;
21
21
  }
22
22
  export declare function createComposeEnv(options: ComposeEnvOptions): string;
23
+ /**
24
+ * The global `config/kms.json` as a KmsConfig document at the current format
25
+ * version. `config upgrade --check` reports every bare file as "upgrade
26
+ * required", because the upgrade adds the envelope, so a bare file would fail
27
+ * that check right after `init`.
28
+ */
23
29
  export declare function createGlobalKmsConfig(kms: ComposeKms): string;
24
30
  export declare function resolveImageTag(imageTagOverride?: string): string;
25
31
  export declare function createComposeFile(): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"compose-project.d.ts","sourceRoot":"","sources":["../../src/services/compose-project.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAC9E,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAC/D,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,mBAAmB,gBAA2C,CAAC;AAG5E,KAAK,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;AACpD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC;AAExC,UAAU,iBAAiB;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAiCnE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CA2B7D;AA4DD,wBAAgB,eAAe,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAKzD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAOtD;AAED,wBAAsB,qBAAqB,CACvC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE"}
1
+ {"version":3,"file":"compose-project.d.ts","sourceRoot":"","sources":["../../src/services/compose-project.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,eAAO,MAAM,8BAA8B,kCAAkC,CAAC;AAC9E,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAC/D,eAAO,MAAM,eAAe,sBAAsB,CAAC;AACnD,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAE5C,eAAO,MAAM,mBAAmB,gBAA2C,CAAC;AAG5E,KAAK,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;AACpD,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,IAAI,CAAC;AAC5C,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC;AAExC,UAAU,iBAAiB;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAiCnE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CA+B7D;AA4DD,wBAAgB,eAAe,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAKzD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAOtD;AAED,wBAAsB,qBAAqB,CACvC,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOlE"}
@@ -1,6 +1,7 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
  import { cp, mkdir, readdir, readFile, rm, writeFile } from "node:fs/promises";
3
3
  import { dirname, join } from "node:path";
4
+ import { schemaUrl } from "@eudiplo/config-format/config-format.js";
4
5
  import { readCliBinaryAsset, readCliTextAsset, templateAssetUrl, } from "../sea-assets.js";
5
6
  export const defaultComposeFileName = "eudiplo.compose.yaml";
6
7
  export const defaultComposeOverrideFileName = "eudiplo.compose.override.yaml";
@@ -40,6 +41,12 @@ export function createComposeEnv(options) {
40
41
  }
41
42
  return `${lines.join("\n")}\n`;
42
43
  }
44
+ /**
45
+ * The global `config/kms.json` as a KmsConfig document at the current format
46
+ * version. `config upgrade --check` reports every bare file as "upgrade
47
+ * required", because the upgrade adds the envelope, so a bare file would fail
48
+ * that check right after `init`.
49
+ */
43
50
  export function createGlobalKmsConfig(kms) {
44
51
  const providers = [
45
52
  {
@@ -58,8 +65,12 @@ export function createGlobalKmsConfig(kms) {
58
65
  });
59
66
  }
60
67
  return `${JSON.stringify({
61
- defaultProvider: kms,
62
- providers,
68
+ $schema: schemaUrl("KmsConfig"),
69
+ metadata: { generation: 1 },
70
+ spec: {
71
+ defaultProvider: kms,
72
+ providers,
73
+ },
63
74
  }, null, 4)}\n`;
64
75
  }
65
76
  function databaseEnv(database) {
@@ -1 +1 @@
1
- {"version":3,"file":"compose-project.js","sourceRoot":"","sources":["../../src/services/compose-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-project.js","sourceRoot":"","sources":["../../src/services/compose-project.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eudiplo/cli",
3
- "version": "9.1.0-main.aba3274",
3
+ "version": "9.1.0-main.ae06d54",
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/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/v4/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/v4/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/v4/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/v4/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
  },
@@ -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,10 +11,10 @@
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
  },
@@ -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.1
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.10
117
+ image: amazon/aws-cli:2.38.5
118
118
  profiles: ['s3', 'standard', 'full']
119
119
  depends_on:
120
120
  rustfs:
@@ -0,0 +1,82 @@
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
+ "maxLength": 255,
9
+ "pattern": "^[A-Za-z0-9._-]+$",
10
+ "description": "Unique identifier of the trust anchor in the tenant."
11
+ },
12
+ "entityId": {
13
+ "type": "string",
14
+ "minLength": 1,
15
+ "maxLength": 2048,
16
+ "description": "Entity identifier of the trust anchor, exactly as configured in `federation.trustAnchors` and DCQL `openid_federation` values."
17
+ },
18
+ "description": {
19
+ "anyOf": [
20
+ {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "maxLength": 1000
24
+ },
25
+ {
26
+ "type": "null"
27
+ }
28
+ ],
29
+ "description": "Optional description of the trust anchor."
30
+ },
31
+ "jwks": {
32
+ "type": "object",
33
+ "properties": {
34
+ "keys": {
35
+ "minItems": 1,
36
+ "maxItems": 20,
37
+ "type": "array",
38
+ "items": {
39
+ "type": "object",
40
+ "properties": {
41
+ "kty": {
42
+ "type": "string",
43
+ "enum": [
44
+ "EC",
45
+ "RSA",
46
+ "OKP"
47
+ ],
48
+ "description": "Key type of the public federation key."
49
+ },
50
+ "kid": {
51
+ "type": "string",
52
+ "minLength": 1,
53
+ "maxLength": 256,
54
+ "description": "Key ID. Federation statements name their signing key with `kid`."
55
+ }
56
+ },
57
+ "required": [
58
+ "kty",
59
+ "kid"
60
+ ],
61
+ "additionalProperties": {},
62
+ "description": "Public federation key of the trust anchor as a JWK."
63
+ },
64
+ "description": "The trust anchor's federation keys."
65
+ }
66
+ },
67
+ "required": [
68
+ "keys"
69
+ ],
70
+ "additionalProperties": false,
71
+ "description": "JWK set with the federation keys of the trust anchor, obtained out of band (OpenID Federation 1.0 Section 10.2)."
72
+ }
73
+ },
74
+ "required": [
75
+ "id",
76
+ "entityId",
77
+ "jwks"
78
+ ],
79
+ "additionalProperties": false,
80
+ "$id": "./CreateFederationTrustAnchorDto.schema.json",
81
+ "title": "CreateFederationTrustAnchorDto"
82
+ }
@@ -46,6 +46,35 @@
46
46
  "type": "null"
47
47
  }
48
48
  ]
49
+ },
50
+ "relyingPartyContact": {
51
+ "description": "Contact of the relying party, sent when EUDIPLO registers the relying party at the registrar. The registrar needs at least one contact value to issue access certificates. A relying party that is already registered keeps its contact.",
52
+ "anyOf": [
53
+ {
54
+ "type": "object",
55
+ "properties": {
56
+ "supportUri": {
57
+ "description": "https URL where the relying party can be contacted.",
58
+ "type": "string",
59
+ "format": "uri"
60
+ },
61
+ "email": {
62
+ "description": "Email address of the relying party.",
63
+ "type": "string",
64
+ "pattern": "^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$"
65
+ },
66
+ "phone": {
67
+ "description": "Phone number of the relying party.",
68
+ "type": "string",
69
+ "pattern": "^[+0-9()\\-\\s]{5,40}$"
70
+ }
71
+ },
72
+ "additionalProperties": false
73
+ },
74
+ {
75
+ "type": "null"
76
+ }
77
+ ]
49
78
  }
50
79
  },
51
80
  "required": [
@@ -4,8 +4,8 @@
4
4
  "properties": {
5
5
  "id": {
6
6
  "type": "string",
7
- "minLength": 1,
8
- "description": "Unique tenant identifier."
7
+ "pattern": "^[a-z0-9][a-z0-9_-]{0,62}$",
8
+ "description": "Unique tenant identifier: lowercase letters, digits, `-` and `_`, starting with a letter or digit, at most 63 characters. It is also the name of the tenant's configuration folder."
9
9
  },
10
10
  "name": {
11
11
  "default": "EUDIPLO",