@actuarial-ts/data 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 (50) hide show
  1. package/README.md +45 -127
  2. package/dist/casualtyDiagnosticReview.d.ts +46 -0
  3. package/dist/casualtyDiagnosticReview.d.ts.map +1 -0
  4. package/dist/casualtyDiagnosticReview.js +23 -0
  5. package/dist/casualtyDiagnosticReview.js.map +1 -0
  6. package/dist/diagnosticDefinition.d.ts +4 -0
  7. package/dist/diagnosticDefinition.d.ts.map +1 -0
  8. package/dist/diagnosticDefinition.js +6 -0
  9. package/dist/diagnosticDefinition.js.map +1 -0
  10. package/dist/diagnosticInput.d.ts +97 -13
  11. package/dist/diagnosticInput.d.ts.map +1 -1
  12. package/dist/diagnosticInput.js +403 -43
  13. package/dist/diagnosticInput.js.map +1 -1
  14. package/dist/diagnosticPreparedReview.d.ts +46 -0
  15. package/dist/diagnosticPreparedReview.d.ts.map +1 -0
  16. package/dist/diagnosticPreparedReview.js +449 -0
  17. package/dist/diagnosticPreparedReview.js.map +1 -0
  18. package/dist/exposure.d.ts.map +1 -1
  19. package/dist/exposure.js +25 -9
  20. package/dist/exposure.js.map +1 -1
  21. package/dist/index.d.ts +4 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/lossRun.d.ts.map +1 -1
  26. package/dist/lossRun.js +31 -8
  27. package/dist/lossRun.js.map +1 -1
  28. package/dist/review.d.ts +16 -3
  29. package/dist/review.d.ts.map +1 -1
  30. package/dist/review.js +35 -5
  31. package/dist/review.js.map +1 -1
  32. package/dist/version.d.ts +2 -0
  33. package/dist/version.d.ts.map +1 -0
  34. package/dist/version.js +2 -0
  35. package/dist/version.js.map +1 -0
  36. package/package.json +5 -4
  37. package/src/casualtyDiagnosticReview.ts +17 -0
  38. package/src/diagnosticDefinition.ts +6 -0
  39. package/src/diagnosticInput.ts +600 -57
  40. package/src/diagnosticPreparedReview.ts +653 -0
  41. package/src/exposure.ts +61 -16
  42. package/src/index.ts +4 -1
  43. package/src/lossRun.ts +55 -13
  44. package/src/review.ts +194 -42
  45. package/src/version.ts +1 -0
  46. package/dist/diagnosticReview.d.ts +0 -68
  47. package/dist/diagnosticReview.d.ts.map +0 -1
  48. package/dist/diagnosticReview.js +0 -370
  49. package/dist/diagnosticReview.js.map +0 -1
  50. package/src/diagnosticReview.ts +0 -547
@@ -0,0 +1,449 @@
1
+ import { DiagnosticValidationError, assertPreparedDiagnosticData, canonicalJson, evaluateDiagnosticReviewRules, fnv1a64, compareDiagnosticSourceLocations, compareDiagnosticIdentityValues, normalizeDiagnosticSourceLocations, projectDiagnosticIdentity, } from "@actuarial-ts/core";
2
+ import { z } from "zod";
3
+ import { createNotEvaluatedDataCheck, createStructuredDataCheck, summarizeDataChecks, } from "./review.js";
4
+ const fixed = [
5
+ ["diagnostic/structural/loss-identity", "Loss identities are unique", "fail"],
6
+ [
7
+ "diagnostic/structural/exposure-identity",
8
+ "Exposure identities are coherent",
9
+ "fail",
10
+ ],
11
+ ["diagnostic/structural/period-validity", "Periods are valid", "fail"],
12
+ [
13
+ "diagnostic/structural/measure-contract",
14
+ "Measure keys match their declared sources",
15
+ "fail",
16
+ ],
17
+ [
18
+ "diagnostic/structural/loss-completeness",
19
+ "Loss records are complete",
20
+ "fail",
21
+ ],
22
+ [
23
+ "diagnostic/structural/exposure-completeness",
24
+ "Exposure records are complete and finite",
25
+ "fail",
26
+ ],
27
+ [
28
+ "diagnostic/structural/loss-without-exposure",
29
+ "Loss cells have required exposure",
30
+ "warning",
31
+ ],
32
+ [
33
+ "diagnostic/structural/exposure-without-loss",
34
+ "Exposures attach to retained loss cells",
35
+ "warning",
36
+ ],
37
+ [
38
+ "diagnostic/structural/expected-cell-coverage",
39
+ "Expected cells are present",
40
+ "fail",
41
+ ],
42
+ [
43
+ "diagnostic/structural/grouping-consistency",
44
+ "Grouping assignments are consistent",
45
+ "fail",
46
+ ],
47
+ [
48
+ "diagnostic/structural/cached-formula-provenance",
49
+ "Cached formulas retain provenance",
50
+ "warning",
51
+ ],
52
+ ];
53
+ const codeToCheck = {
54
+ "duplicate-loss-record-id": fixed[0][0],
55
+ "duplicate-claim-snapshot": fixed[0][0],
56
+ "claim-identity-conflict": fixed[0][0],
57
+ "duplicate-aggregate-snapshot": fixed[0][0],
58
+ "duplicate-exposure-identity": fixed[1][0],
59
+ "conflicting-exposure-identity": fixed[1][0],
60
+ "unknown-origin-period": fixed[2][0],
61
+ "unknown-valuation-period": fixed[2][0],
62
+ "valuation-before-origin": fixed[2][0],
63
+ "unsafe-development-age": fixed[2][0],
64
+ "undeclared-loss-measure": fixed[3][0],
65
+ "wrong-source-loss-measure": fixed[3][0],
66
+ "undeclared-exposure-measure": fixed[3][0],
67
+ "wrong-source-exposure-measure": fixed[3][0],
68
+ "incomplete-loss-record": fixed[4][0],
69
+ "missing-exposure-value": fixed[5][0],
70
+ "incomplete-exposure": fixed[5][0],
71
+ "non-finite-exposure": fixed[5][0],
72
+ "loss-without-exposure": fixed[6][0],
73
+ "exposure-without-loss": fixed[7][0],
74
+ "missing-expected-cell": fixed[8][0],
75
+ };
76
+ const sourceSchema = z
77
+ .object({
78
+ artifactId: z.string().min(1),
79
+ sourceFile: z.string().min(1).optional(),
80
+ sourceSheet: z.string().min(1).optional(),
81
+ sourceRow: z.number().int().nonnegative().optional(),
82
+ sourceCell: z.string().min(1).optional(),
83
+ })
84
+ .strict();
85
+ const evidenceSchema = z
86
+ .object({
87
+ groupingAssignments: z.array(z
88
+ .object({
89
+ key: z.string().min(1),
90
+ group: z.string().min(1),
91
+ source: sourceSchema.optional(),
92
+ })
93
+ .strict()),
94
+ cachedFormulas: z.array(z
95
+ .object({
96
+ id: z.string().min(1),
97
+ source: sourceSchema.optional(),
98
+ formula: z
99
+ .string()
100
+ .min(1)
101
+ .refine((value) => value.trim().length > 0, "Formula must contain non-whitespace text")
102
+ .optional(),
103
+ cachedValue: z.number().finite().nullable().optional(),
104
+ declaredFormulaSource: z.boolean(),
105
+ })
106
+ .strict()),
107
+ })
108
+ .strict();
109
+ function freeze(value, seen = new WeakSet()) {
110
+ if (value === null || typeof value !== "object" || seen.has(value))
111
+ return value;
112
+ seen.add(value);
113
+ for (const child of Object.values(value))
114
+ freeze(child, seen);
115
+ return Object.freeze(value);
116
+ }
117
+ function issuePath(root, path) {
118
+ return `${root}${path.map((part) => (typeof part === "number" ? `[${part}]` : /^[A-Za-z_$][\w$]*$/.test(String(part)) ? `.${String(part)}` : `[${JSON.stringify(String(part))}]`)).join("")}`;
119
+ }
120
+ function compareOptional(left, right, compare) {
121
+ if (left === undefined)
122
+ return right === undefined ? 0 : -1;
123
+ if (right === undefined)
124
+ return 1;
125
+ return compare(left, right);
126
+ }
127
+ function compareSourceArrays(left, right) {
128
+ for (let index = 0; index < Math.min(left.length, right.length); index++) {
129
+ const compared = compareDiagnosticSourceLocations(left[index], right[index]);
130
+ if (compared !== 0)
131
+ return compared;
132
+ }
133
+ return left.length - right.length;
134
+ }
135
+ function normalizeDataFindings(values) {
136
+ const merged = new Map();
137
+ for (const finding of values) {
138
+ const context = finding.context;
139
+ const reviewScope = context?.reviewScope;
140
+ const key = canonicalJson({
141
+ ...finding,
142
+ ...(context === undefined
143
+ ? {}
144
+ : {
145
+ context: {
146
+ ...context,
147
+ sources: [],
148
+ ...(reviewScope === undefined
149
+ ? {}
150
+ : { reviewScope: { ...reviewScope, sources: [] } }),
151
+ },
152
+ }),
153
+ });
154
+ const previous = merged.get(key);
155
+ const previousContext = previous?.context;
156
+ const normalizedContext = context === undefined
157
+ ? undefined
158
+ : {
159
+ ...context,
160
+ ...(context.sources === undefined &&
161
+ previousContext?.sources === undefined
162
+ ? {}
163
+ : {
164
+ sources: normalizeDiagnosticSourceLocations([
165
+ ...(previousContext?.sources ?? []),
166
+ ...(context.sources ?? []),
167
+ ]),
168
+ }),
169
+ ...(reviewScope === undefined
170
+ ? {}
171
+ : {
172
+ reviewScope: {
173
+ ...reviewScope,
174
+ sources: normalizeDiagnosticSourceLocations([
175
+ ...(previousContext?.reviewScope?.sources ?? []),
176
+ ...reviewScope.sources,
177
+ ]),
178
+ },
179
+ }),
180
+ };
181
+ merged.set(key, {
182
+ ...finding,
183
+ ...(normalizedContext === undefined
184
+ ? {}
185
+ : { context: normalizedContext }),
186
+ });
187
+ }
188
+ const text = (left, right) => left < right ? -1 : left > right ? 1 : 0;
189
+ const field = (finding, key) => finding.context?.[key];
190
+ const textField = (left, right, key) => compareOptional(field(left, key), field(right, key), text);
191
+ return [...merged.values()].sort((left, right) => text(left.code, right.code) ||
192
+ textField(left, right, "ruleId") ||
193
+ textField(left, right, "measureId") ||
194
+ textField(left, right, "offendingKey") ||
195
+ textField(left, right, "groupingKey") ||
196
+ textField(left, right, "cachedEvidenceId") ||
197
+ textField(left, right, "sourceGroup") ||
198
+ textField(left, right, "group") ||
199
+ textField(left, right, "origin") ||
200
+ textField(left, right, "valuation") ||
201
+ compareOptional(field(left, "developmentAge"), field(right, "developmentAge"), (a, b) => a - b) ||
202
+ textField(left, right, "ageUnit") ||
203
+ textField(left, right, "recordId") ||
204
+ textField(left, right, "claimId") ||
205
+ textField(left, right, "exposureKey") ||
206
+ text(canonicalJson(left.context?.reviewScope === undefined
207
+ ? null
208
+ : { ...left.context.reviewScope, sources: [] }), canonicalJson(right.context?.reviewScope === undefined
209
+ ? null
210
+ : { ...right.context.reviewScope, sources: [] })) ||
211
+ textField(left, right, "sourceFile") ||
212
+ compareOptional(field(left, "sourceRow"), field(right, "sourceRow"), (a, b) => a - b) ||
213
+ text(left.message, right.message) ||
214
+ compareSourceArrays(left.context?.sources ?? [], right.context?.sources ?? []));
215
+ }
216
+ export function validateDiagnosticReviewEvidence(value, root = "$.evidence") {
217
+ const undefinedPaths = [];
218
+ const stack = [
219
+ { value, path: root },
220
+ ];
221
+ const seen = new WeakSet();
222
+ while (stack.length > 0) {
223
+ const current = stack.pop();
224
+ if (current.value === null ||
225
+ typeof current.value !== "object" ||
226
+ seen.has(current.value))
227
+ continue;
228
+ seen.add(current.value);
229
+ for (const [key, child] of Object.entries(current.value)) {
230
+ const path = Array.isArray(current.value)
231
+ ? `${current.path}[${key}]`
232
+ : issuePath(current.path, [key]);
233
+ if (child === undefined)
234
+ undefinedPaths.push(path);
235
+ else
236
+ stack.push({ value: child, path });
237
+ }
238
+ }
239
+ if (undefinedPaths.length > 0)
240
+ throw new DiagnosticValidationError(undefinedPaths.sort().map((path) => ({
241
+ domain: "input",
242
+ code: "invalid-type",
243
+ path,
244
+ message: "Explicit undefined is not allowed",
245
+ })));
246
+ const parsed = evidenceSchema.safeParse(value);
247
+ if (!parsed.success) {
248
+ throw new DiagnosticValidationError(parsed.error.issues.map((issue) => ({
249
+ domain: "input",
250
+ code: issue.code === "unrecognized_keys"
251
+ ? "unknown-key"
252
+ : issue.code === "too_small"
253
+ ? "invalid-string"
254
+ : "invalid-type",
255
+ path: issuePath(root, issue.path),
256
+ message: issue.message,
257
+ })));
258
+ }
259
+ const codeUnit = (left, right) => left < right ? -1 : left > right ? 1 : 0;
260
+ parsed.data.groupingAssignments.sort((left, right) => codeUnit(left.key, right.key) ||
261
+ codeUnit(left.group, right.group) ||
262
+ compareOptional(left.source, right.source, compareDiagnosticSourceLocations));
263
+ parsed.data.cachedFormulas.sort((left, right) => codeUnit(left.id, right.id) ||
264
+ compareOptional(left.source, right.source, compareDiagnosticSourceLocations) ||
265
+ compareDiagnosticIdentityValues([left.formula, left.cachedValue, left.declaredFormulaSource], [right.formula, right.cachedValue, right.declaredFormulaSource]));
266
+ return freeze(parsed.data);
267
+ }
268
+ function findingContext(finding) {
269
+ return {
270
+ ...(finding.ruleId === undefined ? {} : { ruleId: finding.ruleId }),
271
+ ...(finding.measureId === undefined
272
+ ? {}
273
+ : { measureId: finding.measureId }),
274
+ ...(finding.expressionPath === undefined
275
+ ? {}
276
+ : { expressionPath: finding.expressionPath }),
277
+ ...(finding.offendingKey === undefined
278
+ ? {}
279
+ : { offendingKey: finding.offendingKey }),
280
+ ...(finding.sourceGroup === undefined
281
+ ? {}
282
+ : { sourceGroup: finding.sourceGroup }),
283
+ ...(finding.group === undefined ? {} : { group: finding.group }),
284
+ ...(finding.origin === undefined ? {} : { origin: finding.origin }),
285
+ ...(finding.valuation === undefined
286
+ ? {}
287
+ : { valuation: finding.valuation }),
288
+ ...(finding.developmentAge === undefined
289
+ ? {}
290
+ : { developmentAge: finding.developmentAge }),
291
+ ...(finding.ageUnit === undefined ? {} : { ageUnit: finding.ageUnit }),
292
+ ...(finding.recordId === undefined ? {} : { recordId: finding.recordId }),
293
+ ...(finding.claimId === undefined ? {} : { claimId: finding.claimId }),
294
+ ...(finding.exposureKey === undefined
295
+ ? {}
296
+ : { exposureKey: finding.exposureKey }),
297
+ sources: finding.sources,
298
+ };
299
+ }
300
+ export function reviewPreparedDiagnosticData(input) {
301
+ assertPreparedDiagnosticData(input.prepared);
302
+ const evidence = input.evidence === null
303
+ ? null
304
+ : validateDiagnosticReviewEvidence(input.evidence);
305
+ const evaluations = evaluateDiagnosticReviewRules(input.prepared);
306
+ const findingsByCheck = new Map(fixed.map(([id]) => [id, []]));
307
+ for (const finding of input.prepared.findings) {
308
+ const id = codeToCheck[finding.code];
309
+ if (id)
310
+ findingsByCheck.get(id).push({
311
+ code: finding.code,
312
+ message: finding.message,
313
+ context: findingContext(finding),
314
+ });
315
+ }
316
+ if (evidence) {
317
+ const assignments = new Map();
318
+ for (const item of evidence.groupingAssignments) {
319
+ const values = assignments.get(item.key) ?? [];
320
+ values.push(item);
321
+ assignments.set(item.key, values);
322
+ }
323
+ for (const [key, values] of assignments) {
324
+ if (new Set(values.map((item) => item.group)).size > 1)
325
+ findingsByCheck.get(fixed[9][0]).push({
326
+ code: "inconsistent-group-mapping",
327
+ message: "Grouping evidence assigns one key to multiple groups",
328
+ context: {
329
+ groupingKey: key,
330
+ sources: normalizeDiagnosticSourceLocations(values.map((item) => item.source)),
331
+ },
332
+ });
333
+ }
334
+ const failingCached = new Map();
335
+ for (const item of evidence.cachedFormulas) {
336
+ const hasOwnCachedValue = Object.prototype.hasOwnProperty.call(item, "cachedValue");
337
+ if (item.declaredFormulaSource &&
338
+ (item.formula === undefined ||
339
+ !hasOwnCachedValue ||
340
+ item.cachedValue === null ||
341
+ item.source === undefined)) {
342
+ const values = failingCached.get(item.id) ?? [];
343
+ values.push(item);
344
+ failingCached.set(item.id, values);
345
+ }
346
+ }
347
+ for (const [id, values] of failingCached)
348
+ findingsByCheck.get(fixed[10][0]).push({
349
+ code: "cached-formula-provenance",
350
+ message: "Declared formula-derived value lacks complete formula provenance",
351
+ context: {
352
+ cachedEvidenceId: id,
353
+ sources: normalizeDiagnosticSourceLocations(values.map((item) => item.source)),
354
+ },
355
+ });
356
+ }
357
+ const hasExposureMeasures = input.prepared.definition.definition.measures.some((measure) => measure.source === "exposure");
358
+ const checks = fixed.map(([id, description, severity], index) => {
359
+ if ([1, 5, 6, 7].includes(index) && !hasExposureMeasures)
360
+ return createNotEvaluatedDataCheck(id, description, "the definition declares no exposure measures");
361
+ if (index === 8 && !input.prepared.expectedCellsProvided)
362
+ return createNotEvaluatedDataCheck(id, description, "the expected-cell grid was omitted");
363
+ if ((index === 9 || index === 10) && evidence === null)
364
+ return createNotEvaluatedDataCheck(id, description, "review evidence was omitted");
365
+ return createStructuredDataCheck(id, description, severity, normalizeDataFindings(findingsByCheck.get(id)));
366
+ });
367
+ for (const rule of input.prepared.definition.definition.reviewRules) {
368
+ const matching = evaluations.filter((item) => item.ruleId === rule.id);
369
+ const overflow = matching.some((item) => item.expressionOverflows.length > 0);
370
+ const status = overflow ||
371
+ matching.some((item) => item.status === "triggered" && item.severity === "fail")
372
+ ? "fail"
373
+ : matching.some((item) => item.status === "triggered")
374
+ ? "warning"
375
+ : matching.some((item) => item.status === "not-evaluated")
376
+ ? "not-evaluated"
377
+ : "pass";
378
+ const findings = matching.flatMap((item) => [
379
+ ...item.expressionOverflows.map((overflowItem) => ({
380
+ code: "diagnostic-expression-overflow",
381
+ message: "Measure expression overflowed",
382
+ context: {
383
+ ruleId: rule.id,
384
+ expressionPath: overflowItem.expressionPath,
385
+ reviewScope: item.scope,
386
+ ...(overflowItem.coordinate === null ? {} : overflowItem.coordinate),
387
+ sources: overflowItem.sources,
388
+ },
389
+ })),
390
+ ...(item.status === "triggered"
391
+ ? [
392
+ {
393
+ code: rule.code,
394
+ message: rule.description,
395
+ context: {
396
+ ruleId: rule.id,
397
+ reviewScope: item.scope,
398
+ sources: item.scope.sources,
399
+ },
400
+ },
401
+ ]
402
+ : []),
403
+ ...(item.status === "not-evaluated"
404
+ ? [
405
+ {
406
+ code: "diagnostic-review-rule-not-evaluated",
407
+ message: "Diagnostic review rule was not evaluated",
408
+ context: {
409
+ ruleId: rule.id,
410
+ reviewScope: item.scope,
411
+ sources: item.scope.sources,
412
+ },
413
+ },
414
+ ]
415
+ : []),
416
+ ]);
417
+ const normalizedFindings = normalizeDataFindings(findings);
418
+ checks.push({
419
+ id: rule.id,
420
+ description: rule.description,
421
+ status,
422
+ details: normalizedFindings.slice(0, 20).map((item) => item.message),
423
+ findings: normalizedFindings,
424
+ });
425
+ }
426
+ const report = freeze(summarizeDataChecks(checks));
427
+ const identityBody = projectDiagnosticIdentity({
428
+ definitionIntegrity: input.prepared.definition.definitionIntegrity,
429
+ preparationFingerprint: input.prepared.preparationFingerprint,
430
+ evidence,
431
+ checks: report.checks.map((check) => ({
432
+ id: check.id,
433
+ status: check.status,
434
+ findings: check.findings,
435
+ })),
436
+ summary: report.summary,
437
+ evaluations,
438
+ });
439
+ return freeze({
440
+ definitionIntegrity: input.prepared.definition.definitionIntegrity,
441
+ preparationFingerprint: input.prepared.preparationFingerprint,
442
+ report,
443
+ evaluations,
444
+ evidence,
445
+ identityBody,
446
+ reportFingerprint: `fnv1a64-jcs-v1:${fnv1a64(canonicalJson({ identityVersion: 1, kind: "diagnostic-review-report", review: identityBody }))}`,
447
+ });
448
+ }
449
+ //# sourceMappingURL=diagnosticPreparedReview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnosticPreparedReview.js","sourceRoot":"","sources":["../src/diagnosticPreparedReview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exposure.d.ts","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,qEAAqE;AACrE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEL,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAyElE"}
1
+ {"version":3,"file":"exposure.d.ts","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,qEAAqE;AACrE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;EAY9B,CAAC;AAEJ,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AA6BD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAiHlE"}
package/dist/exposure.js CHANGED
@@ -42,20 +42,27 @@ function optionalAmount(name, raw, errors) {
42
42
  export function parseExposureCsv(text) {
43
43
  const { rows: grid, rowLines, warnings } = parseCsv(text);
44
44
  const headers = (grid[0] ?? []).map(normalizeHeader);
45
+ const duplicateHeaders = [
46
+ ...new Set(headers.filter((header, index) => header !== "" && headers.indexOf(header) !== index)),
47
+ ].sort();
48
+ if (duplicateHeaders.length > 0) {
49
+ throw new ReservingError("SHAPE", `Duplicate normalized column(s): ${duplicateHeaders.join(", ")}`);
50
+ }
45
51
  if (!headers.includes("origin")) {
46
52
  throw new ReservingError("SHAPE", `Missing required column: origin. Found: ${headers.filter(Boolean).join(", ") || "(none)"}`);
47
53
  }
48
- if (!headers.includes("earned_premium") && !headers.includes("exposure_units")) {
54
+ if (!headers.includes("earned_premium") &&
55
+ !headers.includes("exposure_units")) {
49
56
  throw new ReservingError("SHAPE", "Exposure CSV must include earned_premium, exposure_units, or both");
50
57
  }
51
58
  const columnIndex = new Map();
52
- headers.forEach((header, index) => {
53
- if (!columnIndex.has(header))
54
- columnIndex.set(header, index);
55
- });
59
+ headers.forEach((header, index) => columnIndex.set(header, index));
56
60
  const errors = warnings.map((warning) => {
57
61
  const line = /line (\d+)/.exec(warning)?.[1];
58
- return { row: line === undefined ? 1 : Number(line), message: `CSV structure: ${warning}` };
62
+ return {
63
+ row: line === undefined ? 1 : Number(line),
64
+ message: `CSV structure: ${warning}`,
65
+ };
59
66
  });
60
67
  const parsedRows = [];
61
68
  for (let index = 1; index < grid.length; index++) {
@@ -71,7 +78,9 @@ export function parseExposureCsv(text) {
71
78
  rowErrors.push("origin is required");
72
79
  const earnedPremium = optionalAmount("earned_premium", cell("earned_premium"), rowErrors);
73
80
  const exposureUnits = optionalAmount("exposure_units", cell("exposure_units"), rowErrors);
74
- if (earnedPremium === null && exposureUnits === null && rowErrors.length === 0) {
81
+ if (earnedPremium === null &&
82
+ exposureUnits === null &&
83
+ rowErrors.length === 0) {
75
84
  rowErrors.push("earned_premium and exposure_units cannot both be blank");
76
85
  }
77
86
  if (rowErrors.length > 0) {
@@ -79,7 +88,11 @@ export function parseExposureCsv(text) {
79
88
  errors.push({ row: rowNumber, message });
80
89
  continue;
81
90
  }
82
- const validated = exposureRecordSchema.safeParse({ origin, earnedPremium, exposureUnits });
91
+ const validated = exposureRecordSchema.safeParse({
92
+ origin,
93
+ earnedPremium,
94
+ exposureUnits,
95
+ });
83
96
  if (!validated.success) {
84
97
  for (const issue of validated.error.issues) {
85
98
  errors.push({ row: rowNumber, message: issue.message });
@@ -100,7 +113,10 @@ export function parseExposureCsv(text) {
100
113
  for (const [origin, sameOrigin] of rowsByOrigin) {
101
114
  if (sameOrigin.length > 1) {
102
115
  for (const duplicate of sameOrigin) {
103
- errors.push({ row: duplicate.row, message: `duplicate origin "${origin}"` });
116
+ errors.push({
117
+ row: duplicate.row,
118
+ message: `duplicate origin "${origin}"`,
119
+ });
104
120
  }
105
121
  }
106
122
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"exposure.js","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exposure.js","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,qEAAqE;AACrE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9C,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CACL,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAC1E;IACE,OAAO,EAAE,qDAAqD;CAC/D,CACF,CAAC;AAaJ,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,cAAc,CACrB,IAAY,EACZ,GAAW,EACX,MAAgB;IAEhB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,yDAAyD,GAAG,IAAI,CACxE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CACT,GAAG,IAAI,mDAAmD,GAAG,IAAI,CAClE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG;QACvB,GAAG,IAAI,GAAG,CACR,OAAO,CAAC,MAAM,CACZ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,CACtE,CACF;KACF,CAAC,IAAI,EAAE,CAAC;IACT,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,cAAc,CACtB,OAAO,EACP,mCAAmC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,cAAc,CACtB,OAAO,EACP,2CAA2C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAC5F,CAAC;IACJ,CAAC;IACD,IACE,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACnC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACnC,CAAC;QACD,MAAM,IAAI,cAAc,CACtB,OAAO,EACP,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACnE,MAAM,MAAM,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC1D,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO;YACL,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1C,OAAO,EAAE,kBAAkB,OAAO,EAAE;SACrC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAgD,EAAE,CAAC;IAEnE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAE,CAAC;QACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAE,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE;YACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,CAAC;QACF,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,MAAM,KAAK,EAAE;YAAE,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,cAAc,CAClC,gBAAgB,EAChB,IAAI,CAAC,gBAAgB,CAAC,EACtB,SAAS,CACV,CAAC;QACF,MAAM,aAAa,GAAG,cAAc,CAClC,gBAAgB,EAChB,IAAI,CAAC,gBAAgB,CAAC,EACtB,SAAS,CACV,CAAC;QACF,IACE,aAAa,KAAK,IAAI;YACtB,aAAa,KAAK,IAAI;YACtB,SAAS,CAAC,MAAM,KAAK,CAAC,EACtB,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,OAAO,IAAI,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC;YAC/C,MAAM;YACN,aAAa;YACb,aAAa;SACd,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,SAAS;QACX,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,EAGzB,CAAC;IACJ,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,UAAU,KAAK,SAAS;YAC1B,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;;YAChD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,YAAY,EAAE,CAAC;QAChD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC;oBACV,GAAG,EAAE,SAAS,CAAC,GAAG;oBAClB,OAAO,EAAE,qBAAqB,MAAM,GAAG;iBACxC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;AAC/B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,10 @@ export * from "./csv.js";
2
2
  export * from "./annualDevelopment.js";
3
3
  export * from "./exposure.js";
4
4
  export * from "./diagnosticInput.js";
5
- export * from "./diagnosticReview.js";
5
+ export * from "./diagnosticDefinition.js";
6
+ export * from "./version.js";
7
+ export * from "./diagnosticPreparedReview.js";
8
+ export * from "./casualtyDiagnosticReview.js";
6
9
  export * from "./lossRun.js";
7
10
  export * from "./longFormat.js";
8
11
  export * from "./review.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -2,7 +2,10 @@ export * from "./csv.js";
2
2
  export * from "./annualDevelopment.js";
3
3
  export * from "./exposure.js";
4
4
  export * from "./diagnosticInput.js";
5
- export * from "./diagnosticReview.js";
5
+ export * from "./diagnosticDefinition.js";
6
+ export * from "./version.js";
7
+ export * from "./diagnosticPreparedReview.js";
8
+ export * from "./casualtyDiagnosticReview.js";
6
9
  export * from "./lossRun.js";
7
10
  export * from "./longFormat.js";
8
11
  export * from "./review.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lossRun.d.ts","sourceRoot":"","sources":["../src/lossRun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAoCxD,MAAM,WAAW,eAAe;IAC9B,qGAAqG;IACrG,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAwBD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAyGhE"}
1
+ {"version":3,"file":"lossRun.d.ts","sourceRoot":"","sources":["../src/lossRun.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAoCxD,MAAM,WAAW,eAAe;IAC9B,qGAAqG;IACrG,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAqCD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAsIhE"}