@actuarial-ts/core 0.6.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 (103) hide show
  1. package/README.md +3 -3
  2. package/dist/capping.d.ts.map +1 -1
  3. package/dist/capping.js +39 -6
  4. package/dist/capping.js.map +1 -1
  5. package/dist/diagnosticAggregation.d.ts +3 -0
  6. package/dist/diagnosticAggregation.d.ts.map +1 -1
  7. package/dist/diagnosticAggregation.js +30 -7
  8. package/dist/diagnosticAggregation.js.map +1 -1
  9. package/dist/diagnosticDefinitions.d.ts +3 -0
  10. package/dist/diagnosticDefinitions.d.ts.map +1 -1
  11. package/dist/diagnosticDefinitions.js +844 -182
  12. package/dist/diagnosticDefinitions.js.map +1 -1
  13. package/dist/diagnosticDerivations.d.ts +23 -0
  14. package/dist/diagnosticDerivations.d.ts.map +1 -1
  15. package/dist/diagnosticDerivations.js +187 -43
  16. package/dist/diagnosticDerivations.js.map +1 -1
  17. package/dist/diagnosticExposure.d.ts +2 -2
  18. package/dist/diagnosticExposure.d.ts.map +1 -1
  19. package/dist/diagnosticExposure.js +228 -20
  20. package/dist/diagnosticExposure.js.map +1 -1
  21. package/dist/diagnosticExpressions.d.ts +1 -1
  22. package/dist/diagnosticExpressions.d.ts.map +1 -1
  23. package/dist/diagnosticExpressions.js +35 -15
  24. package/dist/diagnosticExpressions.js.map +1 -1
  25. package/dist/diagnosticFormulas.d.ts +3 -0
  26. package/dist/diagnosticFormulas.d.ts.map +1 -1
  27. package/dist/diagnosticFormulas.js +160 -26
  28. package/dist/diagnosticFormulas.js.map +1 -1
  29. package/dist/diagnosticIdentity.d.ts +15 -1
  30. package/dist/diagnosticIdentity.d.ts.map +1 -1
  31. package/dist/diagnosticIdentity.js +318 -51
  32. package/dist/diagnosticIdentity.js.map +1 -1
  33. package/dist/diagnosticOrdering.d.ts +8 -0
  34. package/dist/diagnosticOrdering.d.ts.map +1 -0
  35. package/dist/diagnosticOrdering.js +73 -0
  36. package/dist/diagnosticOrdering.js.map +1 -0
  37. package/dist/diagnosticPeriodAxis.d.ts +9 -0
  38. package/dist/diagnosticPeriodAxis.d.ts.map +1 -0
  39. package/dist/diagnosticPeriodAxis.js +69 -0
  40. package/dist/diagnosticPeriodAxis.js.map +1 -0
  41. package/dist/diagnosticPeriods.d.ts +2 -3
  42. package/dist/diagnosticPeriods.d.ts.map +1 -1
  43. package/dist/diagnosticPeriods.js +20 -68
  44. package/dist/diagnosticPeriods.js.map +1 -1
  45. package/dist/diagnosticPreparation.d.ts +47 -14
  46. package/dist/diagnosticPreparation.d.ts.map +1 -1
  47. package/dist/diagnosticPreparation.js +1482 -112
  48. package/dist/diagnosticPreparation.js.map +1 -1
  49. package/dist/diagnosticReview.d.ts +36 -14
  50. package/dist/diagnosticReview.d.ts.map +1 -1
  51. package/dist/diagnosticReview.js +448 -42
  52. package/dist/diagnosticReview.js.map +1 -1
  53. package/dist/diagnosticRunner.d.ts +2 -1
  54. package/dist/diagnosticRunner.d.ts.map +1 -1
  55. package/dist/diagnosticRunner.js +656 -70
  56. package/dist/diagnosticRunner.js.map +1 -1
  57. package/dist/diagnosticRuntime.d.ts +26 -0
  58. package/dist/diagnosticRuntime.d.ts.map +1 -0
  59. package/dist/diagnosticRuntime.js +243 -0
  60. package/dist/diagnosticRuntime.js.map +1 -0
  61. package/dist/diagnosticSourceOrdering.d.ts +6 -0
  62. package/dist/diagnosticSourceOrdering.d.ts.map +1 -0
  63. package/dist/diagnosticSourceOrdering.js +38 -0
  64. package/dist/diagnosticSourceOrdering.js.map +1 -0
  65. package/dist/index.d.ts +8 -4
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +5 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/mack.d.ts +4 -0
  70. package/dist/mack.d.ts.map +1 -1
  71. package/dist/mack.js +32 -4
  72. package/dist/mack.js.map +1 -1
  73. package/dist/triangle.d.ts.map +1 -1
  74. package/dist/triangle.js +59 -9
  75. package/dist/triangle.js.map +1 -1
  76. package/dist/types.d.ts +4 -0
  77. package/dist/types.d.ts.map +1 -1
  78. package/dist/types.js +22 -8
  79. package/dist/types.js.map +1 -1
  80. package/dist/version.d.ts +1 -1
  81. package/dist/version.js +1 -1
  82. package/package.json +3 -2
  83. package/src/capping.ts +109 -18
  84. package/src/diagnosticAggregation.ts +69 -20
  85. package/src/diagnosticDefinitions.ts +2675 -426
  86. package/src/diagnosticDerivations.ts +281 -49
  87. package/src/diagnosticExposure.ts +441 -50
  88. package/src/diagnosticExpressions.ts +99 -17
  89. package/src/diagnosticFormulas.ts +239 -39
  90. package/src/diagnosticIdentity.ts +691 -191
  91. package/src/diagnosticOrdering.ts +106 -0
  92. package/src/diagnosticPeriodAxis.ts +92 -0
  93. package/src/diagnosticPeriods.ts +67 -82
  94. package/src/diagnosticPreparation.ts +2369 -127
  95. package/src/diagnosticReview.ts +864 -58
  96. package/src/diagnosticRunner.ts +1076 -72
  97. package/src/diagnosticRuntime.ts +264 -0
  98. package/src/diagnosticSourceOrdering.ts +50 -0
  99. package/src/index.ts +31 -3
  100. package/src/mack.ts +72 -9
  101. package/src/triangle.ts +103 -13
  102. package/src/types.ts +55 -20
  103. package/src/version.ts +1 -1
@@ -0,0 +1,8 @@
1
+ import type { DiagnosticMeasureContribution, DiagnosticStructuralBlocker } from "./diagnosticAggregation.js";
2
+ import type { DiagnosticMetricFinding } from "./diagnosticFormulas.js";
3
+ /** Section 15 total order, for values already validated by a public boundary. */
4
+ export declare function compareDiagnosticIdentityValues(left: unknown, right: unknown): number;
5
+ export declare function compareDiagnosticFindings(left: DiagnosticMetricFinding, right: DiagnosticMetricFinding): number;
6
+ export declare function compareDiagnosticContributions(left: DiagnosticMeasureContribution, right: DiagnosticMeasureContribution): number;
7
+ export declare function compareDiagnosticBlockers(left: DiagnosticStructuralBlocker, right: DiagnosticStructuralBlocker): number;
8
+ //# sourceMappingURL=diagnosticOrdering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticOrdering.d.ts","sourceRoot":"","sources":["../src/diagnosticOrdering.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,6BAA6B,EAC7B,2BAA2B,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAIvE,iFAAiF;AACjF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,GACb,MAAM,CAoBR;AAaD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,uBAAuB,EAC7B,KAAK,EAAE,uBAAuB,GAC7B,MAAM,CA4BR;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,6BAA6B,EACnC,KAAK,EAAE,6BAA6B,GACnC,MAAM,CASR;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,2BAA2B,EACjC,KAAK,EAAE,2BAA2B,GACjC,MAAM,CASR"}
@@ -0,0 +1,73 @@
1
+ import { canonicalJson } from "./canonical.js";
2
+ import { compareDiagnosticSourceLocations } from "./diagnosticSourceOrdering.js";
3
+ /** Section 15 total order, for values already validated by a public boundary. */
4
+ export function compareDiagnosticIdentityValues(left, right) {
5
+ if (left === right)
6
+ return 0;
7
+ if (left === undefined)
8
+ return -1;
9
+ if (right === undefined)
10
+ return 1;
11
+ if (left === null)
12
+ return -1;
13
+ if (right === null)
14
+ return 1;
15
+ if (typeof left === "number" && typeof right === "number")
16
+ return left - right;
17
+ if (typeof left === "boolean" && typeof right === "boolean")
18
+ return Number(left) - Number(right);
19
+ if (Array.isArray(left) && Array.isArray(right)) {
20
+ for (let i = 0; i < Math.min(left.length, right.length); i++) {
21
+ const comparison = compareDiagnosticIdentityValues(left[i], right[i]);
22
+ if (comparison !== 0)
23
+ return comparison;
24
+ }
25
+ return left.length - right.length;
26
+ }
27
+ const a = typeof left === "string" ? left : canonicalJson(left);
28
+ const b = typeof right === "string" ? right : canonicalJson(right);
29
+ return a < b ? -1 : a > b ? 1 : 0;
30
+ }
31
+ function compareSources(left, right) {
32
+ for (let i = 0; i < Math.min(left.length, right.length); i++) {
33
+ const comparison = compareDiagnosticSourceLocations(left[i], right[i]);
34
+ if (comparison !== 0)
35
+ return comparison;
36
+ }
37
+ return left.length - right.length;
38
+ }
39
+ export function compareDiagnosticFindings(left, right) {
40
+ const fields = [
41
+ "category",
42
+ "severity",
43
+ "code",
44
+ "ruleId",
45
+ "instanceId",
46
+ "measureId",
47
+ "expressionPath",
48
+ "sourceGroup",
49
+ "group",
50
+ "origin",
51
+ "valuation",
52
+ "developmentAge",
53
+ "ageUnit",
54
+ "recordId",
55
+ "claimId",
56
+ "exposureKey",
57
+ "message",
58
+ ];
59
+ return (compareDiagnosticIdentityValues(fields.map((key) => left[key]), fields.map((key) => right[key])) ||
60
+ compareDiagnosticIdentityValues(left.offendingKey, right.offendingKey) ||
61
+ compareSources(left.sources, right.sources));
62
+ }
63
+ export function compareDiagnosticContributions(left, right) {
64
+ return (compareDiagnosticIdentityValues([left.sourceId, left.status, left.deduplicated], [right.sourceId, right.status, right.deduplicated]) ||
65
+ compareSources(left.sources, right.sources) ||
66
+ compareDiagnosticIdentityValues(left, right));
67
+ }
68
+ export function compareDiagnosticBlockers(left, right) {
69
+ return (compareDiagnosticIdentityValues([left.code, left.message, left.sourceIds], [right.code, right.message, right.sourceIds]) ||
70
+ compareSources(left.sources, right.sources) ||
71
+ compareDiagnosticIdentityValues(left.finding, right.finding));
72
+ }
73
+ //# sourceMappingURL=diagnosticOrdering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticOrdering.js","sourceRoot":"","sources":["../src/diagnosticOrdering.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { DiagnosticPeriodAxis } from "./diagnosticDefinitions.js";
2
+ export interface NormalizedDiagnosticAxisPeriod {
3
+ readonly label: string;
4
+ readonly coordinate: number;
5
+ }
6
+ export type DiagnosticPeriodSide = "origin" | "valuation";
7
+ /** Pure axis-level period normalization shared by compilation and execution. */
8
+ export declare function normalizeDiagnosticPeriodWithAxis(axis: DiagnosticPeriodAxis, side: DiagnosticPeriodSide, label: unknown): NormalizedDiagnosticAxisPeriod | null;
9
+ //# sourceMappingURL=diagnosticPeriodAxis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticPeriodAxis.d.ts","sourceRoot":"","sources":["../src/diagnosticPeriodAxis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAsC1D,gFAAgF;AAChF,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,OAAO,GACb,8BAA8B,GAAG,IAAI,CAyCvC"}
@@ -0,0 +1,69 @@
1
+ function calendarCoordinate(label, cadence, anchor) {
2
+ let year;
3
+ let start;
4
+ let width;
5
+ if (cadence === "year") {
6
+ const match = /^(\d{4})$/.exec(label);
7
+ if (!match)
8
+ return null;
9
+ year = Number(match[1]);
10
+ start = year * 12;
11
+ width = 12;
12
+ }
13
+ else if (cadence === "month") {
14
+ const match = /^(\d{4})-(0[1-9]|1[0-2])$/.exec(label);
15
+ if (!match)
16
+ return null;
17
+ year = Number(match[1]);
18
+ start = year * 12 + Number(match[2]) - 1;
19
+ width = 1;
20
+ }
21
+ else {
22
+ const compact = /^(\d{4})Q([1-4])$/.exec(label);
23
+ const hyphenated = /^(\d{4})-Q([1-4])$/.exec(label);
24
+ const first = /^Q([1-4]) (\d{4})$/.exec(label);
25
+ const match = compact ?? hyphenated ?? first;
26
+ if (!match)
27
+ return null;
28
+ const quarterFirst = match === first;
29
+ year = Number(match[quarterFirst ? 2 : 1]);
30
+ const quarter = Number(match[quarterFirst ? 1 : 2]);
31
+ start = year * 12 + (quarter - 1) * 3;
32
+ width = 3;
33
+ }
34
+ if (year < 1 || year > 9999)
35
+ return null;
36
+ return start + (anchor === "end" ? width : 0);
37
+ }
38
+ /** Pure axis-level period normalization shared by compilation and execution. */
39
+ export function normalizeDiagnosticPeriodWithAxis(axis, side, label) {
40
+ if (typeof label !== "string" || axis === null || typeof axis !== "object")
41
+ return null;
42
+ if (axis.kind === "calendar") {
43
+ const cadence = side === "origin" ? axis.originCadence : axis.valuationCadence;
44
+ const anchor = side === "origin" ? axis.originAnchor : axis.valuationAnchor;
45
+ if (!["month", "quarter", "year"].includes(cadence) ||
46
+ !["start", "end"].includes(anchor))
47
+ return null;
48
+ const coordinate = calendarCoordinate(label, cadence, anchor);
49
+ if (coordinate === null)
50
+ return null;
51
+ const canonicalLabel = cadence === "quarter"
52
+ ? (() => {
53
+ const startCoordinate = calendarCoordinate(label, cadence, "start");
54
+ const year = Math.floor(startCoordinate / 12);
55
+ return `${String(year).padStart(4, "0")}-Q${Math.floor((startCoordinate % 12) / 3) + 1}`;
56
+ })()
57
+ : label;
58
+ return { label: canonicalLabel, coordinate };
59
+ }
60
+ if (axis.kind !== "ordered" ||
61
+ !Array.isArray(axis[side === "origin" ? "origins" : "valuations"]))
62
+ return null;
63
+ const catalog = side === "origin" ? axis.origins : axis.valuations;
64
+ const item = catalog.find((coordinate) => coordinate?.label === label || coordinate?.aliases?.includes(label));
65
+ return item && typeof item.coordinate === "number"
66
+ ? { label: item.label, coordinate: item.coordinate }
67
+ : null;
68
+ }
69
+ //# sourceMappingURL=diagnosticPeriodAxis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticPeriodAxis.js","sourceRoot":"","sources":["../src/diagnosticPeriodAxis.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import type { CompiledDiagnosticDefinition } from "./diagnosticDefinitions.js";
2
+ import { type DiagnosticPeriodSide } from "./diagnosticPeriodAxis.js";
2
3
  export interface DiagnosticNormalizedPeriod {
3
4
  readonly label: string;
4
5
  readonly coordinate: number;
5
6
  }
6
- type PeriodSide = "origin" | "valuation";
7
- export declare function normalizeDiagnosticPeriod(definition: CompiledDiagnosticDefinition, side: PeriodSide, label: string): DiagnosticNormalizedPeriod;
7
+ export declare function normalizeDiagnosticPeriod(definition: CompiledDiagnosticDefinition, side: DiagnosticPeriodSide, label: string): DiagnosticNormalizedPeriod;
8
8
  export declare function diagnosticDevelopmentAge(definition: CompiledDiagnosticDefinition, origin: string, valuation: string): {
9
9
  readonly origin: DiagnosticNormalizedPeriod;
10
10
  readonly valuation: DiagnosticNormalizedPeriod;
@@ -12,5 +12,4 @@ export declare function diagnosticDevelopmentAge(definition: CompiledDiagnosticD
12
12
  readonly ageUnit: string;
13
13
  };
14
14
  export declare function compareDiagnosticPeriods(left: DiagnosticNormalizedPeriod, right: DiagnosticNormalizedPeriod): number;
15
- export {};
16
15
  //# sourceMappingURL=diagnosticPeriods.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosticPeriods.d.ts","sourceRoot":"","sources":["../src/diagnosticPeriods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAwB,MAAM,4BAA4B,CAAC;AAIrG,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,KAAK,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAC;AAyEzC,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,4BAA4B,EACxC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,GACZ,0BAA0B,CAG5B;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,4BAA4B,EACxC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB;IAAE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAiB5J;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,0BAA0B,GAAG,MAAM,CAEpH"}
1
+ {"version":3,"file":"diagnosticPeriods.d.ts","sourceRoot":"","sources":["../src/diagnosticPeriods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAuBD,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,4BAA4B,EACxC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,MAAM,GACZ,0BAA0B,CAO5B;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,4BAA4B,EACxC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB;IACD,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAgCA;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,0BAA0B,EAChC,KAAK,EAAE,0BAA0B,GAChC,MAAM,CAKR"}
@@ -1,73 +1,20 @@
1
1
  import { assertCompiledDiagnosticDefinition } from "./diagnosticDefinitions.js";
2
+ import { normalizeDiagnosticPeriodWithAxis, } from "./diagnosticPeriodAxis.js";
2
3
  import { DiagnosticValidationError } from "./types.js";
3
- function calendarCoordinate(label, cadence, anchor) {
4
- let year;
5
- let start;
6
- let width;
7
- if (cadence === "year") {
8
- const match = /^(\d{4})$/.exec(label);
9
- if (!match)
10
- return null;
11
- year = Number(match[1]);
12
- start = year * 12;
13
- width = 12;
14
- }
15
- else if (cadence === "month") {
16
- const match = /^(\d{4})-(0[1-9]|1[0-2])$/.exec(label);
17
- if (!match)
18
- return null;
19
- year = Number(match[1]);
20
- start = year * 12 + Number(match[2]) - 1;
21
- width = 1;
22
- }
23
- else {
24
- const compact = /^(\d{4})Q([1-4])$/.exec(label);
25
- const hyphenated = /^(\d{4})-Q([1-4])$/.exec(label);
26
- const first = /^Q([1-4]) (\d{4})$/.exec(label);
27
- const match = compact ?? hyphenated ?? first;
28
- if (!match)
29
- return null;
30
- const quarterFirst = match === first;
31
- year = Number(match[quarterFirst ? 2 : 1]);
32
- const quarter = Number(match[quarterFirst ? 1 : 2]);
33
- start = year * 12 + (quarter - 1) * 3;
34
- width = 3;
35
- }
36
- if (year < 1 || year > 9999)
37
- return null;
38
- return start + (anchor === "end" ? width : 0);
39
- }
40
4
  function normalizeWithAxis(axis, side, label) {
41
- if (axis.kind === "calendar") {
42
- const cadence = side === "origin" ? axis.originCadence : axis.valuationCadence;
43
- const anchor = side === "origin" ? axis.originAnchor : axis.valuationAnchor;
44
- const coordinate = calendarCoordinate(label, cadence, anchor);
45
- if (coordinate === null)
46
- throw new DiagnosticValidationError([{
47
- domain: "input",
48
- code: "invalid-period",
49
- path: `$.${side}`,
50
- message: `Invalid ${cadence} ${side} label ${JSON.stringify(label)}`,
51
- }]);
52
- const canonicalLabel = cadence === "quarter"
53
- ? (() => {
54
- const startCoordinate = calendarCoordinate(label, cadence, "start");
55
- const year = Math.floor(startCoordinate / 12);
56
- return `${String(year).padStart(4, "0")}Q${Math.floor((startCoordinate % 12) / 3) + 1}`;
57
- })()
58
- : label;
59
- return Object.freeze({ label: canonicalLabel, coordinate });
60
- }
61
- const catalog = side === "origin" ? axis.origins : axis.valuations;
62
- const item = catalog.find((coordinate) => coordinate.label === label || coordinate.aliases?.includes(label));
63
- if (!item)
64
- throw new DiagnosticValidationError([{
5
+ const normalized = normalizeDiagnosticPeriodWithAxis(axis, side, label);
6
+ if (!normalized)
7
+ throw new DiagnosticValidationError([
8
+ {
65
9
  domain: "input",
66
10
  code: "invalid-period",
67
11
  path: `$.${side}`,
68
- message: `Unknown ordered-axis ${side} label ${JSON.stringify(label)}`,
69
- }]);
70
- return Object.freeze({ label: item.label, coordinate: item.coordinate });
12
+ message: axis.kind === "calendar"
13
+ ? `Invalid ${side === "origin" ? axis.originCadence : axis.valuationCadence} ${side} label ${JSON.stringify(label)}`
14
+ : `Unknown ordered-axis ${side} label ${JSON.stringify(label)}`,
15
+ },
16
+ ]);
17
+ return Object.freeze(normalized);
71
18
  }
72
19
  export function normalizeDiagnosticPeriod(definition, side, label) {
73
20
  assertCompiledDiagnosticDefinition(definition);
@@ -77,14 +24,18 @@ export function diagnosticDevelopmentAge(definition, origin, valuation) {
77
24
  const normalizedOrigin = normalizeDiagnosticPeriod(definition, "origin", origin);
78
25
  const normalizedValuation = normalizeDiagnosticPeriod(definition, "valuation", valuation);
79
26
  const axis = definition.definition.periodAxis;
80
- const developmentAge = normalizedValuation.coordinate - normalizedOrigin.coordinate + axis.ageOffset;
27
+ const developmentAge = normalizedValuation.coordinate -
28
+ normalizedOrigin.coordinate +
29
+ axis.ageOffset;
81
30
  if (!Number.isSafeInteger(developmentAge) || developmentAge < 0)
82
- throw new DiagnosticValidationError([{
31
+ throw new DiagnosticValidationError([
32
+ {
83
33
  domain: "input",
84
34
  code: "invalid-period",
85
35
  path: "$.valuation",
86
36
  message: "Valuation period precedes origin period or development age is unsafe",
87
- }]);
37
+ },
38
+ ]);
88
39
  return Object.freeze({
89
40
  origin: normalizedOrigin,
90
41
  valuation: normalizedValuation,
@@ -93,6 +44,7 @@ export function diagnosticDevelopmentAge(definition, origin, valuation) {
93
44
  });
94
45
  }
95
46
  export function compareDiagnosticPeriods(left, right) {
96
- return left.coordinate - right.coordinate || (left.label < right.label ? -1 : left.label > right.label ? 1 : 0);
47
+ return (left.coordinate - right.coordinate ||
48
+ (left.label < right.label ? -1 : left.label > right.label ? 1 : 0));
97
49
  }
98
50
  //# sourceMappingURL=diagnosticPeriods.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosticPeriods.js","sourceRoot":"","sources":["../src/diagnosticPeriods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnosticPeriods.js","sourceRoot":"","sources":["../src/diagnosticPeriods.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EACL,iCAAiC,GAElC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAOvD,SAAS,iBAAiB,CACxB,IAA0B,EAC1B,IAA0B,EAC1B,KAAa;IAEb,MAAM,UAAU,GAAG,iCAAiC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACxE,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,yBAAyB,CAAC;YAClC;gBACE,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,KAAK,IAAI,EAAE;gBACjB,OAAO,EACL,IAAI,CAAC,IAAI,KAAK,UAAU;oBACtB,CAAC,CAAC,WAAW,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;oBACpH,CAAC,CAAC,wBAAwB,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;aACpE;SACF,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAwC,EACxC,IAA0B,EAC1B,KAAa;IAEb,kCAAkC,CAAC,UAAU,CAAC,CAAC;IAC/C,OAAO,iBAAiB,CACtB,UAAU,CAAC,UAAU,CAAC,UAAkC,EACxD,IAAI,EACJ,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAAwC,EACxC,MAAc,EACd,SAAiB;IAOjB,MAAM,gBAAgB,GAAG,yBAAyB,CAChD,UAAU,EACV,QAAQ,EACR,MAAM,CACP,CAAC;IACF,MAAM,mBAAmB,GAAG,yBAAyB,CACnD,UAAU,EACV,WAAW,EACX,SAAS,CACV,CAAC;IACF,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC;IAC9C,MAAM,cAAc,GAClB,mBAAmB,CAAC,UAAU;QAC9B,gBAAgB,CAAC,UAAU;QAC3B,IAAI,CAAC,SAAS,CAAC;IACjB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC;QAC7D,MAAM,IAAI,yBAAyB,CAAC;YAClC;gBACE,MAAM,EAAE,OAAO;gBACf,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,aAAa;gBACnB,OAAO,EACL,sEAAsE;aACzE;SACF,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,gBAAgB;QACxB,SAAS,EAAE,mBAAmB;QAC9B,cAAc;QACd,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAAgC,EAChC,KAAiC;IAEjC,OAAO,CACL,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;QAClC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACnE,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
- import { type CompiledDiagnosticDefinition, type DiagnosticDeepReadonly, type DiagnosticSourceLocation, type DiagnosticsFilter, type JsonValue } from "./diagnosticDefinitions.js";
1
+ import { type DiagnosticIdentityProjection, type NormalizedDiagnosticsFilterIdentity, type NormalizedDiagnosticSourceLocationIdentity } from "./diagnosticIdentity.js";
2
+ import { type CompiledDiagnosticDefinition, type DiagnosticDeepReadonly, type DiagnosticMeasureStats, type DiagnosticSourceLocation, type DiagnosticsFilter, type JsonValue } from "./diagnosticDefinitions.js";
2
3
  import { type DiagnosticMeasureContribution, type DiagnosticStructuralBlocker } from "./diagnosticAggregation.js";
3
- import { type DiagnosticAuditedNumericValue, type DiagnosticExposureObservation, type ReconciledDiagnosticExposure } from "./diagnosticExposure.js";
4
- import type { DiagnosticMeasureStats } from "./diagnosticDefinitions.js";
4
+ import { type DiagnosticAuditedNumericValue, type DiagnosticExposureAuditObservation, type DiagnosticExposureObservation, type ReconciledDiagnosticExposure } from "./diagnosticExposure.js";
5
5
  import type { DiagnosticMetricFinding } from "./diagnosticFormulas.js";
6
6
  export interface DiagnosticLossRecordBase {
7
7
  readonly recordId: string;
@@ -40,18 +40,45 @@ export interface PrepareDiagnosticDataInput {
40
40
  readonly expectedCells?: readonly DiagnosticExpectedCell[];
41
41
  }
42
42
  export type DiagnosticInputDisposition = "invalid" | "complete-period-cutoff" | "filter" | "retained";
43
+ export interface DiagnosticLossInputAuditSnapshot {
44
+ readonly recordId: string;
45
+ readonly rowType: "claim" | "aggregate";
46
+ readonly claimId: string | null;
47
+ readonly sourceGroup: string;
48
+ readonly origin: string;
49
+ readonly valuation: string;
50
+ readonly complete: boolean;
51
+ readonly measures: Readonly<Record<string, DiagnosticAuditedNumericValue>>;
52
+ readonly source: DiagnosticSourceLocation | null;
53
+ }
54
+ export interface DiagnosticExposureInputAuditSnapshot {
55
+ readonly key: string;
56
+ readonly sourceGroup: string;
57
+ readonly origin: string;
58
+ readonly valuation: string | null;
59
+ readonly measureId: string;
60
+ readonly value: DiagnosticAuditedNumericValue;
61
+ readonly complete: boolean;
62
+ readonly source: DiagnosticSourceLocation | null;
63
+ }
64
+ export interface DiagnosticExpectedCellAuditSnapshot {
65
+ readonly sourceGroup: string;
66
+ readonly origin: string;
67
+ readonly valuation: string;
68
+ readonly source: DiagnosticSourceLocation | null;
69
+ }
43
70
  export type DiagnosticInputAuditRecord = {
44
71
  readonly kind: "loss";
45
72
  readonly disposition: DiagnosticInputDisposition;
46
- readonly record: DiagnosticDeepReadonly<DiagnosticLossInput>;
73
+ readonly record: DiagnosticLossInputAuditSnapshot;
47
74
  } | {
48
75
  readonly kind: "exposure";
49
76
  readonly disposition: DiagnosticInputDisposition;
50
- readonly record: DiagnosticDeepReadonly<DiagnosticExposureObservation>;
77
+ readonly record: DiagnosticExposureInputAuditSnapshot;
51
78
  } | {
52
79
  readonly kind: "expected-cell";
53
80
  readonly disposition: Exclude<DiagnosticInputDisposition, "invalid">;
54
- readonly record: DiagnosticDeepReadonly<DiagnosticExpectedCell>;
81
+ readonly record: DiagnosticExpectedCellAuditSnapshot;
55
82
  };
56
83
  export interface PreparedDiagnosticSourceCell {
57
84
  readonly sourceGroup: string;
@@ -81,18 +108,24 @@ export interface PreparedDiagnosticData {
81
108
  }
82
109
  export interface NormalizedDiagnosticPreparationIdentity {
83
110
  readonly definitionIntegrity: string;
84
- readonly filter: DiagnosticDeepReadonly<DiagnosticsFilter> | null;
85
- readonly completePeriodCutoffs: readonly DiagnosticCompletePeriodCutoff[];
86
- readonly inputAudit: readonly DiagnosticInputAuditRecord[];
87
- readonly cells: readonly PreparedDiagnosticSourceCell[];
88
- readonly exposures: readonly ReconciledDiagnosticExposure[];
111
+ readonly filter: NormalizedDiagnosticsFilterIdentity | null;
112
+ readonly completePeriodCutoffs: readonly DiagnosticIdentityProjection<DiagnosticCompletePeriodCutoff>[];
113
+ readonly inputAudit: readonly DiagnosticIdentityProjection<DiagnosticInputAuditRecord>[];
114
+ readonly cells: readonly DiagnosticIdentityProjection<PreparedDiagnosticSourceCell>[];
115
+ readonly exposures: readonly DiagnosticIdentityProjection<ReconciledDiagnosticExposure>[];
89
116
  readonly expectedCellsProvided: boolean;
90
- readonly expectedCells: readonly DiagnosticExpectedCell[];
91
- readonly findings: readonly DiagnosticMetricFinding[];
117
+ readonly expectedCells: readonly NormalizedDiagnosticExpectedCellIdentity[];
118
+ readonly findings: readonly DiagnosticIdentityProjection<DiagnosticMetricFinding>[];
119
+ }
120
+ export interface NormalizedDiagnosticExpectedCellIdentity {
121
+ readonly sourceGroup: string;
122
+ readonly origin: string;
123
+ readonly valuation: string;
124
+ readonly source: NormalizedDiagnosticSourceLocationIdentity | null;
92
125
  }
93
126
  export declare function prepareDiagnosticData(input: PrepareDiagnosticDataInput): PreparedDiagnosticData;
94
127
  export declare function assertPreparedDiagnosticData(value: unknown): asserts value is PreparedDiagnosticData;
95
128
  export declare function getPreparedDiagnosticDataIdentity(value: PreparedDiagnosticData): DiagnosticDeepReadonly<NormalizedDiagnosticPreparationIdentity>;
96
129
  export declare function verifyPreparedDiagnosticDataIntegrity(value: PreparedDiagnosticData): void;
97
- export type { JsonValue, DiagnosticAuditedNumericValue };
130
+ export type { JsonValue, DiagnosticAuditedNumericValue, DiagnosticExposureAuditObservation, };
98
131
  //# sourceMappingURL=diagnosticPreparation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosticPreparation.d.ts","sourceRoot":"","sources":["../src/diagnosticPreparation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnosticPreparation.d.ts","sourceRoot":"","sources":["../src/diagnosticPreparation.ts"],"names":[],"mappings":"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"}