@actuarial-ts/interchange 0.5.0 → 0.6.1

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 (58) hide show
  1. package/README.md +36 -70
  2. package/dist/convert/diagnosticDefinition.d.ts +16 -0
  3. package/dist/convert/diagnosticDefinition.d.ts.map +1 -0
  4. package/dist/convert/diagnosticDefinition.js +82 -0
  5. package/dist/convert/diagnosticDefinition.js.map +1 -0
  6. package/dist/convert/result.d.ts.map +1 -1
  7. package/dist/convert/result.js +2 -2
  8. package/dist/convert/result.js.map +1 -1
  9. package/dist/envelope.d.ts +6 -6
  10. package/dist/envelope.d.ts.map +1 -1
  11. package/dist/envelope.js +13 -7
  12. package/dist/envelope.js.map +1 -1
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/json.d.ts +5 -0
  18. package/dist/json.d.ts.map +1 -0
  19. package/dist/json.js +13 -0
  20. package/dist/json.js.map +1 -0
  21. package/dist/parse.d.ts +2 -1
  22. package/dist/parse.d.ts.map +1 -1
  23. package/dist/parse.js +8 -2
  24. package/dist/parse.js.map +1 -1
  25. package/dist/schemas/bundle.d.ts +2 -0
  26. package/dist/schemas/bundle.d.ts.map +1 -1
  27. package/dist/schemas/bundle.js +2 -0
  28. package/dist/schemas/bundle.js.map +1 -1
  29. package/dist/schemas/crosscheck.d.ts +6 -6
  30. package/dist/schemas/diagnosticDefinition.d.ts +11572 -0
  31. package/dist/schemas/diagnosticDefinition.d.ts.map +1 -0
  32. package/dist/schemas/diagnosticDefinition.js +133 -0
  33. package/dist/schemas/diagnosticDefinition.js.map +1 -0
  34. package/dist/schemas/manifest.d.ts.map +1 -1
  35. package/dist/schemas/manifest.js +7 -1
  36. package/dist/schemas/manifest.js.map +1 -1
  37. package/dist/schemas/record.d.ts +5 -0
  38. package/dist/schemas/record.d.ts.map +1 -0
  39. package/dist/schemas/record.js +9 -0
  40. package/dist/schemas/record.js.map +1 -0
  41. package/dist/schemas/result.d.ts +12 -12
  42. package/dist/schemas/selection.d.ts +6 -6
  43. package/dist/schemas/triangle.d.ts +89 -89
  44. package/dist/schemas/triangle.d.ts.map +1 -1
  45. package/dist/schemas/triangle.js +20 -5
  46. package/dist/schemas/triangle.js.map +1 -1
  47. package/package.json +4 -3
  48. package/src/convert/diagnosticDefinition.ts +150 -0
  49. package/src/convert/result.ts +2 -1
  50. package/src/envelope.ts +28 -9
  51. package/src/index.ts +2 -0
  52. package/src/json.ts +17 -0
  53. package/src/parse.ts +11 -3
  54. package/src/schemas/bundle.ts +3 -0
  55. package/src/schemas/diagnosticDefinition.ts +172 -0
  56. package/src/schemas/manifest.ts +7 -1
  57. package/src/schemas/record.ts +16 -0
  58. package/src/schemas/triangle.ts +23 -5
package/README.md CHANGED
@@ -1,79 +1,45 @@
1
1
  # @actuarial-ts/interchange
2
2
 
3
- The `actuarial-interchange` format (spec v1) for the actuarial-ts SDK:
4
- language-neutral, versioned documents that carry **data, intent, results,
5
- and governance** between actuarial-ts, chainladder-python, and R
6
- ChainLadder — plus the deterministic cross-implementation referee.
3
+ Typed TypeScript implementation of actuarial-interchange: portable, integrity-stamped documents shared by actuarial-ts, chainladder-python, and R ChainLadder.
7
4
 
8
- ## Install
5
+ ```bash
6
+ npm install @actuarial-ts/interchange@0.6.1 @actuarial-ts/core@0.6.1
7
+ ```
8
+
9
+ Node 20+, ESM. Version 0.6 writes wire `1.1.0` and reads compatible major-version-1 documents.
10
+
11
+ ## Document kinds
9
12
 
10
- ```sh
11
- npm install @actuarial-ts/interchange
13
+ `triangle`, `selection`, `method-result`, `stochastic-result`, `study`, `bundle`, `crosscheck-report`, and `diagnostic-definition` share an envelope with writer version, generator, caller-supplied timestamp, semantic-body FNV-1a/JCS integrity tag, and optional governance/extensions.
14
+
15
+ ```ts
16
+ import {
17
+ diagnosticDefinitionToDoc,
18
+ docToDiagnosticDefinition,
19
+ parseDocument,
20
+ } from "@actuarial-ts/interchange";
21
+
22
+ const document = diagnosticDefinitionToDoc(compiledDefinition, {
23
+ createdAt: "2026-09-03T00:00:00Z",
24
+ });
25
+ const generic = parseDocument(document);
26
+ const executable = docToDiagnosticDefinition(document);
12
27
  ```
13
28
 
14
- ESM, Node >= 20. Depends on `@actuarial-ts/core` (>= 0.2.0 it provides the
15
- `canonicalJson`/`fnv1a64` this package canonicalizes and stamps with) and
16
- `zod`.
17
-
18
- - **Document kinds**: `triangle`, `selection`, `method-result`,
19
- `stochastic-result`, `study`, `bundle`, `crosscheck-report` — zod
20
- schemas with inferred types, mechanically emitted to JSON Schema under
21
- `schema/interchange/1.0/` (committed; a drift test fails the build if
22
- the emitted schemas and the committed files diverge).
23
- - **Canonicalization** is RFC 8785 (JCS) via `@actuarial-ts/core`'s
24
- `canonicalJson`; the committed cross-language vector suite
25
- (`schema/interchange/1.0/jcs-vectors.json`) is part of the spec.
26
- - **Integrity tags** cover the semantic body only
27
- `fnv1a64(canonicalJson(<kind-named object>))` — never the envelope, so
28
- a re-export by another adapter changes the envelope, not the tag. Tags
29
- detect ACCIDENTAL divergence; they are not a security control.
30
- - **Selections travel as intent + values** with a normative coherence
31
- rule: computable intents must recompute to the stated value within
32
- 1e-9 relative, verified on import (warn or refuse via a strictness
33
- flag; refusal is `INCOHERENT_SELECTION`). Values are authoritative only
34
- for `judgmental`/`external` intents, whose rationale is required.
35
- - **Converters**: `triangleToDoc`/`docToTriangle`,
36
- `selectionsToDoc`/`docToSelections` (intent ↔ the standard averages
37
- menu), `resultToDoc` (chainLadder, mack, bornhuetterFerguson,
38
- benktander; Cape Cod, Clark, Munich and the stochastic layer are not yet
39
- converted and `resultToDoc` throws for them), and
40
- `parseDocument` (version-checked, integrity-verified,
41
- warning-channeled).
42
- - **The referee**: `crosscheck({ a, b, tolerance?, selection?, createdAt })`
43
- compares two `method-result` documents by appliesTo tags and convention
44
- profile, computes per-origin and total relative deviations, applies
45
- requested-vs-effective downgrades, and returns a `crosscheck-report`
46
- with verdict `agree | disagree | not-comparable | verified-by-value`.
47
- Convention profiles (`deterministic-cl`, `mack1993-vw`) are shipped as
48
- data, including each engine's pinned alignment parameters.
49
-
50
- Version handling (spec 3.5): wrong-major documents throw
51
- `ReservingError("UNSUPPORTED_VERSION")`; same-major unknown minor fields
52
- are accepted and preserved (schemas are passthrough), and
53
- `governance`/`extensions` round-trip opaquely.
54
-
55
- Everything is pure and browser-safe: no clock reads (`createdAt` is
56
- caller-supplied), no randomness, no node builtins. Depends on
57
- `@actuarial-ts/core` and `zod` only; `zod-to-json-schema` is a build-time
58
- devDependency used by `npm run emit-schema` (which builds first, then
59
- regenerates the committed JSON Schemas).
60
-
61
- This package is designed to support the actuary's compliance with the
62
- ASOPs; cross-implementation agreement supports, but does not by itself
63
- constitute, the model validation contemplated by ASOP No. 56.
64
-
65
- ## Two referees
66
-
67
- `crosscheck` compares DERIVATIONS: two deterministic `method-result` documents,
68
- where any deviation beyond float noise is a real disagreement.
69
-
70
- `crosscheckStochastic` compares DRAWS: two `stochastic-result` documents, where
71
- the expected disagreement is nonzero and set by sampling theory. Its tolerance
72
- is derived from the simulation count and the observed coefficient of variation
73
- rather than declared, so it tightens as n grows, and it withholds that
74
- allowance from two results that both claim `seeded-reproducible` at one seed.
75
- See `docs/interop/reproducibility.md`.
29
+ Generic parsing validates known fields, preserves same-major unknown envelope and nested fields, verifies integrity, and recursively verifies documents embedded in studies/bundles. Executable diagnostic conversion is intentionally stricter: it requires the current normalized vocabulary, recompiles the complete definition, and verifies formula, calculation, and definition identities. A future field can therefore survive a storage hop without being silently executed.
30
+
31
+ Bundles may carry typed diagnostic definition documents under `interchange.diagnosticDefinitions`; each nested document has its own tag and is also covered by the outer `{ bundle, interchange }` tag. JSON Schemas live in `schema/interchange/1.1`; the frozen `1.0` directory remains unchanged.
32
+
33
+ ## Interoperability
34
+
35
+ The three shores share RFC 8785 vectors, frozen reserving fixtures, and generalized casualty definitions with six formulas and 22 bound instances. Python and R independently recompute definition identities and replay every formula and all five review-rule kinds across the calendar and ordered-axis aggregate-cell corpus, including missingness, tolerance boundaries, and overflow. The replay contract does not claim to reproduce arbitrary raw-data ingestion or selection in those languages.
36
+
37
+ `crosscheck` compares two method-result documents under explicit convention profiles. Outcomes are `agree`, `disagree`, `not-comparable`, or `verified-by-value`; the referee never hides convention differences or treats mutual agreement as proof of correctness.
38
+
39
+ Integrity tags detect accidental drift and support deterministic linking. FNV-1a is unkeyed and is not tamper resistance, authentication, or a security boundary.
40
+
41
+ The normative format is [actuarial-interchange rev 2.4](https://github.com/yerromnitsuj/actng/blob/v0.6.1/docs/spec/actuarial-interchange.md). See the generated [diagnostic formula catalog](https://github.com/yerromnitsuj/actng/blob/v0.6.1/docs/reference/diagnostic-formulas.md) and [0.6 migration guide](https://github.com/yerromnitsuj/actng/blob/v0.6.1/docs/migrations/0.6-generalized-diagnostics.md).
76
42
 
77
43
  ## License
78
44
 
79
- Apache-2.0. See [LICENSE](LICENSE) and [NOTICE](NOTICE).
45
+ Apache-2.0. See LICENSE and NOTICE.
@@ -0,0 +1,16 @@
1
+ import { type CompiledDiagnosticDefinition } from "@actuarial-ts/core";
2
+ import { type GeneratorStamp } from "../envelope.js";
3
+ import { type ParseDocumentOptions } from "../parse.js";
4
+ import { type DiagnosticDefinitionDoc } from "../schemas/diagnosticDefinition.js";
5
+ export interface DiagnosticDefinitionToDocOptions {
6
+ createdAt: string;
7
+ generator?: GeneratorStamp;
8
+ extensions?: Record<string, unknown>;
9
+ }
10
+ export interface DocToDiagnosticDefinitionResult {
11
+ readonly definition: CompiledDiagnosticDefinition;
12
+ readonly warnings: readonly string[];
13
+ }
14
+ export declare function diagnosticDefinitionToDoc(compiled: CompiledDiagnosticDefinition, options: DiagnosticDefinitionToDocOptions): DiagnosticDefinitionDoc;
15
+ export declare function docToDiagnosticDefinition(value: unknown, options?: ParseDocumentOptions): DocToDiagnosticDefinitionResult;
16
+ //# sourceMappingURL=diagnosticDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticDefinition.d.ts","sourceRoot":"","sources":["../../src/convert/diagnosticDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,4BAA4B,EAClC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAiB,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,oCAAoC,CAAC;AAE5C,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,4BAA4B,EACtC,OAAO,EAAE,gCAAgC,GACxC,uBAAuB,CA6CzB;AAyBD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,oBAAoB,GAC7B,+BAA+B,CAyCjC"}
@@ -0,0 +1,82 @@
1
+ import { ReservingError, assertCompiledDiagnosticDefinition, canonicalJson, compileDiagnosticDefinition, isDiagnosticPlainRecord, } from "@actuarial-ts/core";
2
+ import { DEFAULT_GENERATOR, INTERCHANGE_SPEC_VERSION, stampIntegrity, } from "../envelope.js";
3
+ import { parseDocument } from "../parse.js";
4
+ import { snapshotInterchangeJson } from "../json.js";
5
+ import { diagnosticDefinitionDocSchema, } from "../schemas/diagnosticDefinition.js";
6
+ export function diagnosticDefinitionToDoc(compiled, options) {
7
+ assertCompiledDiagnosticDefinition(compiled);
8
+ if (!isDiagnosticPlainRecord(options))
9
+ throw new ReservingError("BAD_INTERCHANGE", "Diagnostic document options must be a plain object at $.options");
10
+ for (const key of Object.keys(options))
11
+ if (!["createdAt", "generator", "extensions"].includes(key))
12
+ throw new ReservingError("BAD_INTERCHANGE", `Unknown diagnostic document option at $.options.${key}`);
13
+ const ownedOptions = snapshotInterchangeJson(options);
14
+ const candidate = stampIntegrity({
15
+ interchangeVersion: INTERCHANGE_SPEC_VERSION,
16
+ kind: "diagnostic-definition",
17
+ generator: ownedOptions.generator === undefined
18
+ ? DEFAULT_GENERATOR
19
+ : ownedOptions.generator,
20
+ createdAt: ownedOptions.createdAt,
21
+ ...(ownedOptions.extensions === undefined
22
+ ? {}
23
+ : { extensions: ownedOptions.extensions }),
24
+ diagnosticDefinition: {
25
+ definition: compiled.definition,
26
+ identities: {
27
+ algorithm: "fnv1a64-jcs-v1",
28
+ formulaById: { ...compiled.formulaFingerprints },
29
+ calculationByInstanceId: { ...compiled.calculationFingerprints },
30
+ definition: compiled.definitionIntegrity,
31
+ },
32
+ },
33
+ });
34
+ const parsed = diagnosticDefinitionDocSchema.safeParse(candidate);
35
+ if (!parsed.success) {
36
+ const issue = parsed.error.issues[0];
37
+ const path = issue?.path.length ? ` at $.${issue.path.join(".")}` : "";
38
+ throw new ReservingError("BAD_INTERCHANGE", `Invalid diagnostic-definition document${path}: ${issue?.message ?? "schema validation failed"}`);
39
+ }
40
+ return deepFreeze(snapshotInterchangeJson(candidate));
41
+ }
42
+ function deepFreeze(value) {
43
+ if (value !== null && typeof value === "object" && !Object.isFrozen(value)) {
44
+ for (const child of Object.values(value))
45
+ deepFreeze(child);
46
+ Object.freeze(value);
47
+ }
48
+ return value;
49
+ }
50
+ function sameRecord(left, right) {
51
+ const leftKeys = Object.keys(left).sort();
52
+ const rightKeys = Object.keys(right).sort();
53
+ return (leftKeys.length === rightKeys.length &&
54
+ leftKeys.every((key, index) => key === rightKeys[index] && left[key] === right[key]));
55
+ }
56
+ export function docToDiagnosticDefinition(value, options) {
57
+ const parsed = parseDocument(value, options);
58
+ if (parsed.doc.kind !== "diagnostic-definition") {
59
+ throw new ReservingError("BAD_INTERCHANGE", `Expected kind "diagnostic-definition"; got kind "${parsed.doc.kind}"`);
60
+ }
61
+ const body = parsed.doc.diagnosticDefinition;
62
+ let compiled;
63
+ try {
64
+ compiled = compileDiagnosticDefinition(body.definition);
65
+ }
66
+ catch (error) {
67
+ const message = error instanceof Error ? error.message : String(error);
68
+ throw new ReservingError("BAD_INTERCHANGE", `Diagnostic definition contains unsupported executable vocabulary: ${message}`);
69
+ }
70
+ if (canonicalJson(body.definition) !== canonicalJson(compiled.definition)) {
71
+ throw new ReservingError("BAD_INTERCHANGE", "Diagnostic definition contains unsupported executable vocabulary or is not in normalized form");
72
+ }
73
+ const identities = body.identities;
74
+ if (identities.algorithm !== "fnv1a64-jcs-v1" ||
75
+ identities.definition !== compiled.definitionIntegrity ||
76
+ !sameRecord(identities.formulaById, compiled.formulaFingerprints) ||
77
+ !sameRecord(identities.calculationByInstanceId, compiled.calculationFingerprints)) {
78
+ throw new ReservingError("BAD_INTERCHANGE", "Diagnostic definition identities do not match the compiled semantic definition");
79
+ }
80
+ return { definition: compiled, warnings: parsed.warnings };
81
+ }
82
+ //# sourceMappingURL=diagnosticDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticDefinition.js","sourceRoot":"","sources":["../../src/convert/diagnosticDefinition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/convert/result.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,UAAU,GACV,yBAAyB,GACzB,gBAAgB,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WAAwD,CAAC;AAEnF,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,WAAW,EAAE,WAAW,CAAC;IACzB;yDACqD;IACrD,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AA6ED,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAgEjB"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/convert/result.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,cAAc,EAEpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,eAAe,EAGrB,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,iBAAiB,GACzB,iBAAiB,GACjB,UAAU,GACV,yBAAyB,GACzB,gBAAgB,CAAC;AAErB;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WAAqE,CAAC;AAEhG,MAAM,WAAW,kBAAkB;IACjC,0DAA0D;IAC1D,WAAW,EAAE,WAAW,CAAC;IACzB;yDACqD;IACrD,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AA6ED,wBAAgB,WAAW,CACzB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,kBAAkB,GAC1B,eAAe,CAgEjB"}
@@ -1,11 +1,11 @@
1
- import { ReservingError, } from "@actuarial-ts/core";
1
+ import { CORE_PACKAGE_VERSION, ReservingError, } from "@actuarial-ts/core";
2
2
  import { DEFAULT_GENERATOR, INTERCHANGE_SPEC_VERSION, stampIntegrity, } from "../envelope.js";
3
3
  import { methodResultDocSchema, } from "../schemas/result.js";
4
4
  /**
5
5
  * The engine stamp for results computed by @actuarial-ts/core. A sync test
6
6
  * pins the version to the installed core package so it cannot drift.
7
7
  */
8
- export const CORE_ENGINE = { name: "actuarial-ts", version: "0.5.0" };
8
+ export const CORE_ENGINE = { name: "actuarial-ts", version: CORE_PACKAGE_VERSION };
9
9
  function mapResult(result) {
10
10
  switch (result.method) {
11
11
  case "chainLadder":
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/convert/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../src/convert/result.ts"],"names":[],"mappings":"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"}
@@ -25,21 +25,21 @@ import { z } from "zod";
25
25
  * a clock.
26
26
  */
27
27
  /** The interchange spec version this package writes. */
28
- export declare const INTERCHANGE_SPEC_VERSION = "1.0.0";
28
+ export declare const INTERCHANGE_SPEC_VERSION = "1.1.0";
29
29
  /** The spec major this package accepts (spec 3.5: readers accept same-major). */
30
30
  export declare const INTERCHANGE_SPEC_MAJOR = 1;
31
31
  /**
32
32
  * This package's version, stamped into `generator` by default. A sync test
33
33
  * asserts it matches package.json so it cannot silently drift.
34
34
  */
35
- export declare const INTERCHANGE_PACKAGE_VERSION = "0.5.0";
35
+ export declare const INTERCHANGE_PACKAGE_VERSION = "0.6.1";
36
36
  export interface GeneratorStamp {
37
37
  name: string;
38
38
  version: string;
39
39
  }
40
40
  /** Default `generator` stamp for documents authored by this package. */
41
- export declare const DEFAULT_GENERATOR: GeneratorStamp;
42
- export declare const DOCUMENT_KINDS: readonly ["triangle", "selection", "method-result", "stochastic-result", "study", "bundle", "crosscheck-report"];
41
+ export declare const DEFAULT_GENERATOR: Readonly<GeneratorStamp>;
42
+ export declare const DOCUMENT_KINDS: readonly ["triangle", "selection", "method-result", "stochastic-result", "study", "bundle", "crosscheck-report", "diagnostic-definition"];
43
43
  export type DocumentKind = (typeof DOCUMENT_KINDS)[number];
44
44
  /** A 16-hex-char fnv1a64 tag. */
45
45
  export declare const integritySchema: z.ZodString;
@@ -72,8 +72,8 @@ export declare function envelopeShape<K extends DocumentKind>(kind: K): {
72
72
  name: z.ZodString;
73
73
  version: z.ZodString;
74
74
  }, z.ZodTypeAny, "passthrough">>;
75
- createdAt: z.ZodString;
76
- extensions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
75
+ createdAt: z.ZodEffects<z.ZodString, string, string>;
76
+ extensions: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodUnknown>, Record<string, unknown>, Record<string, unknown>>>;
77
77
  integrity: z.ZodString;
78
78
  };
79
79
  /** Minimal structural view of a document for integrity/version helpers. */
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,wDAAwD;AACxD,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,EAAE,cAG/B,CAAC;AAEF,eAAO,MAAM,cAAc,kHAQjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAiB3D,iCAAiC;AACjC,eAAO,MAAM,eAAe,aAAqC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;;;gCAEZ,CAAC;AAEjB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;;EAS5D;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAoBzD;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EACnD,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GACvC,CAAC,CAEH;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,cAAc,CAIjE;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAe7D"}
1
+ {"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,wDAAwD;AACxD,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,cAAc,CAGrD,CAAC;AAEH,eAAO,MAAM,cAAc,2IASjB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAkB3D,iCAAiC;AACjC,eAAO,MAAM,eAAe,aAAqC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;;;;;;gCAEZ,CAAC;AAEjB;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,CAAC;;;;;;;;;;;;;;;;EAe5D;AAED,2EAA2E;AAC3E,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAoBzD;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,CAAC,SAAS,YAAY,EACnD,GAAG,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GACvC,CAAC,CAEH;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,cAAc,CAKjE;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,CAmB7D"}
package/dist/envelope.js CHANGED
@@ -1,5 +1,6 @@
1
- import { ReservingError, canonicalJson, fnv1a64 } from "@actuarial-ts/core";
1
+ import { ReservingError, canonicalJson, fnv1a64, isRealIsoDate, } from "@actuarial-ts/core";
2
2
  import { z } from "zod";
3
+ import { recordSchema } from "./schemas/record.js";
3
4
  /**
4
5
  * The interchange document envelope (spec 3.1 / 3.5).
5
6
  *
@@ -26,19 +27,19 @@ import { z } from "zod";
26
27
  * a clock.
27
28
  */
28
29
  /** The interchange spec version this package writes. */
29
- export const INTERCHANGE_SPEC_VERSION = "1.0.0";
30
+ export const INTERCHANGE_SPEC_VERSION = "1.1.0";
30
31
  /** The spec major this package accepts (spec 3.5: readers accept same-major). */
31
32
  export const INTERCHANGE_SPEC_MAJOR = 1;
32
33
  /**
33
34
  * This package's version, stamped into `generator` by default. A sync test
34
35
  * asserts it matches package.json so it cannot silently drift.
35
36
  */
36
- export const INTERCHANGE_PACKAGE_VERSION = "0.5.0";
37
+ export const INTERCHANGE_PACKAGE_VERSION = "0.6.1";
37
38
  /** Default `generator` stamp for documents authored by this package. */
38
- export const DEFAULT_GENERATOR = {
39
+ export const DEFAULT_GENERATOR = Object.freeze({
39
40
  name: "@actuarial-ts/interchange",
40
41
  version: INTERCHANGE_PACKAGE_VERSION,
41
- };
42
+ });
42
43
  export const DOCUMENT_KINDS = [
43
44
  "triangle",
44
45
  "selection",
@@ -47,6 +48,7 @@ export const DOCUMENT_KINDS = [
47
48
  "study",
48
49
  "bundle",
49
50
  "crosscheck-report",
51
+ "diagnostic-definition",
50
52
  ];
51
53
  /**
52
54
  * kind → the top-level key(s) holding the semantic body. Single-key kinds
@@ -61,6 +63,7 @@ const SEMANTIC_BODY_KEYS = {
61
63
  study: ["study"],
62
64
  bundle: ["bundle", "interchange"],
63
65
  "crosscheck-report": ["report"],
66
+ "diagnostic-definition": ["diagnosticDefinition"],
64
67
  };
65
68
  /** A 16-hex-char fnv1a64 tag. */
66
69
  export const integritySchema = z.string().regex(/^[0-9a-f]{16}$/);
@@ -78,8 +81,11 @@ export function envelopeShape(kind) {
78
81
  interchangeVersion: z.string().regex(/^\d+\.\d+\.\d+$/),
79
82
  kind: z.literal(kind),
80
83
  generator: generatorSchema,
81
- createdAt: z.string().datetime({ offset: true }),
82
- extensions: z.record(z.unknown()).optional(),
84
+ createdAt: z
85
+ .string()
86
+ .datetime({ offset: true })
87
+ .refine((value) => isRealIsoDate(value.slice(0, 10)), "expected a real Gregorian timestamp"),
88
+ extensions: recordSchema(z.unknown()).optional(),
83
89
  integrity: integritySchema,
84
90
  };
85
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envelope.js","sourceRoot":"","sources":["../src/envelope.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,aAAa,EACb,OAAO,EACP,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,wDAAwD;AACxD,MAAM,CAAC,MAAM,wBAAwB,GAAG,OAAO,CAAC;AAEhD,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,OAAO,CAAC;AAOnD,wEAAwE;AACxE,MAAM,CAAC,MAAM,iBAAiB,GAA6B,MAAM,CAAC,MAAM,CAAC;IACvE,IAAI,EAAE,2BAA2B;IACjC,OAAO,EAAE,2BAA2B;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU;IACV,WAAW;IACX,eAAe;IACf,mBAAmB;IACnB,OAAO;IACP,QAAQ;IACR,mBAAmB;IACnB,uBAAuB;CACf,CAAC;AAIX;;;;GAIG;AACH,MAAM,kBAAkB,GAA4C;IAClE,QAAQ,EAAE,CAAC,UAAU,CAAC;IACtB,SAAS,EAAE,CAAC,WAAW,CAAC;IACxB,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC3B,mBAAmB,EAAE,CAAC,QAAQ,CAAC;IAC/B,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,mBAAmB,EAAE,CAAC,QAAQ,CAAC;IAC/B,uBAAuB,EAAE,CAAC,sBAAsB,CAAC;CAClD,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,WAAW,EAAE,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAyB,IAAO;IAC3D,OAAO;QACL,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC;QACvD,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACrB,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAC1B,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAC5C,qCAAqC,CACtC;QACH,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;QAChD,SAAS,EAAE,eAAe;KAC3B,CAAC;AACJ,CAAC;AAQD,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAQ,cAAoC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,GAAiB;IAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,0BAA0B,GAAG,CAAC,IAAI,+BAA+B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7F,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,qBAAqB,GAAG,CAAC,IAAI,yCAAyC,GAAG,GAAG,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;IAC5C,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAAC,GAAiB;IAChD,OAAO,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,cAAc,CAC5B,GAAwC;IAExC,OAAO,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAkB,CAAC;AACtE,CAAC;AAUD,gFAAgF;AAChF,MAAM,UAAU,eAAe,CAAC,GAAiB;IAC/C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,MAAM,GACV,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,WAAW,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,OAAO,EAAE,EAAE,EAAE,MAAM,KAAK,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACvD,CAAC;AAQD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,8DAA8D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAI1D,CAAC;IACF,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;QACrC,MAAM,IAAI,cAAc,CACtB,qBAAqB,EACrB,uBAAuB,OAAO,cAAc,KAAK,+BAA+B,sBAAsB,OAAO,CAC9G,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AACjC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,10 +6,12 @@ export * from "./schemas/result.js";
6
6
  export * from "./schemas/study.js";
7
7
  export * from "./schemas/bundle.js";
8
8
  export * from "./schemas/crosscheck.js";
9
+ export * from "./schemas/diagnosticDefinition.js";
9
10
  export * from "./schemas/manifest.js";
10
11
  export * from "./convert/triangle.js";
11
12
  export * from "./convert/selection.js";
12
13
  export * from "./convert/result.js";
14
+ export * from "./convert/diagnosticDefinition.js";
13
15
  export * from "./referee/profiles.js";
14
16
  export * from "./referee/crosscheck.js";
15
17
  export * from "./referee/crosscheckStochastic.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC"}
package/dist/index.js CHANGED
@@ -6,10 +6,12 @@ export * from "./schemas/result.js";
6
6
  export * from "./schemas/study.js";
7
7
  export * from "./schemas/bundle.js";
8
8
  export * from "./schemas/crosscheck.js";
9
+ export * from "./schemas/diagnosticDefinition.js";
9
10
  export * from "./schemas/manifest.js";
10
11
  export * from "./convert/triangle.js";
11
12
  export * from "./convert/selection.js";
12
13
  export * from "./convert/result.js";
14
+ export * from "./convert/diagnosticDefinition.js";
13
15
  export * from "./referee/profiles.js";
14
16
  export * from "./referee/crosscheck.js";
15
17
  export * from "./referee/crosscheckStochastic.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mCAAmC,CAAC;AAClD,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mCAAmC,CAAC"}
package/dist/json.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /** Own the complete JSON document without dropping forward-compatible keys.
2
+ * Use the generic interchange JSON contract, not the stricter diagnostic
3
+ * identifier profile: opaque JSON strings may contain escaped control codes. */
4
+ export declare function snapshotInterchangeJson<T>(value: T): T;
5
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAEA;;gFAEgF;AAChF,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAWtD"}
package/dist/json.js ADDED
@@ -0,0 +1,13 @@
1
+ import { ReservingError, canonicalJson } from "@actuarial-ts/core";
2
+ /** Own the complete JSON document without dropping forward-compatible keys.
3
+ * Use the generic interchange JSON contract, not the stricter diagnostic
4
+ * identifier profile: opaque JSON strings may contain escaped control codes. */
5
+ export function snapshotInterchangeJson(value) {
6
+ try {
7
+ return JSON.parse(canonicalJson(value));
8
+ }
9
+ catch (error) {
10
+ throw new ReservingError("BAD_INTERCHANGE", `An interchange document must contain only JSON values: ${error instanceof Error ? error.message : String(error)}`);
11
+ }
12
+ }
13
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;gFAEgF;AAChF,MAAM,UAAU,uBAAuB,CAAI,KAAQ;IACjD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAM,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,cAAc,CACtB,iBAAiB,EACjB,0DACE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/parse.d.ts CHANGED
@@ -4,6 +4,7 @@ import type { MethodResultDoc, StochasticResultDoc } from "./schemas/result.js";
4
4
  import type { StudyDoc } from "./schemas/study.js";
5
5
  import type { BundleDoc } from "./schemas/bundle.js";
6
6
  import type { CrosscheckReportDoc } from "./schemas/crosscheck.js";
7
+ import type { DiagnosticDefinitionDoc } from "./schemas/diagnosticDefinition.js";
7
8
  /**
8
9
  * `parseDocument` (spec 4.1): version-checked, schema-validated,
9
10
  * integrity-verified, warning-channeled entry point for any interchange
@@ -30,7 +31,7 @@ import type { CrosscheckReportDoc } from "./schemas/crosscheck.js";
30
31
  * that computation support is limited — a reader capability note, not a
31
32
  * format error.
32
33
  */
33
- export type InterchangeDocument = TriangleDoc | SelectionDoc | MethodResultDoc | StochasticResultDoc | StudyDoc | BundleDoc | CrosscheckReportDoc;
34
+ export type InterchangeDocument = TriangleDoc | SelectionDoc | MethodResultDoc | StochasticResultDoc | StudyDoc | BundleDoc | CrosscheckReportDoc | DiagnosticDefinitionDoc;
34
35
  export interface ParseDocumentOptions {
35
36
  /** How to treat a failed integrity check. Default "refuse". */
36
37
  strictness?: "warn" | "refuse";
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,QAAQ,GACR,SAAS,GACT,mBAAmB,CAAC;AAExB,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,mBAAmB,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAwCD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,oBAAyB,GACjC,cAAc,CA2FhB"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAGjF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,QAAQ,GACR,SAAS,GACT,mBAAmB,GACnB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,oBAAoB;IACnC,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,mBAAmB,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAyCD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,oBAAyB,GACjC,cAAc,CA+FhB"}
package/dist/parse.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { ReservingError } from "@actuarial-ts/core";
2
2
  import { DOCUMENT_KINDS, acceptVersion, verifyIntegrity, } from "./envelope.js";
3
3
  import { INTERCHANGE_SCHEMA_MANIFEST } from "./schemas/manifest.js";
4
+ import { snapshotInterchangeJson } from "./json.js";
4
5
  const SCHEMA_BY_KIND = new Map(INTERCHANGE_SCHEMA_MANIFEST.map((entry) => [entry.kind, entry.schema]));
5
6
  function formatZodError(error) {
6
7
  return error.issues
@@ -32,6 +33,7 @@ function embeddedDocuments(doc) {
32
33
  collect("$.interchange.triangles", mirror["triangles"]);
33
34
  collect("$.interchange.selections", mirror["selections"]);
34
35
  collect("$.interchange.results", mirror["results"]);
36
+ collect("$.interchange.diagnosticDefinitions", mirror["diagnosticDefinitions"]);
35
37
  }
36
38
  }
37
39
  return found;
@@ -48,11 +50,15 @@ export function parseDocument(value, options = {}) {
48
50
  if (schema === undefined) {
49
51
  throw new ReservingError("BAD_INTERCHANGE", `Unknown document kind ${JSON.stringify(kind)}; this reader understands: ${DOCUMENT_KINDS.join(", ")}`);
50
52
  }
51
- const parsed = schema.safeParse(raw);
53
+ const snapshot = snapshotInterchangeJson(raw);
54
+ const parsed = schema.safeParse(snapshot);
52
55
  if (!parsed.success) {
53
56
  throw new ReservingError("BAD_INTERCHANGE", `Document of kind "${String(kind)}" failed schema validation: ${formatZodError(parsed.error)}`);
54
57
  }
55
- const doc = parsed.data;
58
+ // These wire schemas validate only: no defaults, coercions, or semantic
59
+ // transforms. Keep the owned input snapshot because Zod 3's passthrough
60
+ // object assembler otherwise drops unknown own `__proto__` properties.
61
+ const doc = snapshot;
56
62
  const warnings = [];
57
63
  const integrity = verifyIntegrity(doc);
58
64
  if (!integrity.ok) {
package/dist/parse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { type GeneratorStamp } from "../envelope.js";
3
3
  import { type TriangleDoc } from "./triangle.js";
4
4
  import { type SelectionDoc } from "./selection.js";
5
5
  import { type MethodResultDoc, type StochasticResultDoc } from "./result.js";
6
+ import { type DiagnosticDefinitionDoc } from "./diagnosticDefinition.js";
6
7
  /**
7
8
  * BundleDoc (spec 3.2) — the wrapped reproducibility bundle.
8
9
  *
@@ -24,6 +25,7 @@ export interface BundleInterchange {
24
25
  triangles: TriangleDoc[];
25
26
  selections: SelectionDoc[];
26
27
  results: (MethodResultDoc | StochasticResultDoc)[];
28
+ diagnosticDefinitions?: DiagnosticDefinitionDoc[];
27
29
  [key: string]: unknown;
28
30
  }
29
31
  export interface BundleDoc {
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/schemas/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAGzB,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,OAAO,EAAE,CAAC,eAAe,GAAG,mBAAmB,CAAC,EAAE,CAAC;IACnD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,cAAc,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAMjD,CAAC;AAEjB,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAMjC,CAAC"}
1
+ {"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../src/schemas/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EAGzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,uBAAuB,EAAiC,MAAM,2BAA2B,CAAC;AAExG;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,OAAO,EAAE,CAAC,eAAe,GAAG,mBAAmB,CAAC,EAAE,CAAC;IACnD,qBAAqB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAClD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,cAAc,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,iBAAiB,CAAC;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAOjD,CAAC;AAEjB,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAMjC,CAAC"}
@@ -3,11 +3,13 @@ import { envelopeShape } from "../envelope.js";
3
3
  import { triangleDocSchema } from "./triangle.js";
4
4
  import { selectionDocSchema } from "./selection.js";
5
5
  import { methodResultDocSchema, stochasticResultDocSchema, } from "./result.js";
6
+ import { diagnosticDefinitionDocSchema } from "./diagnosticDefinition.js";
6
7
  export const bundleInterchangeSchema = z
7
8
  .object({
8
9
  triangles: z.array(triangleDocSchema),
9
10
  selections: z.array(selectionDocSchema),
10
11
  results: z.array(z.union([methodResultDocSchema, stochasticResultDocSchema])),
12
+ diagnosticDefinitions: z.array(diagnosticDefinitionDocSchema).optional(),
11
13
  })
12
14
  .passthrough();
13
15
  export const bundleDocSchema = z
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/schemas/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAuB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAoB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAGL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAwCrB,MAAM,CAAC,MAAM,uBAAuB,GAAiC,CAAC;KACnE,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC,CAAC;CAC9E,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,eAAe,GAAyB,CAAC;KACnD,MAAM,CAAC;IACN,GAAG,aAAa,CAAC,QAAQ,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7B,WAAW,EAAE,uBAAuB;CACrC,CAAC;KACD,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../src/schemas/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAuB,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAoB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAqB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAGL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgC,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAyCxG,MAAM,CAAC,MAAM,uBAAuB,GAAiC,CAAC;KACnE,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,yBAAyB,CAAC,CAAC,CAAC;IAC7E,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,QAAQ,EAAE;CACzE,CAAC;KACD,WAAW,EAAE,CAAC;AAEjB,MAAM,CAAC,MAAM,eAAe,GAAyB,CAAC;KACnD,MAAM,CAAC;IACN,GAAG,aAAa,CAAC,QAAQ,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7B,WAAW,EAAE,uBAAuB;CACrC,CAAC;KACD,WAAW,EAAE,CAAC"}