@actuarial-ts/core 0.5.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.
- package/README.md +65 -226
- package/dist/casualtyDiagnostics.d.ts +19 -49
- package/dist/casualtyDiagnostics.d.ts.map +1 -1
- package/dist/casualtyDiagnostics.js +84 -116
- package/dist/casualtyDiagnostics.js.map +1 -1
- package/dist/diagnosticAggregation.d.ts +29 -0
- package/dist/diagnosticAggregation.d.ts.map +1 -0
- package/dist/diagnosticAggregation.js +50 -0
- package/dist/diagnosticAggregation.js.map +1 -0
- package/dist/diagnosticDefinitions.d.ts +286 -0
- package/dist/diagnosticDefinitions.d.ts.map +1 -0
- package/dist/diagnosticDefinitions.js +1026 -0
- package/dist/diagnosticDefinitions.js.map +1 -0
- package/dist/diagnosticDerivations.d.ts +12 -0
- package/dist/diagnosticDerivations.d.ts.map +1 -0
- package/dist/diagnosticDerivations.js +80 -0
- package/dist/diagnosticDerivations.js.map +1 -0
- package/dist/diagnosticExposure.d.ts +51 -0
- package/dist/diagnosticExposure.d.ts.map +1 -0
- package/dist/diagnosticExposure.js +65 -0
- package/dist/diagnosticExposure.js.map +1 -0
- package/dist/diagnosticExpressions.d.ts +56 -0
- package/dist/diagnosticExpressions.d.ts.map +1 -0
- package/dist/diagnosticExpressions.js +104 -0
- package/dist/diagnosticExpressions.js.map +1 -0
- package/dist/diagnosticFormulas.d.ts +195 -0
- package/dist/diagnosticFormulas.d.ts.map +1 -0
- package/dist/diagnosticFormulas.js +85 -0
- package/dist/diagnosticFormulas.js.map +1 -0
- package/dist/diagnosticIdentity.d.ts +237 -0
- package/dist/diagnosticIdentity.d.ts.map +1 -0
- package/dist/diagnosticIdentity.js +454 -0
- package/dist/diagnosticIdentity.js.map +1 -0
- package/dist/diagnosticPeriods.d.ts +16 -0
- package/dist/diagnosticPeriods.d.ts.map +1 -0
- package/dist/diagnosticPeriods.js +98 -0
- package/dist/diagnosticPeriods.js.map +1 -0
- package/dist/diagnosticPreparation.d.ts +98 -0
- package/dist/diagnosticPreparation.d.ts.map +1 -0
- package/dist/diagnosticPreparation.js +169 -0
- package/dist/diagnosticPreparation.js.map +1 -0
- package/dist/diagnosticReview.d.ts +44 -0
- package/dist/diagnosticReview.d.ts.map +1 -0
- package/dist/diagnosticReview.js +84 -0
- package/dist/diagnosticReview.js.map +1 -0
- package/dist/diagnosticRules.d.ts +32 -0
- package/dist/diagnosticRules.d.ts.map +1 -0
- package/dist/diagnosticRules.js +32 -0
- package/dist/diagnosticRules.js.map +1 -0
- package/dist/diagnosticRunner.d.ts +85 -0
- package/dist/diagnosticRunner.d.ts.map +1 -0
- package/dist/diagnosticRunner.js +117 -0
- package/dist/diagnosticRunner.js.map +1 -0
- package/dist/index.d.ts +24 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +114 -0
- package/dist/types.js.map +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/package.json +2 -2
- package/src/casualtyDiagnostics.ts +79 -189
- package/src/diagnosticAggregation.ts +79 -0
- package/src/diagnosticDefinitions.ts +1375 -0
- package/src/diagnosticDerivations.ts +89 -0
- package/src/diagnosticExposure.ts +91 -0
- package/src/diagnosticExpressions.ts +173 -0
- package/src/diagnosticFormulas.ts +150 -0
- package/src/diagnosticIdentity.ts +767 -0
- package/src/diagnosticPeriods.ts +117 -0
- package/src/diagnosticPreparation.ts +233 -0
- package/src/diagnosticReview.ts +91 -0
- package/src/diagnosticRules.ts +69 -0
- package/src/diagnosticRunner.ts +110 -0
- package/src/index.ts +156 -1
- package/src/types.ts +161 -0
- package/src/version.ts +2 -0
- package/dist/metricDiagnostics.d.ts +0 -212
- package/dist/metricDiagnostics.d.ts.map +0 -1
- package/dist/metricDiagnostics.js +0 -627
- package/dist/metricDiagnostics.js.map +0 -1
- package/src/metricDiagnostics.ts +0 -876
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import { type DiagnosticClaimExpression, type DiagnosticMeasureExpression, type DiagnosticRoleExpression } from "./diagnosticExpressions.js";
|
|
2
|
+
import { type NormalizedDiagnosticCalculationScope, type NormalizedDiagnosticDefinitionIdentity, type NormalizedDiagnosticFormulaIdentity } from "./diagnosticIdentity.js";
|
|
3
|
+
export type DiagnosticMeasureKind = "count" | "amount" | "exposure";
|
|
4
|
+
export type DiagnosticMeasureSource = "loss" | "exposure" | "derived";
|
|
5
|
+
export type DiagnosticMissingPolicy = "unknown" | "zero";
|
|
6
|
+
export type DiagnosticAggregation = "sum";
|
|
7
|
+
export type DiagnosticExposureTiming = "origin-static" | "valuation-specific";
|
|
8
|
+
export type DiagnosticDevelopmentSemantics = "cumulative" | "incremental" | "point-in-time" | "unknown";
|
|
9
|
+
export type JsonValue = null | boolean | number | string | readonly JsonValue[] | {
|
|
10
|
+
readonly [key: string]: JsonValue;
|
|
11
|
+
};
|
|
12
|
+
export type DiagnosticDeepReadonly<T> = T extends readonly (infer U)[] ? readonly DiagnosticDeepReadonly<U>[] : T extends object ? {
|
|
13
|
+
readonly [K in keyof T]: DiagnosticDeepReadonly<T[K]>;
|
|
14
|
+
} : T;
|
|
15
|
+
export interface DiagnosticMeasureDefinition {
|
|
16
|
+
id: string;
|
|
17
|
+
displayName: string;
|
|
18
|
+
description: string;
|
|
19
|
+
source: DiagnosticMeasureSource;
|
|
20
|
+
kind: DiagnosticMeasureKind;
|
|
21
|
+
unit: string;
|
|
22
|
+
developmentSemantics: DiagnosticDevelopmentSemantics;
|
|
23
|
+
aggregation: DiagnosticAggregation;
|
|
24
|
+
missing: DiagnosticMissingPolicy;
|
|
25
|
+
basisId?: string;
|
|
26
|
+
countPopulationId?: string;
|
|
27
|
+
exposureBasisId?: string;
|
|
28
|
+
exposureTiming?: DiagnosticExposureTiming;
|
|
29
|
+
}
|
|
30
|
+
export interface DiagnosticCountPopulationDefinition {
|
|
31
|
+
id: string;
|
|
32
|
+
displayName: string;
|
|
33
|
+
subject: "claim" | "claimant" | "policy" | "occurrence" | "other" | "unknown";
|
|
34
|
+
unit: string;
|
|
35
|
+
description: string;
|
|
36
|
+
attributes?: Readonly<Record<string, string | number | boolean | null>>;
|
|
37
|
+
}
|
|
38
|
+
export interface DiagnosticExposureBasisDefinition {
|
|
39
|
+
id: string;
|
|
40
|
+
displayName: string;
|
|
41
|
+
basis: "earned" | "written" | "in-force" | "other" | "unknown";
|
|
42
|
+
unit: string;
|
|
43
|
+
description: string;
|
|
44
|
+
sourceDescription?: string;
|
|
45
|
+
attributes?: Readonly<Record<string, string | number | boolean | null>>;
|
|
46
|
+
}
|
|
47
|
+
export type AmountPerspective = "gross" | "net" | "ceded" | "other" | "unknown";
|
|
48
|
+
export type AmountLimitation = {
|
|
49
|
+
kind: "unlimited";
|
|
50
|
+
} | {
|
|
51
|
+
kind: "layer" | "pre-limited";
|
|
52
|
+
attachment: number;
|
|
53
|
+
limit: number | null;
|
|
54
|
+
application: "claim" | "occurrence" | "policy" | "source-defined";
|
|
55
|
+
derivation: {
|
|
56
|
+
kind: "sdk";
|
|
57
|
+
} | {
|
|
58
|
+
kind: "external";
|
|
59
|
+
actor: "caller" | "source";
|
|
60
|
+
transformationRef: string;
|
|
61
|
+
};
|
|
62
|
+
} | {
|
|
63
|
+
kind: "unknown";
|
|
64
|
+
description?: string;
|
|
65
|
+
};
|
|
66
|
+
export interface AmountBasisComponent {
|
|
67
|
+
id: string;
|
|
68
|
+
treatment: "included" | "excluded" | "unknown";
|
|
69
|
+
limitation: AmountLimitation;
|
|
70
|
+
}
|
|
71
|
+
export interface AmountBasisDefinition {
|
|
72
|
+
id: string;
|
|
73
|
+
displayName: string;
|
|
74
|
+
currency: string;
|
|
75
|
+
perspective: AmountPerspective;
|
|
76
|
+
components: readonly AmountBasisComponent[];
|
|
77
|
+
sourceDescription?: string;
|
|
78
|
+
attributes?: Readonly<Record<string, string | number | boolean | null>>;
|
|
79
|
+
}
|
|
80
|
+
export interface DiagnosticFormulaRole {
|
|
81
|
+
kind: DiagnosticMeasureKind;
|
|
82
|
+
compatibilityGroup?: string;
|
|
83
|
+
developmentSemantics?: DiagnosticDevelopmentSemantics;
|
|
84
|
+
}
|
|
85
|
+
export interface DiagnosticFormulaTemplate {
|
|
86
|
+
id: string;
|
|
87
|
+
version: string;
|
|
88
|
+
roles: Readonly<Record<string, DiagnosticFormulaRole>>;
|
|
89
|
+
numerator: DiagnosticRoleExpression;
|
|
90
|
+
denominator: DiagnosticRoleExpression;
|
|
91
|
+
denominatorPolicy: "positive-or-null";
|
|
92
|
+
}
|
|
93
|
+
export interface DiagnosticMetricPresentation {
|
|
94
|
+
displayName: string;
|
|
95
|
+
description: string;
|
|
96
|
+
displayUnit: string;
|
|
97
|
+
scale: number;
|
|
98
|
+
numeratorLabel: string;
|
|
99
|
+
denominatorLabel: string;
|
|
100
|
+
}
|
|
101
|
+
export type DiagnosticRuleOperand = {
|
|
102
|
+
source: "measure";
|
|
103
|
+
expression: DiagnosticMeasureExpression;
|
|
104
|
+
} | {
|
|
105
|
+
source: "calculation";
|
|
106
|
+
field: "numerator" | "denominator";
|
|
107
|
+
} | {
|
|
108
|
+
source: "constant";
|
|
109
|
+
value: number;
|
|
110
|
+
};
|
|
111
|
+
export interface DiagnosticComparisonPredicate {
|
|
112
|
+
left: DiagnosticRuleOperand;
|
|
113
|
+
operator: "lt" | "lte" | "eq" | "neq" | "gte" | "gt";
|
|
114
|
+
right: DiagnosticRuleOperand;
|
|
115
|
+
tolerance?: {
|
|
116
|
+
absolute?: number;
|
|
117
|
+
relative?: number;
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
export interface DiagnosticComparisonRule {
|
|
121
|
+
id: string;
|
|
122
|
+
code: string;
|
|
123
|
+
message: string;
|
|
124
|
+
severity: "warning" | "fail";
|
|
125
|
+
when: DiagnosticComparisonPredicate;
|
|
126
|
+
}
|
|
127
|
+
export interface DiagnosticMetricInstance {
|
|
128
|
+
id: string;
|
|
129
|
+
version: string;
|
|
130
|
+
formulaId: string;
|
|
131
|
+
bindings: Readonly<Record<string, DiagnosticMeasureExpression>>;
|
|
132
|
+
presentation: DiagnosticMetricPresentation;
|
|
133
|
+
rules: readonly DiagnosticComparisonRule[];
|
|
134
|
+
}
|
|
135
|
+
export interface DiagnosticPeriodCoordinate {
|
|
136
|
+
label: string;
|
|
137
|
+
aliases?: readonly string[];
|
|
138
|
+
coordinate: number;
|
|
139
|
+
}
|
|
140
|
+
export type DiagnosticPeriodAxis = {
|
|
141
|
+
kind: "calendar";
|
|
142
|
+
originCadence: "month" | "quarter" | "year";
|
|
143
|
+
valuationCadence: "month" | "quarter" | "year";
|
|
144
|
+
originAnchor: "start" | "end";
|
|
145
|
+
valuationAnchor: "start" | "end";
|
|
146
|
+
ageUnit: "month";
|
|
147
|
+
ageOffset: number;
|
|
148
|
+
} | {
|
|
149
|
+
kind: "ordered";
|
|
150
|
+
id: string;
|
|
151
|
+
version: string;
|
|
152
|
+
ageUnit: string;
|
|
153
|
+
ageOffset: number;
|
|
154
|
+
origins: readonly DiagnosticPeriodCoordinate[];
|
|
155
|
+
valuations: readonly DiagnosticPeriodCoordinate[];
|
|
156
|
+
};
|
|
157
|
+
export interface DiagnosticDerivedMeasureDefinition {
|
|
158
|
+
id: string;
|
|
159
|
+
outputMeasureId: string;
|
|
160
|
+
expression: DiagnosticClaimExpression;
|
|
161
|
+
}
|
|
162
|
+
export interface DiagnosticsFilter {
|
|
163
|
+
sourceGroups?: readonly string[];
|
|
164
|
+
outputGroups?: readonly string[];
|
|
165
|
+
origins?: readonly string[];
|
|
166
|
+
originFrom?: string;
|
|
167
|
+
originThrough?: string;
|
|
168
|
+
valuations?: readonly string[];
|
|
169
|
+
valuationFrom?: string;
|
|
170
|
+
valuationThrough?: string;
|
|
171
|
+
minDevelopmentAge?: number;
|
|
172
|
+
maxDevelopmentAge?: number;
|
|
173
|
+
instanceIds?: readonly string[];
|
|
174
|
+
}
|
|
175
|
+
interface DiagnosticReviewRuleBase {
|
|
176
|
+
id: string;
|
|
177
|
+
code: string;
|
|
178
|
+
description: string;
|
|
179
|
+
severity: "warning" | "fail";
|
|
180
|
+
tolerance?: {
|
|
181
|
+
absolute?: number;
|
|
182
|
+
relative?: number;
|
|
183
|
+
};
|
|
184
|
+
missingInput: "not-evaluated" | "finding";
|
|
185
|
+
}
|
|
186
|
+
export type DiagnosticReviewOperand = DiagnosticMeasureExpression | {
|
|
187
|
+
op: "constant";
|
|
188
|
+
value: number;
|
|
189
|
+
};
|
|
190
|
+
export interface DiagnosticReviewPredicate {
|
|
191
|
+
left: DiagnosticReviewOperand;
|
|
192
|
+
operator: "lt" | "lte" | "eq" | "neq" | "gte" | "gt";
|
|
193
|
+
right: DiagnosticReviewOperand;
|
|
194
|
+
}
|
|
195
|
+
export type DiagnosticControlTotalProjection = {
|
|
196
|
+
kind: "valuation";
|
|
197
|
+
valuation: string;
|
|
198
|
+
} | {
|
|
199
|
+
kind: "latest-valuation-per-origin";
|
|
200
|
+
} | {
|
|
201
|
+
kind: "all-cells";
|
|
202
|
+
};
|
|
203
|
+
export type DiagnosticReviewFilter = Omit<DiagnosticsFilter, "outputGroups" | "instanceIds">;
|
|
204
|
+
export type DiagnosticReviewRule = (DiagnosticReviewRuleBase & {
|
|
205
|
+
kind: "compare";
|
|
206
|
+
when: DiagnosticReviewPredicate;
|
|
207
|
+
}) | (DiagnosticReviewRuleBase & {
|
|
208
|
+
kind: "reconcile";
|
|
209
|
+
actual: DiagnosticMeasureExpression;
|
|
210
|
+
expected: DiagnosticReviewOperand;
|
|
211
|
+
}) | (DiagnosticReviewRuleBase & {
|
|
212
|
+
kind: "monotonic";
|
|
213
|
+
expression: DiagnosticMeasureExpression;
|
|
214
|
+
direction: "nondecreasing" | "nonincreasing";
|
|
215
|
+
}) | (DiagnosticReviewRuleBase & {
|
|
216
|
+
kind: "layer-order";
|
|
217
|
+
narrower: DiagnosticMeasureExpression;
|
|
218
|
+
broader: DiagnosticMeasureExpression;
|
|
219
|
+
comparability: {
|
|
220
|
+
kind: "compiler-proven";
|
|
221
|
+
} | {
|
|
222
|
+
kind: "caller-asserted";
|
|
223
|
+
rationaleArtifactId: string;
|
|
224
|
+
};
|
|
225
|
+
}) | (DiagnosticReviewRuleBase & {
|
|
226
|
+
kind: "control-total";
|
|
227
|
+
expression: DiagnosticMeasureExpression;
|
|
228
|
+
expected: number;
|
|
229
|
+
filter?: DiagnosticReviewFilter;
|
|
230
|
+
projection: DiagnosticControlTotalProjection;
|
|
231
|
+
});
|
|
232
|
+
export interface DiagnosticDefinition {
|
|
233
|
+
diagnosticDefinitionVersion: "1.0.0";
|
|
234
|
+
id: string;
|
|
235
|
+
version: string;
|
|
236
|
+
lossRowGrain: "claim" | "aggregate";
|
|
237
|
+
measures: readonly DiagnosticMeasureDefinition[];
|
|
238
|
+
countPopulations: readonly DiagnosticCountPopulationDefinition[];
|
|
239
|
+
exposureBases: readonly DiagnosticExposureBasisDefinition[];
|
|
240
|
+
amountBases: readonly AmountBasisDefinition[];
|
|
241
|
+
derivedMeasures: readonly DiagnosticDerivedMeasureDefinition[];
|
|
242
|
+
formulas: readonly DiagnosticFormulaTemplate[];
|
|
243
|
+
instances: readonly DiagnosticMetricInstance[];
|
|
244
|
+
reviewRules: readonly DiagnosticReviewRule[];
|
|
245
|
+
periodAxis: DiagnosticPeriodAxis;
|
|
246
|
+
}
|
|
247
|
+
export interface DiagnosticSourceLocation {
|
|
248
|
+
readonly artifactId: string;
|
|
249
|
+
readonly sourceFile?: string;
|
|
250
|
+
readonly sourceSheet?: string;
|
|
251
|
+
readonly sourceRow?: number;
|
|
252
|
+
readonly sourceCell?: string;
|
|
253
|
+
}
|
|
254
|
+
export interface DiagnosticMeasureStats {
|
|
255
|
+
readonly value: number | null;
|
|
256
|
+
readonly sum: number | null;
|
|
257
|
+
readonly observed: number;
|
|
258
|
+
readonly missing: number;
|
|
259
|
+
readonly nonFinite: number;
|
|
260
|
+
readonly imputedZero: number;
|
|
261
|
+
readonly deduplicated: number;
|
|
262
|
+
readonly structural: number;
|
|
263
|
+
}
|
|
264
|
+
declare const compiledDiagnosticDefinitionBrand: unique symbol;
|
|
265
|
+
export interface CompiledDiagnosticDefinition {
|
|
266
|
+
readonly [compiledDiagnosticDefinitionBrand]: true;
|
|
267
|
+
readonly definition: DiagnosticDeepReadonly<NormalizedDiagnosticDefinitionIdentity>;
|
|
268
|
+
readonly formulaFingerprints: Readonly<Record<string, string>>;
|
|
269
|
+
readonly calculationFingerprints: Readonly<Record<string, string>>;
|
|
270
|
+
readonly definitionIntegrity: string;
|
|
271
|
+
}
|
|
272
|
+
export interface CompiledDiagnosticDefinitionInternals {
|
|
273
|
+
readonly formulasById: ReadonlyMap<string, NormalizedDiagnosticFormulaIdentity>;
|
|
274
|
+
readonly measuresById: ReadonlyMap<string, DiagnosticMeasureDefinition>;
|
|
275
|
+
readonly calculationScopesByInstanceId: ReadonlyMap<string, NormalizedDiagnosticCalculationScope>;
|
|
276
|
+
readonly calculationDependenciesByInstanceId: ReadonlyMap<string, readonly string[]>;
|
|
277
|
+
readonly evaluationDependenciesByInstanceId: ReadonlyMap<string, readonly string[]>;
|
|
278
|
+
readonly derivationsByOutputMeasureId: ReadonlyMap<string, DiagnosticDerivedMeasureDefinition>;
|
|
279
|
+
}
|
|
280
|
+
/** Compiles, validates, normalizes, fingerprints, and freezes a diagnostic definition. */
|
|
281
|
+
export declare function compileDiagnosticDefinition(value: DiagnosticDefinition | NormalizedDiagnosticDefinitionIdentity): CompiledDiagnosticDefinition;
|
|
282
|
+
export declare function assertCompiledDiagnosticDefinition(value: unknown): asserts value is CompiledDiagnosticDefinition;
|
|
283
|
+
/** @internal Shared only by core diagnostic runtime modules; not re-exported. */
|
|
284
|
+
export declare function getCompiledDiagnosticDefinitionInternals(value: CompiledDiagnosticDefinition): CompiledDiagnosticDefinitionInternals;
|
|
285
|
+
export {};
|
|
286
|
+
//# sourceMappingURL=diagnosticDefinitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnosticDefinitions.d.ts","sourceRoot":"","sources":["../src/diagnosticDefinitions.ts"],"names":[],"mappings":"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"}
|