@actuarial-ts/core 0.4.0 → 0.6.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 (87) hide show
  1. package/README.md +65 -215
  2. package/dist/casualtyDiagnostics.d.ts +19 -49
  3. package/dist/casualtyDiagnostics.d.ts.map +1 -1
  4. package/dist/casualtyDiagnostics.js +84 -114
  5. package/dist/casualtyDiagnostics.js.map +1 -1
  6. package/dist/diagnosticAggregation.d.ts +29 -0
  7. package/dist/diagnosticAggregation.d.ts.map +1 -0
  8. package/dist/diagnosticAggregation.js +50 -0
  9. package/dist/diagnosticAggregation.js.map +1 -0
  10. package/dist/diagnosticDefinitions.d.ts +286 -0
  11. package/dist/diagnosticDefinitions.d.ts.map +1 -0
  12. package/dist/diagnosticDefinitions.js +1026 -0
  13. package/dist/diagnosticDefinitions.js.map +1 -0
  14. package/dist/diagnosticDerivations.d.ts +12 -0
  15. package/dist/diagnosticDerivations.d.ts.map +1 -0
  16. package/dist/diagnosticDerivations.js +80 -0
  17. package/dist/diagnosticDerivations.js.map +1 -0
  18. package/dist/diagnosticExposure.d.ts +51 -0
  19. package/dist/diagnosticExposure.d.ts.map +1 -0
  20. package/dist/diagnosticExposure.js +65 -0
  21. package/dist/diagnosticExposure.js.map +1 -0
  22. package/dist/diagnosticExpressions.d.ts +56 -0
  23. package/dist/diagnosticExpressions.d.ts.map +1 -0
  24. package/dist/diagnosticExpressions.js +104 -0
  25. package/dist/diagnosticExpressions.js.map +1 -0
  26. package/dist/diagnosticFormulas.d.ts +195 -0
  27. package/dist/diagnosticFormulas.d.ts.map +1 -0
  28. package/dist/diagnosticFormulas.js +85 -0
  29. package/dist/diagnosticFormulas.js.map +1 -0
  30. package/dist/diagnosticIdentity.d.ts +237 -0
  31. package/dist/diagnosticIdentity.d.ts.map +1 -0
  32. package/dist/diagnosticIdentity.js +454 -0
  33. package/dist/diagnosticIdentity.js.map +1 -0
  34. package/dist/diagnosticPeriods.d.ts +16 -0
  35. package/dist/diagnosticPeriods.d.ts.map +1 -0
  36. package/dist/diagnosticPeriods.js +98 -0
  37. package/dist/diagnosticPeriods.js.map +1 -0
  38. package/dist/diagnosticPreparation.d.ts +98 -0
  39. package/dist/diagnosticPreparation.d.ts.map +1 -0
  40. package/dist/diagnosticPreparation.js +169 -0
  41. package/dist/diagnosticPreparation.js.map +1 -0
  42. package/dist/diagnosticReview.d.ts +44 -0
  43. package/dist/diagnosticReview.d.ts.map +1 -0
  44. package/dist/diagnosticReview.js +84 -0
  45. package/dist/diagnosticReview.js.map +1 -0
  46. package/dist/diagnosticRules.d.ts +32 -0
  47. package/dist/diagnosticRules.d.ts.map +1 -0
  48. package/dist/diagnosticRules.js +32 -0
  49. package/dist/diagnosticRules.js.map +1 -0
  50. package/dist/diagnosticRunner.d.ts +85 -0
  51. package/dist/diagnosticRunner.d.ts.map +1 -0
  52. package/dist/diagnosticRunner.js +117 -0
  53. package/dist/diagnosticRunner.js.map +1 -0
  54. package/dist/index.d.ts +24 -1
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +12 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/types.d.ts +17 -0
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/types.js +114 -0
  61. package/dist/types.js.map +1 -1
  62. package/dist/version.d.ts +3 -0
  63. package/dist/version.d.ts.map +1 -0
  64. package/dist/version.js +3 -0
  65. package/dist/version.js.map +1 -0
  66. package/package.json +2 -2
  67. package/src/casualtyDiagnostics.ts +79 -187
  68. package/src/diagnosticAggregation.ts +79 -0
  69. package/src/diagnosticDefinitions.ts +1375 -0
  70. package/src/diagnosticDerivations.ts +89 -0
  71. package/src/diagnosticExposure.ts +91 -0
  72. package/src/diagnosticExpressions.ts +173 -0
  73. package/src/diagnosticFormulas.ts +150 -0
  74. package/src/diagnosticIdentity.ts +767 -0
  75. package/src/diagnosticPeriods.ts +117 -0
  76. package/src/diagnosticPreparation.ts +233 -0
  77. package/src/diagnosticReview.ts +91 -0
  78. package/src/diagnosticRules.ts +69 -0
  79. package/src/diagnosticRunner.ts +110 -0
  80. package/src/index.ts +156 -1
  81. package/src/types.ts +161 -0
  82. package/src/version.ts +2 -0
  83. package/dist/metricDiagnostics.d.ts +0 -212
  84. package/dist/metricDiagnostics.d.ts.map +0 -1
  85. package/dist/metricDiagnostics.js +0 -627
  86. package/dist/metricDiagnostics.js.map +0 -1
  87. package/src/metricDiagnostics.ts +0 -876
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticRunner.d.ts","sourceRoot":"","sources":["../src/diagnosticRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ import { getCompiledDiagnosticDefinitionInternals } from "./diagnosticDefinitions.js";
2
+ import { applyDiagnosticPresentation, diagnosticRawRatio, evaluateDiagnosticMeasureExpression, evaluateDiagnosticRoleExpression } from "./diagnosticFormulas.js";
3
+ import { classifyDiagnosticComparison, diagnosticPredicateMatches } from "./diagnosticRules.js";
4
+ import { assertPreparedDiagnosticData } from "./diagnosticPreparation.js";
5
+ import { DiagnosticValidationError } from "./types.js";
6
+ function codeUnit(a, b) { return a < b ? -1 : a > b ? 1 : 0; }
7
+ function deepFreeze(value, seen = new WeakSet()) { if (value === null || typeof value !== "object" || seen.has(value))
8
+ return value; seen.add(value); for (const child of Object.values(value))
9
+ deepFreeze(child, seen); return Object.freeze(value); }
10
+ function quantity(measure, value) { return { kind: measure.kind, unit: measure.unit, ...(measure.basisId ? { basisId: measure.basisId } : {}), ...(measure.countPopulationId ? { countPopulationId: measure.countPopulationId } : {}), ...(measure.exposureBasisId ? { exposureBasisId: measure.exposureBasisId } : {}), value }; }
11
+ export function validateDiagnosticGroupingConfiguration(input) {
12
+ assertPreparedDiagnosticData(input.prepared);
13
+ const sourceGroups = new Set(input.prepared.cells.map((cell) => cell.sourceGroup));
14
+ for (const [source, target] of Object.entries(input.groupMap ?? {})) {
15
+ if (!sourceGroups.has(source))
16
+ throw new DiagnosticValidationError([{ domain: "configuration", code: "invalid-configuration", path: `$.groupMap[${JSON.stringify(source)}]`, message: "Group map contains an unused source group" }]);
17
+ if (target.length === 0 || /^[\t-\r ]|[\t-\r ]$/.test(target))
18
+ throw new DiagnosticValidationError([{ domain: "configuration", code: "invalid-string", path: `$.groupMap[${JSON.stringify(source)}]`, message: "Output group must be a nonempty token" }]);
19
+ }
20
+ const outputGroups = new Set([...sourceGroups].map((source) => input.groupMap?.[source] ?? source));
21
+ for (const group of Object.keys(input.groupDimensions ?? {}))
22
+ if (!outputGroups.has(group))
23
+ throw new DiagnosticValidationError([{ domain: "configuration", code: "invalid-configuration", path: `$.groupDimensions[${JSON.stringify(group)}]`, message: "Dimensions contain an unused output group" }]);
24
+ for (const group of input.prepared.filter?.outputGroups ?? [])
25
+ if (!outputGroups.has(group))
26
+ throw new DiagnosticValidationError([{ domain: "configuration", code: "unknown-reference", path: "$.prepared.filter.outputGroups", message: `Unknown output group ${group}` }]);
27
+ }
28
+ function mergeStats(stats) {
29
+ if (stats.length === 0)
30
+ return { value: null, sum: 0, observed: 0, missing: 0, nonFinite: 0, imputedZero: 0, deduplicated: 0, structural: 0 };
31
+ const count = (key) => stats.reduce((sum, item) => sum + item[key], 0);
32
+ const structural = count("structural");
33
+ const nonFinite = count("nonFinite");
34
+ const sums = stats.map((item) => item.sum);
35
+ const sum = structural > 0 || nonFinite > 0 || sums.some((value) => value === null) ? null : sums.reduce((total, value) => total + value, 0);
36
+ return { value: sum === null || stats.some((item) => item.value === null) ? null : sum, sum, observed: count("observed"), missing: count("missing"), nonFinite, imputedZero: count("imputedZero"), deduplicated: count("deduplicated"), structural };
37
+ }
38
+ function inferExpressionMeasure(expression, measures) {
39
+ const id = expression.op === "measure" ? expression.measureId : expression.op === "add" ? inferExpressionMeasure(expression.terms[0], measures).id : inferExpressionMeasure(expression.left, measures).id;
40
+ return measures.get(id);
41
+ }
42
+ function evaluatePoint(prepared, components, instanceId) {
43
+ const definition = prepared.definition;
44
+ const internals = getCompiledDiagnosticDefinitionInternals(definition);
45
+ const instance = definition.definition.instances.find((item) => item.id === instanceId);
46
+ const formula = definition.definition.formulas.find((item) => item.id === instance.formulaId);
47
+ const measureStates = Object.create(null);
48
+ for (const [measureId, stats] of Object.entries(components)) {
49
+ const measure = internals.measuresById.get(measureId);
50
+ const readiness = [...(stats.missing > 0 ? [stats.imputedZero > 0 ? "imputed" : "missing"] : []), ...(stats.nonFinite > 0 ? ["non-finite"] : []), ...(stats.structural > 0 ? ["structural-ambiguity"] : []), ...(stats.sum === null && stats.nonFinite === 0 && stats.structural === 0 ? ["aggregation-overflow"] : [])];
51
+ measureStates[measureId] = { quantity: quantity(measure, stats.value), stats, readiness };
52
+ }
53
+ const bindings = Object.fromEntries(Object.entries(instance.bindings).map(([role, expression]) => [role, evaluateDiagnosticMeasureExpression(expression, measureStates, `$.instances[${JSON.stringify(instance.id)}].bindings[${JSON.stringify(role)}]`)]));
54
+ const numeratorResult = evaluateDiagnosticRoleExpression(formula.numerator, bindings, `$.formulas[${JSON.stringify(formula.id)}].numerator`);
55
+ const denominatorResult = evaluateDiagnosticRoleExpression(formula.denominator, bindings, `$.formulas[${JSON.stringify(formula.id)}].denominator`);
56
+ const raw = diagnosticRawRatio(numeratorResult.value, denominatorResult.value);
57
+ const presented = applyDiagnosticPresentation(raw, instance.presentation);
58
+ const numeratorMeasure = inferExpressionMeasure(instance.bindings[(formula.numerator.op === "role" ? formula.numerator.role : formula.numerator.op === "subtract" && formula.numerator.left.op === "role" ? formula.numerator.left.role : Object.keys(instance.bindings)[0])], internals.measuresById);
59
+ const denominatorMeasure = inferExpressionMeasure(instance.bindings[(formula.denominator.op === "role" ? formula.denominator.role : Object.keys(instance.bindings)[0])], internals.measuresById);
60
+ const ruleEvaluations = [];
61
+ const findings = presented.finding ? [{ ...presented.finding, instanceId: instance.id }] : [];
62
+ const operand = (item) => item.source === "constant" ? item.value : item.source === "calculation" ? (item.field === "numerator" ? numeratorResult.value : denominatorResult.value) : evaluateDiagnosticMeasureExpression(item.expression, measureStates, "$.rule").value;
63
+ for (const rule of instance.rules) {
64
+ const left = operand(rule.when.left);
65
+ const right = operand(rule.when.right);
66
+ const classified = classifyDiagnosticComparison(left, right, rule.when.tolerance);
67
+ if (classified.status === "not-evaluated")
68
+ ruleEvaluations.push({ ruleId: rule.id, status: "not-evaluated", severity: rule.severity, left: Number.isFinite(left) ? left : null, right: Number.isFinite(right) ? right : null, relation: null, notEvaluatedReasons: [classified.reason], expressionOverflows: [], code: "diagnostic-rule-not-evaluated", message: "Diagnostic metric rule was not evaluated" });
69
+ else {
70
+ const triggered = diagnosticPredicateMatches(rule.when.operator, classified.relation);
71
+ ruleEvaluations.push({ ruleId: rule.id, status: triggered ? "triggered" : "pass", severity: rule.severity, left, right, relation: classified.relation, notEvaluatedReasons: [], expressionOverflows: [], code: triggered ? rule.code : null, message: triggered ? rule.message : null });
72
+ if (triggered)
73
+ findings.push({ code: rule.code, message: rule.message, severity: rule.severity, category: "rule", ruleId: rule.id, instanceId: instance.id, sources: [] });
74
+ }
75
+ }
76
+ const deps = internals.evaluationDependenciesByInstanceId.get(instance.id) ?? [];
77
+ const refs = { amountBasisIds: [...new Set(deps.flatMap((id) => internals.measuresById.get(id)?.basisId ? [internals.measuresById.get(id).basisId] : []))].sort(codeUnit), countPopulationIds: [...new Set(deps.flatMap((id) => internals.measuresById.get(id)?.countPopulationId ? [internals.measuresById.get(id).countPopulationId] : []))].sort(codeUnit), exposureBasisIds: [...new Set(deps.flatMap((id) => internals.measuresById.get(id)?.exposureBasisId ? [internals.measuresById.get(id).exposureBasisId] : []))].sort(codeUnit) };
78
+ return deepFreeze({ instanceId: instance.id, instanceVersion: instance.version, formulaId: formula.id, formulaVersion: formula.version, semanticReferences: refs, formulaFingerprint: definition.formulaFingerprints[formula.id], calculationFingerprint: definition.calculationFingerprints[instance.id], definitionIntegrity: definition.definitionIntegrity, calculation: { numerator: quantity(numeratorMeasure, numeratorResult.value), denominator: quantity(denominatorMeasure, denominatorResult.value), value: raw }, presentation: { ...instance.presentation, value: presented.value }, components: Object.fromEntries(deps.map((id) => [id, components[id]])), rules: ruleEvaluations, findings });
79
+ }
80
+ export function runMetricDiagnostics(input) {
81
+ validateDiagnosticGroupingConfiguration(input);
82
+ const prepared = input.prepared;
83
+ const buckets = new Map();
84
+ for (const cell of prepared.cells) {
85
+ const group = input.groupMap?.[cell.sourceGroup] ?? cell.sourceGroup;
86
+ if (prepared.filter?.outputGroups !== undefined && !prepared.filter.outputGroups.includes(group))
87
+ continue;
88
+ const key = `${group}\u0000${cell.origin}\u0000${cell.valuation}`;
89
+ buckets.set(key, [...(buckets.get(key) ?? []), cell]);
90
+ }
91
+ const selectedInstances = prepared.definition.definition.instances.filter((instance) => prepared.filter?.instanceIds === undefined || prepared.filter.instanceIds.includes(instance.id));
92
+ const emergence = [];
93
+ for (const [key, cells] of buckets) {
94
+ const [group, origin, valuation] = key.split("\u0000");
95
+ const components = Object.fromEntries(prepared.definition.definition.measures.map((measure) => [measure.id, mergeStats(cells.map((cell) => cell.components[measure.id]))]));
96
+ const metrics = Object.fromEntries(selectedInstances.map((instance) => [instance.id, evaluatePoint(prepared, components, instance.id)]));
97
+ emergence.push({ group, sourceGroups: [...new Set(cells.map((cell) => cell.sourceGroup))].sort(codeUnit), ...(input.groupDimensions && Object.prototype.hasOwnProperty.call(input.groupDimensions, group) ? { dimensions: input.groupDimensions[group] } : {}), origin, valuation, developmentAge: cells[0].developmentAge, ageUnit: cells[0].ageUnit, components, metrics, findings: Object.values(metrics).flatMap((metric) => metric.findings) });
98
+ }
99
+ emergence.sort((a, b) => codeUnit(a.group, b.group) || codeUnit(a.origin, b.origin) || a.developmentAge - b.developmentAge || codeUnit(a.valuation, b.valuation));
100
+ const groups = [...new Set(emergence.map((point) => point.group))].sort(codeUnit);
101
+ const triangles = [];
102
+ for (const group of groups)
103
+ for (const instance of selectedInstances) {
104
+ const points = emergence.filter((point) => point.group === group);
105
+ const origins = [...new Set(points.map((point) => point.origin))].sort(codeUnit);
106
+ const ages = [...new Set(points.map((point) => point.developmentAge))].sort((a, b) => a - b);
107
+ const cells = origins.map((origin) => ages.map((age) => { const point = points.find((item) => item.origin === origin && item.developmentAge === age); return point ? { origin: point.origin, valuation: point.valuation, developmentAge: point.developmentAge, ageUnit: point.ageUnit, evaluation: point.metrics[instance.id] } : null; }));
108
+ triangles.push({ group, instanceId: instance.id, origins, developmentAges: ages, ageUnit: prepared.definition.definition.periodAxis.ageUnit, calculationValues: cells.map((row) => row.map((cell) => cell?.evaluation.calculation.value ?? null)), presentationValues: cells.map((row) => row.map((cell) => cell?.evaluation.presentation.value ?? null)), cells });
109
+ }
110
+ const latestDiagonal = groups.flatMap((group) => { const groupPoints = emergence.filter((point) => point.group === group); return [...new Set(groupPoints.map((point) => point.origin))].flatMap((origin) => { const points = groupPoints.filter((point) => point.origin === origin); return points.length ? [points.reduce((latest, point) => point.developmentAge > latest.developmentAge ? point : latest)] : []; }); });
111
+ return deepFreeze({ definitionIntegrity: prepared.definition.definitionIntegrity, preparationFingerprint: prepared.preparationFingerprint, ageUnit: prepared.definition.definition.periodAxis.ageUnit, emergence, triangles, latestDiagonal, findings: [...prepared.findings, ...emergence.flatMap((point) => point.findings)] });
112
+ }
113
+ export function sameMaturity(result, developmentAge, outputGroups) { if (!Number.isSafeInteger(developmentAge) || developmentAge < 0)
114
+ throw new DiagnosticValidationError([{ domain: "view", code: "invalid-number", path: "$.developmentAge", message: "Development age must be a nonnegative safe integer" }]); const groups = outputGroups === undefined ? null : new Set(outputGroups); return result.emergence.filter((point) => point.developmentAge === developmentAge && (groups === null || groups.has(point.group))); }
115
+ export function commonMaturity(result, outputGroups) { const groups = [...new Set(outputGroups)].sort(codeUnit); const common = [...new Set(result.emergence.filter((p) => p.group === groups[0]).map((p) => p.developmentAge))].filter((age) => groups.every((group) => result.emergence.some((point) => point.group === group && point.developmentAge === age))).sort((a, b) => b - a); const developmentAge = common[0] ?? null; return deepFreeze({ developmentAge, ageUnit: result.ageUnit, points: developmentAge === null ? [] : sameMaturity(result, developmentAge, groups) }); }
116
+ export function getMetricDiagnosticsResultIdentity(result) { return deepFreeze(result); }
117
+ //# sourceMappingURL=diagnosticRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticRunner.js","sourceRoot":"","sources":["../src/diagnosticRunner.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,30 @@
1
1
  export * from "./types.js";
2
2
  export * from "./util.js";
3
3
  export * from "./canonical.js";
4
+ export * from "./version.js";
5
+ export { MAX_DIAGNOSTIC_DEFINITION_EXPRESSION_NODES, MAX_DIAGNOSTIC_EXPRESSION_DEPTH, MAX_DIAGNOSTIC_EXPRESSION_NODES, } from "./diagnosticExpressions.js";
6
+ export type { DiagnosticClaimExpression, DiagnosticMeasureExpression, DiagnosticRoleExpression, } from "./diagnosticExpressions.js";
7
+ export { assertCompiledDiagnosticDefinition, compileDiagnosticDefinition, } from "./diagnosticDefinitions.js";
8
+ export type { AmountBasisComponent, AmountBasisDefinition, AmountLimitation, AmountPerspective, CompiledDiagnosticDefinition, DiagnosticAggregation, DiagnosticComparisonPredicate, DiagnosticComparisonRule, DiagnosticControlTotalProjection, DiagnosticCountPopulationDefinition, DiagnosticDeepReadonly, DiagnosticDefinition, DiagnosticDerivedMeasureDefinition, DiagnosticDevelopmentSemantics, DiagnosticExposureBasisDefinition, DiagnosticExposureTiming, DiagnosticFormulaRole, DiagnosticFormulaTemplate, DiagnosticMeasureDefinition, DiagnosticMeasureKind, DiagnosticMeasureSource, DiagnosticMeasureStats, DiagnosticMetricInstance, DiagnosticMetricPresentation, DiagnosticsFilter, DiagnosticMissingPolicy, DiagnosticPeriodAxis, DiagnosticPeriodCoordinate, DiagnosticReviewFilter, DiagnosticReviewOperand, DiagnosticReviewPredicate, DiagnosticReviewRule, DiagnosticRuleOperand, DiagnosticSourceLocation, JsonValue, } from "./diagnosticDefinitions.js";
9
+ export type { NormalizedAmountLimitationIdentity, NormalizedDiagnosticCalculationScope, NormalizedDiagnosticDefinitionIdentity, NormalizedDiagnosticFormulaIdentity, NormalizedDiagnosticPeriodAxisIdentity, NormalizedDiagnosticReviewFilterIdentity, NormalizedDiagnosticReviewRuleIdentity, NormalizedDiagnosticSourceLocationIdentity, NormalizedDiagnosticToleranceIdentity, } from "./diagnosticIdentity.js";
10
+ export { CASUALTY_FORMULA_TEMPLATES, applyDiagnosticPresentation, diagnosticRawRatio, } from "./diagnosticFormulas.js";
11
+ export type { DiagnosticMetricFinding, DiagnosticQuantity, DiagnosticQuantitySemantics, FinalizedDiagnosticMeasure, } from "./diagnosticFormulas.js";
12
+ export { classifyDiagnosticComparison, } from "./diagnosticRules.js";
13
+ export { deriveDiagnosticClaimMeasures } from "./diagnosticDerivations.js";
14
+ export type { DiagnosticMeasureValues, DiagnosticRowWithDerivedMeasures, } from "./diagnosticDerivations.js";
15
+ export { compareDiagnosticPeriods, diagnosticDevelopmentAge, normalizeDiagnosticPeriod, } from "./diagnosticPeriods.js";
16
+ export type { DiagnosticNormalizedPeriod } from "./diagnosticPeriods.js";
17
+ export { auditedDiagnosticContribution, finalizeDiagnosticContributions, } from "./diagnosticAggregation.js";
18
+ export type { DiagnosticMeasureContribution, DiagnosticMeasureContributionBase, DiagnosticStructuralBlocker, } from "./diagnosticAggregation.js";
19
+ export { auditDiagnosticNumber, reconcileDiagnosticExposures, } from "./diagnosticExposure.js";
20
+ export { assertPreparedDiagnosticData, getPreparedDiagnosticDataIdentity, prepareDiagnosticData, verifyPreparedDiagnosticDataIntegrity, } from "./diagnosticPreparation.js";
21
+ export type { DiagnosticClaimObservation, DiagnosticCompletePeriodCutoff, DiagnosticExpectedCell, DiagnosticInputAuditRecord, DiagnosticInputDisposition, DiagnosticLossInput, DiagnosticLossRecordBase, DiagnosticLossSnapshot, NormalizedDiagnosticPreparationIdentity, PrepareDiagnosticDataInput, PreparedDiagnosticData, PreparedDiagnosticSourceCell, } from "./diagnosticPreparation.js";
22
+ export { commonMaturity, getMetricDiagnosticsResultIdentity, runMetricDiagnostics, sameMaturity, validateDiagnosticGroupingConfiguration, } from "./diagnosticRunner.js";
23
+ export { evaluateDiagnosticReviewRules } from "./diagnosticReview.js";
24
+ export type { DiagnosticReviewCoordinate, DiagnosticReviewEvaluationScope, DiagnosticReviewRuleEvaluation, } from "./diagnosticReview.js";
25
+ export type { CommonMaturityResult, DiagnosticEmergencePoint, DiagnosticMetricEvaluation, DiagnosticMetricTriangle, DiagnosticMetricTriangleCell, MetricDiagnosticsResult, NormalizedDiagnosticResultIdentity, RunMetricDiagnosticsInput, } from "./diagnosticRunner.js";
26
+ export type { DiagnosticAuditedNumericValue, DiagnosticExposureAuditObservation, DiagnosticExposureObservation, ReconciledDiagnosticExposure, } from "./diagnosticExposure.js";
27
+ export type { DiagnosticComparisonClassification, DiagnosticExpressionOverflow, DiagnosticRuleEvaluation, DiagnosticRuleNotEvaluatedReason, } from "./diagnosticRules.js";
4
28
  export * from "./triangle.js";
5
29
  export * from "./factors.js";
6
30
  export * from "./chainladder.js";
@@ -15,7 +39,6 @@ export * from "./berquist.js";
15
39
  export * from "./clark.js";
16
40
  export * from "./diagnostics.js";
17
41
  export * from "./periods.js";
18
- export * from "./metricDiagnostics.js";
19
42
  export * from "./casualtyDiagnostics.js";
20
43
  export * from "./mack.js";
21
44
  export * from "./capping.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,18 @@
1
1
  export * from "./types.js";
2
2
  export * from "./util.js";
3
3
  export * from "./canonical.js";
4
+ export * from "./version.js";
5
+ export { MAX_DIAGNOSTIC_DEFINITION_EXPRESSION_NODES, MAX_DIAGNOSTIC_EXPRESSION_DEPTH, MAX_DIAGNOSTIC_EXPRESSION_NODES, } from "./diagnosticExpressions.js";
6
+ export { assertCompiledDiagnosticDefinition, compileDiagnosticDefinition, } from "./diagnosticDefinitions.js";
7
+ export { CASUALTY_FORMULA_TEMPLATES, applyDiagnosticPresentation, diagnosticRawRatio, } from "./diagnosticFormulas.js";
8
+ export { classifyDiagnosticComparison, } from "./diagnosticRules.js";
9
+ export { deriveDiagnosticClaimMeasures } from "./diagnosticDerivations.js";
10
+ export { compareDiagnosticPeriods, diagnosticDevelopmentAge, normalizeDiagnosticPeriod, } from "./diagnosticPeriods.js";
11
+ export { auditedDiagnosticContribution, finalizeDiagnosticContributions, } from "./diagnosticAggregation.js";
12
+ export { auditDiagnosticNumber, reconcileDiagnosticExposures, } from "./diagnosticExposure.js";
13
+ export { assertPreparedDiagnosticData, getPreparedDiagnosticDataIdentity, prepareDiagnosticData, verifyPreparedDiagnosticDataIntegrity, } from "./diagnosticPreparation.js";
14
+ export { commonMaturity, getMetricDiagnosticsResultIdentity, runMetricDiagnostics, sameMaturity, validateDiagnosticGroupingConfiguration, } from "./diagnosticRunner.js";
15
+ export { evaluateDiagnosticReviewRules } from "./diagnosticReview.js";
4
16
  export * from "./triangle.js";
5
17
  export * from "./factors.js";
6
18
  export * from "./chainladder.js";
@@ -15,7 +27,6 @@ export * from "./berquist.js";
15
27
  export * from "./clark.js";
16
28
  export * from "./diagnostics.js";
17
29
  export * from "./periods.js";
18
- export * from "./metricDiagnostics.js";
19
30
  export * from "./casualtyDiagnostics.js";
20
31
  export * from "./mack.js";
21
32
  export * from "./capping.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,0CAA0C,EAC1C,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EACL,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAiDpC,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,EACL,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAK3E,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,4BAA4B,EAC5B,iCAAiC,EACjC,qBAAqB,EACrB,qCAAqC,GACtC,MAAM,4BAA4B,CAAC;AAepC,OAAO,EACL,cAAc,EACd,kCAAkC,EAClC,oBAAoB,EACpB,YAAY,EACZ,uCAAuC,GACxC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AA4BtE,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,0BAA0B,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
package/dist/types.d.ts CHANGED
@@ -264,6 +264,23 @@ export interface DiagnosticFinding {
264
264
  code: string;
265
265
  message: string;
266
266
  }
267
+ export type DiagnosticValidationErrorCode = "INVALID_DIAGNOSTIC_DEFINITION" | "INVALID_DIAGNOSTIC_INPUT" | "INVALID_DIAGNOSTIC_CONFIGURATION" | "INVALID_DIAGNOSTIC_VIEW";
268
+ export type DiagnosticValidationIssueCode = "missing-required" | "invalid-type" | "unknown-key" | "invalid-string" | "invalid-number" | "invalid-json-value" | "duplicate-id" | "unknown-reference" | "incompatible-semantics" | "invalid-period" | "invalid-input-relationship" | "invalid-configuration" | "expression-limit" | "cycle";
269
+ export type DiagnosticValidationDomain = "definition" | "input" | "configuration" | "view";
270
+ export interface DiagnosticValidationIssue {
271
+ readonly domain: DiagnosticValidationDomain;
272
+ readonly code: DiagnosticValidationIssueCode;
273
+ /** Canonical singular JSONPath, rooted at `$`. */
274
+ readonly path: string;
275
+ readonly message: string;
276
+ }
277
+ /** Public, deterministic validation failure for every generalized diagnostic boundary. */
278
+ export declare class DiagnosticValidationError extends Error {
279
+ readonly code: DiagnosticValidationErrorCode;
280
+ readonly path: string;
281
+ readonly issues: readonly DiagnosticValidationIssue[];
282
+ constructor(issues: readonly DiagnosticValidationIssue[]);
283
+ }
267
284
  /**
268
285
  * Every machine-readable code a ReservingError can carry. This registry is
269
286
  * public contract: consumers may switch exhaustively on ReservingErrorCode,
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -23,6 +23,120 @@ export const AVERAGE_KEYS = [
23
23
  "med-5x1",
24
24
  "geo-all",
25
25
  ];
26
+ const DIAGNOSTIC_DOMAIN_ORDER = [
27
+ "definition",
28
+ "input",
29
+ "configuration",
30
+ "view",
31
+ ];
32
+ const DIAGNOSTIC_ISSUE_ORDER = [
33
+ "missing-required",
34
+ "invalid-type",
35
+ "unknown-key",
36
+ "invalid-string",
37
+ "invalid-number",
38
+ "invalid-json-value",
39
+ "duplicate-id",
40
+ "unknown-reference",
41
+ "incompatible-semantics",
42
+ "invalid-period",
43
+ "invalid-input-relationship",
44
+ "invalid-configuration",
45
+ "expression-limit",
46
+ "cycle",
47
+ ];
48
+ function compareCodeUnits(left, right) {
49
+ return left === right ? 0 : left < right ? -1 : 1;
50
+ }
51
+ function diagnosticPathSegments(path) {
52
+ const segments = [];
53
+ let cursor = 1;
54
+ while (cursor < path.length) {
55
+ if (path[cursor] === ".") {
56
+ const start = ++cursor;
57
+ while (cursor < path.length && path[cursor] !== "." && path[cursor] !== "[")
58
+ cursor++;
59
+ segments.push({ kind: "property", value: path.slice(start, cursor) });
60
+ continue;
61
+ }
62
+ if (path[cursor] === "[") {
63
+ const close = path.indexOf("]", cursor);
64
+ if (close < 0)
65
+ return [{ kind: "property", value: path }];
66
+ const token = path.slice(cursor + 1, close);
67
+ if (/^\d+$/.test(token))
68
+ segments.push({ kind: "index", value: Number(token) });
69
+ else {
70
+ try {
71
+ segments.push({ kind: "property", value: JSON.parse(token) });
72
+ }
73
+ catch {
74
+ return [{ kind: "property", value: path }];
75
+ }
76
+ }
77
+ cursor = close + 1;
78
+ continue;
79
+ }
80
+ return [{ kind: "property", value: path }];
81
+ }
82
+ return segments;
83
+ }
84
+ function compareDiagnosticPaths(left, right) {
85
+ if (left === right)
86
+ return 0;
87
+ const a = diagnosticPathSegments(left);
88
+ const b = diagnosticPathSegments(right);
89
+ const length = Math.min(a.length, b.length);
90
+ for (let index = 0; index < length; index++) {
91
+ const x = a[index];
92
+ const y = b[index];
93
+ if (x.kind !== y.kind)
94
+ return x.kind === "property" ? -1 : 1;
95
+ const compared = x.kind === "index"
96
+ ? x.value - y.value
97
+ : compareCodeUnits(x.value, y.value);
98
+ if (compared !== 0)
99
+ return compared;
100
+ }
101
+ return a.length - b.length;
102
+ }
103
+ function normalizeDiagnosticIssues(issues) {
104
+ if (issues.length === 0) {
105
+ throw new Error("DiagnosticValidationError requires at least one issue");
106
+ }
107
+ const unique = new Map();
108
+ for (const issue of issues) {
109
+ const normalized = Object.freeze({ ...issue });
110
+ const key = `${issue.domain}\u0000${issue.code}\u0000${issue.path}\u0000${issue.message}`;
111
+ if (!unique.has(key))
112
+ unique.set(key, normalized);
113
+ }
114
+ return Object.freeze([...unique.values()].sort((left, right) => DIAGNOSTIC_DOMAIN_ORDER.indexOf(left.domain) - DIAGNOSTIC_DOMAIN_ORDER.indexOf(right.domain) ||
115
+ DIAGNOSTIC_ISSUE_ORDER.indexOf(left.code) - DIAGNOSTIC_ISSUE_ORDER.indexOf(right.code) ||
116
+ compareDiagnosticPaths(left.path, right.path) ||
117
+ compareCodeUnits(left.code, right.code) ||
118
+ compareCodeUnits(left.message, right.message)));
119
+ }
120
+ /** Public, deterministic validation failure for every generalized diagnostic boundary. */
121
+ export class DiagnosticValidationError extends Error {
122
+ code;
123
+ path;
124
+ issues;
125
+ constructor(issues) {
126
+ const normalized = normalizeDiagnosticIssues(issues);
127
+ super(normalized[0].message);
128
+ this.name = "DiagnosticValidationError";
129
+ this.issues = normalized;
130
+ this.path = normalized[0].path;
131
+ this.code = {
132
+ definition: "INVALID_DIAGNOSTIC_DEFINITION",
133
+ input: "INVALID_DIAGNOSTIC_INPUT",
134
+ configuration: "INVALID_DIAGNOSTIC_CONFIGURATION",
135
+ view: "INVALID_DIAGNOSTIC_VIEW",
136
+ }[normalized[0].domain];
137
+ Object.freeze(this);
138
+ }
139
+ }
26
140
  /**
27
141
  * Every machine-readable code a ReservingError can carry. This registry is
28
142
  * public contract: consumers may switch exhaustively on ReservingErrorCode,
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyDH,qEAAqE;AACrE;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;CACD,CAAC;AAyNX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,SAAS;IACT,SAAS;IACT,eAAe;IACf,SAAS;IACT,YAAY;IACZ,UAAU;IACV,SAAS;IACT,SAAS;IACT,iBAAiB;IACjB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,UAAU;IACV,iBAAiB;IACjB,WAAW;IACX,UAAU;IACV,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;IACX,aAAa;IACb,sBAAsB;IACtB,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,OAAO;IACP,aAAa;IACb,WAAW;IACX,mBAAmB;IACnB,qBAAqB;CACb,CAAC;AAIX,oFAAoF;AACpF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAAqB;IAClC,YAAY,IAAwB,EAAE,OAAe;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyDH,qEAAqE;AACrE;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,SAAS;IACT,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;CACD,CAAC;AA6PX,MAAM,uBAAuB,GAA0C;IACrE,YAAY;IACZ,OAAO;IACP,eAAe;IACf,MAAM;CACP,CAAC;AAEF,MAAM,sBAAsB,GAA6C;IACvE,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,cAAc;IACd,mBAAmB;IACnB,wBAAwB;IACxB,gBAAgB;IAChB,4BAA4B;IAC5B,uBAAuB;IACvB,kBAAkB;IAClB,OAAO;CACR,CAAC;AAEF,SAAS,gBAAgB,CAAC,IAAY,EAAE,KAAa;IACnD,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAMD,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,EAAE,MAAM,CAAC;YACvB,OAAO,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG;gBAAE,MAAM,EAAE,CAAC;YACtF,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACtE,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACxC,IAAI,KAAK,GAAG,CAAC;gBAAE,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBAC3E,CAAC;gBACJ,IAAI,CAAC;oBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAW,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YACD,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAY,EAAE,KAAa;IACzD,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAE,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAE,CAAC;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,KAAK,OAAO;YACjC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAI,CAAuD,CAAC,KAAK;YAC1E,CAAC,CAAC,gBAAgB,CACd,CAAC,CAAC,KAAK,EACN,CAA0D,CAAC,KAAK,CAClE,CAAC;QACN,IAAI,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;IACtC,CAAC;IACD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC7B,CAAC;AAED,SAAS,yBAAyB,CAChC,MAA4C;IAE5C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC5D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1F,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7D,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5F,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACtF,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QAC7C,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;QACvC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAC9C,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,IAAI,CAAgC;IACpC,IAAI,CAAS;IACb,MAAM,CAAuC;IAEtD,YAAY,MAA4C;QACtD,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACrD,KAAK,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG;YACV,UAAU,EAAE,+BAA+B;YAC3C,KAAK,EAAE,0BAA0B;YACjC,aAAa,EAAE,kCAAkC;YACjD,IAAI,EAAE,yBAAyB;SAChC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,MAAM,CAAkC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,SAAS;IACT,SAAS;IACT,eAAe;IACf,SAAS;IACT,YAAY;IACZ,UAAU;IACV,SAAS;IACT,SAAS;IACT,iBAAiB;IACjB,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,aAAa;IACb,UAAU;IACV,iBAAiB;IACjB,WAAW;IACX,UAAU;IACV,WAAW;IACX,WAAW;IACX,UAAU;IACV,WAAW;IACX,aAAa;IACb,sBAAsB;IACtB,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,SAAS;IACT,gBAAgB;IAChB,WAAW;IACX,eAAe;IACf,eAAe;IACf,iBAAiB;IACjB,OAAO;IACP,aAAa;IACb,WAAW;IACX,mBAAmB;IACnB,qBAAqB;CACb,CAAC;AAIX,oFAAoF;AACpF,MAAM,OAAO,cAAe,SAAQ,KAAK;IAC9B,IAAI,CAAqB;IAClC,YAAY,IAAwB,EAAE,OAAe;QACnD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ /** This package's runtime version. A test pins it to package.json. */
2
+ export declare const CORE_PACKAGE_VERSION = "0.6.0";
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,eAAO,MAAM,oBAAoB,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** This package's runtime version. A test pins it to package.json. */
2
+ export const CORE_PACKAGE_VERSION = "0.6.0";
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@actuarial-ts/core",
3
- "version": "0.4.0",
4
- "description": "Pure, zero-dependency P&C loss reserving engine for TypeScript: triangles, chain ladder, Mack, Bornhuetter-Ferguson, Benktander, Cape Cod (Gluck decay), Munich chain ladder, Clark growth curves, frequency-severity, Berquist-Sherman, ULAE, discounting, tails, capping/ILF, trend/on-level, diagnostics, and a seeded stochastic layer (ODP bootstrap, Merz-Wuthrich one-year risk) — validated against published actuarial literature.",
3
+ "version": "0.6.0",
4
+ "description": "Pure, zero-dependency P&C actuarial math for TypeScript: reserving, generalized definition-driven diagnostics, trends, limits, discounting, and seeded stochastic methods with published-value validation.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./dist/index.js",