@parmana/shared 0.1.0 → 2.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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/config/Config.d.ts +25 -0
  4. package/dist/config/Config.d.ts.map +1 -1
  5. package/dist/config/Config.js +4 -4
  6. package/dist/config/Config.js.map +1 -1
  7. package/dist/config/ConfigValidation.d.ts +1 -1
  8. package/dist/config/ConfigValidation.d.ts.map +1 -1
  9. package/dist/config/ConfigValidation.js +25 -4
  10. package/dist/config/ConfigValidation.js.map +1 -1
  11. package/dist/config/CryptoAlgorithms.d.ts +0 -4
  12. package/dist/config/CryptoAlgorithms.d.ts.map +1 -1
  13. package/dist/config/CryptoAlgorithms.js +0 -4
  14. package/dist/config/CryptoAlgorithms.js.map +1 -1
  15. package/dist/config/Doctor.d.ts +46 -0
  16. package/dist/config/Doctor.d.ts.map +1 -0
  17. package/dist/config/Doctor.js +781 -0
  18. package/dist/config/Doctor.js.map +1 -0
  19. package/dist/config/index.d.ts +1 -0
  20. package/dist/config/index.d.ts.map +1 -1
  21. package/dist/config/index.js +1 -0
  22. package/dist/config/index.js.map +1 -1
  23. package/dist/domain/challenge-record.d.ts +4 -4
  24. package/dist/domain/decision.d.ts +9 -1
  25. package/dist/domain/decision.d.ts.map +1 -1
  26. package/dist/domain/decision.js.map +1 -1
  27. package/dist/domain/evidence-anchor.d.ts +1 -1
  28. package/dist/domain/execution-audit-event.d.ts +3 -3
  29. package/dist/domain/execution-authorization.d.ts +1 -1
  30. package/dist/domain/execution-intent.d.ts +1 -1
  31. package/dist/domain/execution-outcome-store.d.ts +1 -1
  32. package/dist/domain/execution-trust-record.d.ts +1 -1
  33. package/dist/domain/policy-reference.d.ts +1 -1
  34. package/dist/errors/outcome-unknown-error.d.ts +1 -1
  35. package/dist/errors/outcome-unknown-error.js +1 -1
  36. package/dist/repositories/business-transaction-repository.d.ts +1 -1
  37. package/dist/repositories/caller-key-revocation-repository.d.ts +26 -0
  38. package/dist/repositories/caller-key-revocation-repository.d.ts.map +1 -0
  39. package/dist/repositories/caller-key-revocation-repository.js +2 -0
  40. package/dist/repositories/caller-key-revocation-repository.js.map +1 -0
  41. package/dist/repositories/challenge-record-repository.d.ts +1 -1
  42. package/dist/repositories/challenge-record-repository.js +1 -1
  43. package/dist/repositories/execution-trust-record-repository.d.ts +1 -1
  44. package/dist/repositories/inbound-decision-repository.d.ts +72 -0
  45. package/dist/repositories/inbound-decision-repository.d.ts.map +1 -0
  46. package/dist/repositories/inbound-decision-repository.js +10 -0
  47. package/dist/repositories/inbound-decision-repository.js.map +1 -0
  48. package/dist/repositories/inbound-outcome-repository.d.ts +23 -0
  49. package/dist/repositories/inbound-outcome-repository.d.ts.map +1 -0
  50. package/dist/repositories/inbound-outcome-repository.js +2 -0
  51. package/dist/repositories/inbound-outcome-repository.js.map +1 -0
  52. package/dist/repositories/index.d.ts +3 -0
  53. package/dist/repositories/index.d.ts.map +1 -1
  54. package/dist/repositories/index.js +3 -0
  55. package/dist/repositories/index.js.map +1 -1
  56. package/package.json +4 -4
@@ -12,14 +12,33 @@ function parse(value, values, name, defaultValue) {
12
12
  }
13
13
  throw new Error(`Invalid ${name}: ${resolved}`);
14
14
  }
15
+ /**
16
+ * A value can be a documented name that no runtime implements yet. Refuse it
17
+ * at startup, naming what works, rather than accepting it and failing later
18
+ * or quietly using a different provider (#222). Called after parse(), so the
19
+ * value is already a known name and is safe to echo.
20
+ */
21
+ function requireImplemented(name, value, implemented) {
22
+ if (implemented.includes(value)) {
23
+ return value;
24
+ }
25
+ throw new Error(`${name}=${value} is not implemented in this build. Use one of: ${implemented.join(", ")}.`);
26
+ }
27
+ const IMPLEMENTED_CRYPTO_MODES = [CryptoModes.SINGLE, CryptoModes.HYBRID];
28
+ const IMPLEMENTED_HASH_ALGORITHMS = [HashAlgorithms.SHA256];
29
+ const IMPLEMENTED_SIGNATURE_ALGORITHMS = [
30
+ SignatureAlgorithms.ED25519,
31
+ SignatureAlgorithms.DILITHIUM3,
32
+ ];
33
+ const IMPLEMENTED_KEY_PROVIDERS = [KeyProviders.LOCAL, KeyProviders.AWS_KMS];
15
34
  export const parseStorageProvider = (value) => {
16
35
  if (process.env.DATABASE_PROVIDER !== undefined) {
17
36
  throw new Error("DATABASE_PROVIDER is no longer read; set PARMANA_STORAGE instead.");
18
37
  }
19
38
  return parse(value, StorageProviders, "PARMANA_STORAGE", StorageProviders.MEMORY);
20
39
  };
21
- export const parseCryptoMode = (value) => parse(value, CryptoModes, "CRYPTO_MODE", CryptoModes.SINGLE);
22
- export const parseHashAlgorithm = (value) => parse(value, HashAlgorithms, "HASH_PROVIDER", HashAlgorithms.SHA256);
40
+ export const parseCryptoMode = (value) => requireImplemented("CRYPTO_MODE", parse(value, CryptoModes, "CRYPTO_MODE", CryptoModes.SINGLE), IMPLEMENTED_CRYPTO_MODES);
41
+ export const parseHashAlgorithm = (value) => requireImplemented("HASH_PROVIDER", parse(value, HashAlgorithms, "HASH_PROVIDER", HashAlgorithms.SHA256), IMPLEMENTED_HASH_ALGORITHMS);
23
42
  /**
24
43
  * Accepted input aliases for a SignatureAlgorithm config value, resolved
25
44
  * to the canonical internal identifier before validation. Additive only:
@@ -33,8 +52,10 @@ export const parseHashAlgorithm = (value) => parse(value, HashAlgorithms, "HASH_
33
52
  const SIGNATURE_ALGORITHM_ALIASES = {
34
53
  "ml-dsa-65": SignatureAlgorithms.DILITHIUM3,
35
54
  };
36
- export const parseSignatureAlgorithm = (value) => parse(value !== undefined ? (SIGNATURE_ALGORITHM_ALIASES[value] ?? value) : value, SignatureAlgorithms, "SIGNATURE_PROVIDER", SignatureAlgorithms.ED25519);
37
- export const parseKeyProvider = (value) => parse(value, KeyProviders, "KEY_PROVIDER", KeyProviders.LOCAL);
55
+ export const parseSignatureAlgorithm = (value, variable = "PRIMARY_SIGNATURE_PROVIDER") => requireImplemented(variable, parse(value !== undefined
56
+ ? (SIGNATURE_ALGORITHM_ALIASES[value] ?? value)
57
+ : value, SignatureAlgorithms, "SIGNATURE_PROVIDER", SignatureAlgorithms.ED25519), IMPLEMENTED_SIGNATURE_ALGORITHMS);
58
+ export const parseKeyProvider = (value) => requireImplemented("KEY_PROVIDER", parse(value, KeyProviders, "KEY_PROVIDER", KeyProviders.LOCAL), IMPLEMENTED_KEY_PROVIDERS);
38
59
  /**
39
60
  * Unlike the other settings, an invalid value is not echoed: a value set
40
61
  * in the wrong variable can be a real secret (a token pasted into
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigValidation.js","sourceRoot":"","sources":["../../src/config/ConfigValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConfigValidation.js","sourceRoot":"","sources":["../../src/config/ConfigValidation.ts"],"names":[],"mappings":"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"}
@@ -29,14 +29,10 @@ export type SignatureAlgorithm = (typeof SignatureAlgorithms)[keyof typeof Signa
29
29
  * hybrid: PRIMARY_SIGNATURE_PROVIDER and SECONDARY_SIGNATURE_PROVIDER
30
30
  * both sign Execution Trust Records and Receipts; verification
31
31
  * requires both to pass. See HybridSignatureProvider (@parmana/crypto).
32
- *
33
- * pq: reserved for a future post-quantum-only mode. Not read by any
34
- * production call site today.
35
32
  */
36
33
  export declare const CryptoModes: {
37
34
  readonly SINGLE: "single";
38
35
  readonly HYBRID: "hybrid";
39
- readonly PQ: "pq";
40
36
  };
41
37
  export type CryptoMode = (typeof CryptoModes)[keyof typeof CryptoModes];
42
38
  //# sourceMappingURL=CryptoAlgorithms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoAlgorithms.d.ts","sourceRoot":"","sources":["../../src/config/CryptoAlgorithms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,cAAc;aACzB,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,UAAU;aACnB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,MAAM,aAAa,GACvB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,mBAAmB;aAC9B,OAAO,EAAE,SAAS;aAClB,UAAU,EAAE,YAAY;aAKxB,UAAU,EAAE,YAAY;aACxB,UAAU,EAAE,YAAY;aACxB,YAAY,EAAE,cAAc;CACpB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW;aACtB,MAAM,EAAE,QAAQ;aAChB,MAAM,EAAE,QAAQ;aAChB,EAAE,EAAE,IAAI;CACA,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"CryptoAlgorithms.d.ts","sourceRoot":"","sources":["../../src/config/CryptoAlgorithms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,cAAc;aACzB,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,UAAU;aACnB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,MAAM,aAAa,GACvB,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,mBAAmB;aAC9B,OAAO,EAAE,SAAS;aAClB,UAAU,EAAE,YAAY;aAKxB,UAAU,EAAE,YAAY;aACxB,UAAU,EAAE,YAAY;aACxB,YAAY,EAAE,cAAc;CACpB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjE;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW;aACtB,MAAM,EAAE,QAAQ;aAChB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC"}
@@ -30,13 +30,9 @@ export const SignatureAlgorithms = {
30
30
  * hybrid: PRIMARY_SIGNATURE_PROVIDER and SECONDARY_SIGNATURE_PROVIDER
31
31
  * both sign Execution Trust Records and Receipts; verification
32
32
  * requires both to pass. See HybridSignatureProvider (@parmana/crypto).
33
- *
34
- * pq: reserved for a future post-quantum-only mode. Not read by any
35
- * production call site today.
36
33
  */
37
34
  export const CryptoModes = {
38
35
  SINGLE: "single",
39
36
  HYBRID: "hybrid",
40
- PQ: "pq",
41
37
  };
42
38
  //# sourceMappingURL=CryptoAlgorithms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoAlgorithms.js","sourceRoot":"","sources":["../../src/config/CryptoAlgorithms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,QAAQ;CACR,CAAC;AAKX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IAExB,EAAE;IACF,qBAAqB;IACrB,EAAE;IACF,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;CACpB,CAAC;AAKX;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,EAAE,EAAE,IAAI;CACA,CAAC"}
1
+ {"version":3,"file":"CryptoAlgorithms.js","sourceRoot":"","sources":["../../src/config/CryptoAlgorithms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,QAAQ;CACR,CAAC;AAKX;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IAExB,EAAE;IACF,qBAAqB;IACrB,EAAE;IACF,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;CACpB,CAAC;AAKX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * One check from the configuration doctor. "pass" means the setting is valid,
3
+ * "warn" means it works but needs attention, and "fail" means the server would
4
+ * refuse to start, or would refuse requests. A fail always carries a fix.
5
+ */
6
+ export interface DoctorCheck {
7
+ readonly name: string;
8
+ readonly level: "pass" | "warn" | "fail";
9
+ readonly message: string;
10
+ readonly fix?: string;
11
+ }
12
+ export interface DoctorReaders {
13
+ readonly directoryExists: (path: string) => boolean;
14
+ /** Names of the entries in a folder. Empty when the folder cannot be read. */
15
+ readonly listDirectory: (path: string) => string[];
16
+ readonly readFile: (path: string) => string;
17
+ }
18
+ export interface DoctorOptions {
19
+ /**
20
+ * Apply the production rules as well. The server refuses several settings
21
+ * when NODE_ENV=production, and some storage and key choices are only valid
22
+ * in production. Without this, the local rules apply.
23
+ */
24
+ readonly production: boolean;
25
+ }
26
+ type Env = Readonly<Record<string, string | undefined>>;
27
+ /**
28
+ * Every PARMANA_ name read by this repository. A name outside this list is
29
+ * reported as a probable typo, because the server ignores it without a word.
30
+ */
31
+ export declare const KNOWN_PARMANA_SETTINGS: readonly string[];
32
+ /**
33
+ * Runs the configuration checks and returns every result, not just the first
34
+ * failure. With `production: true`, the production rules are added and the
35
+ * stage 1 "not yet checked" warnings are replaced by real checks.
36
+ *
37
+ * Each setting is checked with the same parser the server uses, so a check
38
+ * cannot pass here and fail at startup. Parser error messages are never shown,
39
+ * because some of them echo the value they rejected. Messages name the setting
40
+ * and the allowed values only.
41
+ */
42
+ export declare function diagnoseConfiguration(env: Env, readers: DoctorReaders, options?: DoctorOptions): DoctorCheck[];
43
+ /** The known setting within two edits of the given name, if there is one. */
44
+ export declare function closestSetting(name: string): string | undefined;
45
+ export {};
46
+ //# sourceMappingURL=Doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Doctor.d.ts","sourceRoot":"","sources":["../../src/config/Doctor.ts"],"names":[],"mappings":"AAqBA;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACpD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,KAAK,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAYxD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EA0BnD,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,aAAqC,GAC7C,WAAW,EAAE,CAsBf;AAoyBD,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW/D"}