@actuarial-ts/data 0.7.0 → 0.8.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 (39) hide show
  1. package/README.md +58 -3
  2. package/dist/customizationContracts.d.ts +2473 -0
  3. package/dist/customizationContracts.d.ts.map +1 -0
  4. package/dist/customizationContracts.js +845 -0
  5. package/dist/customizationContracts.js.map +1 -0
  6. package/dist/customizationExternalState.d.ts +42 -0
  7. package/dist/customizationExternalState.d.ts.map +1 -0
  8. package/dist/customizationExternalState.js +121 -0
  9. package/dist/customizationExternalState.js.map +1 -0
  10. package/dist/customizationHistoryStream.d.ts +26 -0
  11. package/dist/customizationHistoryStream.d.ts.map +1 -0
  12. package/dist/customizationHistoryStream.js +66 -0
  13. package/dist/customizationHistoryStream.js.map +1 -0
  14. package/dist/diagnosticInput.d.ts +33 -0
  15. package/dist/diagnosticInput.d.ts.map +1 -1
  16. package/dist/diagnosticInput.js +71 -1
  17. package/dist/diagnosticInput.js.map +1 -1
  18. package/dist/diagnosticPreparedReview.d.ts.map +1 -1
  19. package/dist/diagnosticPreparedReview.js +38 -0
  20. package/dist/diagnosticPreparedReview.js.map +1 -1
  21. package/dist/historyMapping.d.ts +898 -0
  22. package/dist/historyMapping.d.ts.map +1 -0
  23. package/dist/historyMapping.js +395 -0
  24. package/dist/historyMapping.js.map +1 -0
  25. package/dist/index.d.ts +4 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +4 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/version.d.ts +1 -1
  30. package/dist/version.js +1 -1
  31. package/package.json +3 -3
  32. package/src/customizationContracts.ts +963 -0
  33. package/src/customizationExternalState.ts +208 -0
  34. package/src/customizationHistoryStream.ts +90 -0
  35. package/src/diagnosticInput.ts +101 -0
  36. package/src/diagnosticPreparedReview.ts +48 -0
  37. package/src/historyMapping.ts +514 -0
  38. package/src/index.ts +4 -0
  39. package/src/version.ts +1 -1
@@ -0,0 +1,2473 @@
1
+ import { type AnalysisDefinition, type AnalysisClassificationDefinition, type AnalysisPredicate, type AnalysisRecipe, type AnalysisResult, type AnalysisScenario, type AnalysisScenarioGrid, type CustomizationExposureObservation, type CustomizationResourceLimits, type ExposureAllocationTarget, type ExposureLevelSchedule, type ExposureRevisionSelection, type HistoricalDatasetInput, type JsonValue } from "@actuarial-ts/core";
2
+ import { z } from "zod";
3
+ /** Complete, closed resource policy for every customization streaming boundary. */
4
+ export declare const customizationResourceLimitsSchema: z.ZodType<CustomizationResourceLimits>;
5
+ export declare const customizationExposureObservationSchema: z.ZodType<CustomizationExposureObservation>;
6
+ export declare const exposureAllocationTargetSchema: z.ZodType<ExposureAllocationTarget>;
7
+ export declare const exposureRevisionSelectionSchema: z.ZodType<ExposureRevisionSelection>;
8
+ export declare const exposureLevelScheduleSchema: z.ZodType<ExposureLevelSchedule>;
9
+ export declare const historicalRecordSchema: z.ZodEffects<z.ZodObject<{
10
+ recordId: z.ZodEffects<z.ZodString, string, string>;
11
+ sourceNamespace: z.ZodEffects<z.ZodString, string, string>;
12
+ claimId: z.ZodEffects<z.ZodString, string, string>;
13
+ grain: z.ZodEnum<["claim-snapshot", "claim-component-snapshot", "transaction"]>;
14
+ componentId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
15
+ accidentDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
16
+ reportDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
17
+ evaluationDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
18
+ effectiveDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
19
+ measures: z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
20
+ status: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
21
+ dimensions: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, "many">]>>>;
22
+ relationships: z.ZodOptional<z.ZodObject<{
23
+ claimantIds: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
24
+ occurrenceId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
25
+ policyIds: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
26
+ coverageIds: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
27
+ }, "strict", z.ZodTypeAny, {
28
+ claimantIds?: string[] | undefined;
29
+ occurrenceId?: string | undefined;
30
+ policyIds?: string[] | undefined;
31
+ coverageIds?: string[] | undefined;
32
+ }, {
33
+ claimantIds?: string[] | undefined;
34
+ occurrenceId?: string | undefined;
35
+ policyIds?: string[] | undefined;
36
+ coverageIds?: string[] | undefined;
37
+ }>>;
38
+ completeness: z.ZodEnum<["complete-snapshot", "partial-snapshot", "change-only"]>;
39
+ revision: z.ZodObject<{
40
+ id: z.ZodEffects<z.ZodString, string, string>;
41
+ action: z.ZodEnum<["upsert", "delete"]>;
42
+ sequence: z.ZodOptional<z.ZodNumber>;
43
+ correctedAt: z.ZodOptional<z.ZodString>;
44
+ }, "strict", z.ZodTypeAny, {
45
+ id: string;
46
+ action: "upsert" | "delete";
47
+ sequence?: number | undefined;
48
+ correctedAt?: string | undefined;
49
+ }, {
50
+ id: string;
51
+ action: "upsert" | "delete";
52
+ sequence?: number | undefined;
53
+ correctedAt?: string | undefined;
54
+ }>;
55
+ source: z.ZodObject<{
56
+ artifactId: z.ZodEffects<z.ZodString, string, string>;
57
+ sourceFile: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
58
+ sourceSheet: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
59
+ sourceRow: z.ZodOptional<z.ZodNumber>;
60
+ }, "strict", z.ZodTypeAny, {
61
+ artifactId: string;
62
+ sourceFile?: string | undefined;
63
+ sourceSheet?: string | undefined;
64
+ sourceRow?: number | undefined;
65
+ }, {
66
+ artifactId: string;
67
+ sourceFile?: string | undefined;
68
+ sourceSheet?: string | undefined;
69
+ sourceRow?: number | undefined;
70
+ }>;
71
+ }, "strict", z.ZodTypeAny, {
72
+ claimId: string;
73
+ revision: {
74
+ id: string;
75
+ action: "upsert" | "delete";
76
+ sequence?: number | undefined;
77
+ correctedAt?: string | undefined;
78
+ };
79
+ source: {
80
+ artifactId: string;
81
+ sourceFile?: string | undefined;
82
+ sourceSheet?: string | undefined;
83
+ sourceRow?: number | undefined;
84
+ };
85
+ recordId: string;
86
+ sourceNamespace: string;
87
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
88
+ measures: Record<string, number | null>;
89
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
90
+ status?: string | undefined;
91
+ evaluationDate?: string | undefined;
92
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
93
+ effectiveDate?: string | undefined;
94
+ componentId?: string | undefined;
95
+ accidentDate?: string | undefined;
96
+ reportDate?: string | undefined;
97
+ relationships?: {
98
+ claimantIds?: string[] | undefined;
99
+ occurrenceId?: string | undefined;
100
+ policyIds?: string[] | undefined;
101
+ coverageIds?: string[] | undefined;
102
+ } | undefined;
103
+ }, {
104
+ claimId: string;
105
+ revision: {
106
+ id: string;
107
+ action: "upsert" | "delete";
108
+ sequence?: number | undefined;
109
+ correctedAt?: string | undefined;
110
+ };
111
+ source: {
112
+ artifactId: string;
113
+ sourceFile?: string | undefined;
114
+ sourceSheet?: string | undefined;
115
+ sourceRow?: number | undefined;
116
+ };
117
+ recordId: string;
118
+ sourceNamespace: string;
119
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
120
+ measures: Record<string, number | null>;
121
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
122
+ status?: string | undefined;
123
+ evaluationDate?: string | undefined;
124
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
125
+ effectiveDate?: string | undefined;
126
+ componentId?: string | undefined;
127
+ accidentDate?: string | undefined;
128
+ reportDate?: string | undefined;
129
+ relationships?: {
130
+ claimantIds?: string[] | undefined;
131
+ occurrenceId?: string | undefined;
132
+ policyIds?: string[] | undefined;
133
+ coverageIds?: string[] | undefined;
134
+ } | undefined;
135
+ }>, {
136
+ claimId: string;
137
+ revision: {
138
+ id: string;
139
+ action: "upsert" | "delete";
140
+ sequence?: number | undefined;
141
+ correctedAt?: string | undefined;
142
+ };
143
+ source: {
144
+ artifactId: string;
145
+ sourceFile?: string | undefined;
146
+ sourceSheet?: string | undefined;
147
+ sourceRow?: number | undefined;
148
+ };
149
+ recordId: string;
150
+ sourceNamespace: string;
151
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
152
+ measures: Record<string, number | null>;
153
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
154
+ status?: string | undefined;
155
+ evaluationDate?: string | undefined;
156
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
157
+ effectiveDate?: string | undefined;
158
+ componentId?: string | undefined;
159
+ accidentDate?: string | undefined;
160
+ reportDate?: string | undefined;
161
+ relationships?: {
162
+ claimantIds?: string[] | undefined;
163
+ occurrenceId?: string | undefined;
164
+ policyIds?: string[] | undefined;
165
+ coverageIds?: string[] | undefined;
166
+ } | undefined;
167
+ }, {
168
+ claimId: string;
169
+ revision: {
170
+ id: string;
171
+ action: "upsert" | "delete";
172
+ sequence?: number | undefined;
173
+ correctedAt?: string | undefined;
174
+ };
175
+ source: {
176
+ artifactId: string;
177
+ sourceFile?: string | undefined;
178
+ sourceSheet?: string | undefined;
179
+ sourceRow?: number | undefined;
180
+ };
181
+ recordId: string;
182
+ sourceNamespace: string;
183
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
184
+ measures: Record<string, number | null>;
185
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
186
+ status?: string | undefined;
187
+ evaluationDate?: string | undefined;
188
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
189
+ effectiveDate?: string | undefined;
190
+ componentId?: string | undefined;
191
+ accidentDate?: string | undefined;
192
+ reportDate?: string | undefined;
193
+ relationships?: {
194
+ claimantIds?: string[] | undefined;
195
+ occurrenceId?: string | undefined;
196
+ policyIds?: string[] | undefined;
197
+ coverageIds?: string[] | undefined;
198
+ } | undefined;
199
+ }>;
200
+ export declare const historicalDatasetInputSchema: z.ZodEffects<z.ZodObject<{
201
+ historyContractVersion: z.ZodLiteral<"actuarial-history/1">;
202
+ datasetId: z.ZodEffects<z.ZodString, string, string>;
203
+ historyMode: z.ZodEnum<["full-snapshots", "changes", "mixed"]>;
204
+ revisionView: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
205
+ kind: z.ZodLiteral<"as-known">;
206
+ knowledgeCutoff: z.ZodString;
207
+ }, "strict", z.ZodTypeAny, {
208
+ kind: "as-known";
209
+ knowledgeCutoff: string;
210
+ }, {
211
+ kind: "as-known";
212
+ knowledgeCutoff: string;
213
+ }>, z.ZodObject<{
214
+ kind: z.ZodLiteral<"restated">;
215
+ }, "strict", z.ZodTypeAny, {
216
+ kind: "restated";
217
+ }, {
218
+ kind: "restated";
219
+ }>]>;
220
+ revisionPrecedence: z.ZodEnum<["sequence", "corrected-at"]>;
221
+ missingSnapshotRecord: z.ZodEnum<["unknown", "carried-forward"]>;
222
+ sources: z.ZodArray<z.ZodObject<{
223
+ namespace: z.ZodEffects<z.ZodString, string, string>;
224
+ artifactId: z.ZodEffects<z.ZodString, string, string>;
225
+ mappingVersion: z.ZodEffects<z.ZodString, string, string>;
226
+ }, "strict", z.ZodTypeAny, {
227
+ artifactId: string;
228
+ namespace: string;
229
+ mappingVersion: string;
230
+ }, {
231
+ artifactId: string;
232
+ namespace: string;
233
+ mappingVersion: string;
234
+ }>, "many">;
235
+ evaluationDates: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
236
+ openingBalances: z.ZodOptional<z.ZodArray<z.ZodObject<{
237
+ sourceNamespace: z.ZodEffects<z.ZodString, string, string>;
238
+ claimId: z.ZodEffects<z.ZodString, string, string>;
239
+ asOfDate: z.ZodEffects<z.ZodString, string, string>;
240
+ measures: z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodNumber>;
241
+ source: z.ZodObject<{
242
+ artifactId: z.ZodEffects<z.ZodString, string, string>;
243
+ sourceFile: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
244
+ sourceSheet: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
245
+ sourceRow: z.ZodOptional<z.ZodNumber>;
246
+ }, "strict", z.ZodTypeAny, {
247
+ artifactId: string;
248
+ sourceFile?: string | undefined;
249
+ sourceSheet?: string | undefined;
250
+ sourceRow?: number | undefined;
251
+ }, {
252
+ artifactId: string;
253
+ sourceFile?: string | undefined;
254
+ sourceSheet?: string | undefined;
255
+ sourceRow?: number | undefined;
256
+ }>;
257
+ }, "strict", z.ZodTypeAny, {
258
+ claimId: string;
259
+ source: {
260
+ artifactId: string;
261
+ sourceFile?: string | undefined;
262
+ sourceSheet?: string | undefined;
263
+ sourceRow?: number | undefined;
264
+ };
265
+ sourceNamespace: string;
266
+ measures: Record<string, number>;
267
+ asOfDate: string;
268
+ }, {
269
+ claimId: string;
270
+ source: {
271
+ artifactId: string;
272
+ sourceFile?: string | undefined;
273
+ sourceSheet?: string | undefined;
274
+ sourceRow?: number | undefined;
275
+ };
276
+ sourceNamespace: string;
277
+ measures: Record<string, number>;
278
+ asOfDate: string;
279
+ }>, "many">>;
280
+ records: z.ZodArray<z.ZodEffects<z.ZodObject<{
281
+ recordId: z.ZodEffects<z.ZodString, string, string>;
282
+ sourceNamespace: z.ZodEffects<z.ZodString, string, string>;
283
+ claimId: z.ZodEffects<z.ZodString, string, string>;
284
+ grain: z.ZodEnum<["claim-snapshot", "claim-component-snapshot", "transaction"]>;
285
+ componentId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
286
+ accidentDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
287
+ reportDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
288
+ evaluationDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
289
+ effectiveDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
290
+ measures: z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodUnion<[z.ZodNumber, z.ZodNull]>>;
291
+ status: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
292
+ dimensions: z.ZodOptional<z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>, "many">]>>>;
293
+ relationships: z.ZodOptional<z.ZodObject<{
294
+ claimantIds: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
295
+ occurrenceId: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
296
+ policyIds: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
297
+ coverageIds: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
298
+ }, "strict", z.ZodTypeAny, {
299
+ claimantIds?: string[] | undefined;
300
+ occurrenceId?: string | undefined;
301
+ policyIds?: string[] | undefined;
302
+ coverageIds?: string[] | undefined;
303
+ }, {
304
+ claimantIds?: string[] | undefined;
305
+ occurrenceId?: string | undefined;
306
+ policyIds?: string[] | undefined;
307
+ coverageIds?: string[] | undefined;
308
+ }>>;
309
+ completeness: z.ZodEnum<["complete-snapshot", "partial-snapshot", "change-only"]>;
310
+ revision: z.ZodObject<{
311
+ id: z.ZodEffects<z.ZodString, string, string>;
312
+ action: z.ZodEnum<["upsert", "delete"]>;
313
+ sequence: z.ZodOptional<z.ZodNumber>;
314
+ correctedAt: z.ZodOptional<z.ZodString>;
315
+ }, "strict", z.ZodTypeAny, {
316
+ id: string;
317
+ action: "upsert" | "delete";
318
+ sequence?: number | undefined;
319
+ correctedAt?: string | undefined;
320
+ }, {
321
+ id: string;
322
+ action: "upsert" | "delete";
323
+ sequence?: number | undefined;
324
+ correctedAt?: string | undefined;
325
+ }>;
326
+ source: z.ZodObject<{
327
+ artifactId: z.ZodEffects<z.ZodString, string, string>;
328
+ sourceFile: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
329
+ sourceSheet: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
330
+ sourceRow: z.ZodOptional<z.ZodNumber>;
331
+ }, "strict", z.ZodTypeAny, {
332
+ artifactId: string;
333
+ sourceFile?: string | undefined;
334
+ sourceSheet?: string | undefined;
335
+ sourceRow?: number | undefined;
336
+ }, {
337
+ artifactId: string;
338
+ sourceFile?: string | undefined;
339
+ sourceSheet?: string | undefined;
340
+ sourceRow?: number | undefined;
341
+ }>;
342
+ }, "strict", z.ZodTypeAny, {
343
+ claimId: string;
344
+ revision: {
345
+ id: string;
346
+ action: "upsert" | "delete";
347
+ sequence?: number | undefined;
348
+ correctedAt?: string | undefined;
349
+ };
350
+ source: {
351
+ artifactId: string;
352
+ sourceFile?: string | undefined;
353
+ sourceSheet?: string | undefined;
354
+ sourceRow?: number | undefined;
355
+ };
356
+ recordId: string;
357
+ sourceNamespace: string;
358
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
359
+ measures: Record<string, number | null>;
360
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
361
+ status?: string | undefined;
362
+ evaluationDate?: string | undefined;
363
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
364
+ effectiveDate?: string | undefined;
365
+ componentId?: string | undefined;
366
+ accidentDate?: string | undefined;
367
+ reportDate?: string | undefined;
368
+ relationships?: {
369
+ claimantIds?: string[] | undefined;
370
+ occurrenceId?: string | undefined;
371
+ policyIds?: string[] | undefined;
372
+ coverageIds?: string[] | undefined;
373
+ } | undefined;
374
+ }, {
375
+ claimId: string;
376
+ revision: {
377
+ id: string;
378
+ action: "upsert" | "delete";
379
+ sequence?: number | undefined;
380
+ correctedAt?: string | undefined;
381
+ };
382
+ source: {
383
+ artifactId: string;
384
+ sourceFile?: string | undefined;
385
+ sourceSheet?: string | undefined;
386
+ sourceRow?: number | undefined;
387
+ };
388
+ recordId: string;
389
+ sourceNamespace: string;
390
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
391
+ measures: Record<string, number | null>;
392
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
393
+ status?: string | undefined;
394
+ evaluationDate?: string | undefined;
395
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
396
+ effectiveDate?: string | undefined;
397
+ componentId?: string | undefined;
398
+ accidentDate?: string | undefined;
399
+ reportDate?: string | undefined;
400
+ relationships?: {
401
+ claimantIds?: string[] | undefined;
402
+ occurrenceId?: string | undefined;
403
+ policyIds?: string[] | undefined;
404
+ coverageIds?: string[] | undefined;
405
+ } | undefined;
406
+ }>, {
407
+ claimId: string;
408
+ revision: {
409
+ id: string;
410
+ action: "upsert" | "delete";
411
+ sequence?: number | undefined;
412
+ correctedAt?: string | undefined;
413
+ };
414
+ source: {
415
+ artifactId: string;
416
+ sourceFile?: string | undefined;
417
+ sourceSheet?: string | undefined;
418
+ sourceRow?: number | undefined;
419
+ };
420
+ recordId: string;
421
+ sourceNamespace: string;
422
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
423
+ measures: Record<string, number | null>;
424
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
425
+ status?: string | undefined;
426
+ evaluationDate?: string | undefined;
427
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
428
+ effectiveDate?: string | undefined;
429
+ componentId?: string | undefined;
430
+ accidentDate?: string | undefined;
431
+ reportDate?: string | undefined;
432
+ relationships?: {
433
+ claimantIds?: string[] | undefined;
434
+ occurrenceId?: string | undefined;
435
+ policyIds?: string[] | undefined;
436
+ coverageIds?: string[] | undefined;
437
+ } | undefined;
438
+ }, {
439
+ claimId: string;
440
+ revision: {
441
+ id: string;
442
+ action: "upsert" | "delete";
443
+ sequence?: number | undefined;
444
+ correctedAt?: string | undefined;
445
+ };
446
+ source: {
447
+ artifactId: string;
448
+ sourceFile?: string | undefined;
449
+ sourceSheet?: string | undefined;
450
+ sourceRow?: number | undefined;
451
+ };
452
+ recordId: string;
453
+ sourceNamespace: string;
454
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
455
+ measures: Record<string, number | null>;
456
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
457
+ status?: string | undefined;
458
+ evaluationDate?: string | undefined;
459
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
460
+ effectiveDate?: string | undefined;
461
+ componentId?: string | undefined;
462
+ accidentDate?: string | undefined;
463
+ reportDate?: string | undefined;
464
+ relationships?: {
465
+ claimantIds?: string[] | undefined;
466
+ occurrenceId?: string | undefined;
467
+ policyIds?: string[] | undefined;
468
+ coverageIds?: string[] | undefined;
469
+ } | undefined;
470
+ }>, "many">;
471
+ }, "strict", z.ZodTypeAny, {
472
+ sources: {
473
+ artifactId: string;
474
+ namespace: string;
475
+ mappingVersion: string;
476
+ }[];
477
+ revisionView: {
478
+ kind: "as-known";
479
+ knowledgeCutoff: string;
480
+ } | {
481
+ kind: "restated";
482
+ };
483
+ revisionPrecedence: "sequence" | "corrected-at";
484
+ historyContractVersion: "actuarial-history/1";
485
+ datasetId: string;
486
+ historyMode: "full-snapshots" | "changes" | "mixed";
487
+ missingSnapshotRecord: "unknown" | "carried-forward";
488
+ records: {
489
+ claimId: string;
490
+ revision: {
491
+ id: string;
492
+ action: "upsert" | "delete";
493
+ sequence?: number | undefined;
494
+ correctedAt?: string | undefined;
495
+ };
496
+ source: {
497
+ artifactId: string;
498
+ sourceFile?: string | undefined;
499
+ sourceSheet?: string | undefined;
500
+ sourceRow?: number | undefined;
501
+ };
502
+ recordId: string;
503
+ sourceNamespace: string;
504
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
505
+ measures: Record<string, number | null>;
506
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
507
+ status?: string | undefined;
508
+ evaluationDate?: string | undefined;
509
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
510
+ effectiveDate?: string | undefined;
511
+ componentId?: string | undefined;
512
+ accidentDate?: string | undefined;
513
+ reportDate?: string | undefined;
514
+ relationships?: {
515
+ claimantIds?: string[] | undefined;
516
+ occurrenceId?: string | undefined;
517
+ policyIds?: string[] | undefined;
518
+ coverageIds?: string[] | undefined;
519
+ } | undefined;
520
+ }[];
521
+ evaluationDates?: string[] | undefined;
522
+ openingBalances?: {
523
+ claimId: string;
524
+ source: {
525
+ artifactId: string;
526
+ sourceFile?: string | undefined;
527
+ sourceSheet?: string | undefined;
528
+ sourceRow?: number | undefined;
529
+ };
530
+ sourceNamespace: string;
531
+ measures: Record<string, number>;
532
+ asOfDate: string;
533
+ }[] | undefined;
534
+ }, {
535
+ sources: {
536
+ artifactId: string;
537
+ namespace: string;
538
+ mappingVersion: string;
539
+ }[];
540
+ revisionView: {
541
+ kind: "as-known";
542
+ knowledgeCutoff: string;
543
+ } | {
544
+ kind: "restated";
545
+ };
546
+ revisionPrecedence: "sequence" | "corrected-at";
547
+ historyContractVersion: "actuarial-history/1";
548
+ datasetId: string;
549
+ historyMode: "full-snapshots" | "changes" | "mixed";
550
+ missingSnapshotRecord: "unknown" | "carried-forward";
551
+ records: {
552
+ claimId: string;
553
+ revision: {
554
+ id: string;
555
+ action: "upsert" | "delete";
556
+ sequence?: number | undefined;
557
+ correctedAt?: string | undefined;
558
+ };
559
+ source: {
560
+ artifactId: string;
561
+ sourceFile?: string | undefined;
562
+ sourceSheet?: string | undefined;
563
+ sourceRow?: number | undefined;
564
+ };
565
+ recordId: string;
566
+ sourceNamespace: string;
567
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
568
+ measures: Record<string, number | null>;
569
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
570
+ status?: string | undefined;
571
+ evaluationDate?: string | undefined;
572
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
573
+ effectiveDate?: string | undefined;
574
+ componentId?: string | undefined;
575
+ accidentDate?: string | undefined;
576
+ reportDate?: string | undefined;
577
+ relationships?: {
578
+ claimantIds?: string[] | undefined;
579
+ occurrenceId?: string | undefined;
580
+ policyIds?: string[] | undefined;
581
+ coverageIds?: string[] | undefined;
582
+ } | undefined;
583
+ }[];
584
+ evaluationDates?: string[] | undefined;
585
+ openingBalances?: {
586
+ claimId: string;
587
+ source: {
588
+ artifactId: string;
589
+ sourceFile?: string | undefined;
590
+ sourceSheet?: string | undefined;
591
+ sourceRow?: number | undefined;
592
+ };
593
+ sourceNamespace: string;
594
+ measures: Record<string, number>;
595
+ asOfDate: string;
596
+ }[] | undefined;
597
+ }>, {
598
+ sources: {
599
+ artifactId: string;
600
+ namespace: string;
601
+ mappingVersion: string;
602
+ }[];
603
+ revisionView: {
604
+ kind: "as-known";
605
+ knowledgeCutoff: string;
606
+ } | {
607
+ kind: "restated";
608
+ };
609
+ revisionPrecedence: "sequence" | "corrected-at";
610
+ historyContractVersion: "actuarial-history/1";
611
+ datasetId: string;
612
+ historyMode: "full-snapshots" | "changes" | "mixed";
613
+ missingSnapshotRecord: "unknown" | "carried-forward";
614
+ records: {
615
+ claimId: string;
616
+ revision: {
617
+ id: string;
618
+ action: "upsert" | "delete";
619
+ sequence?: number | undefined;
620
+ correctedAt?: string | undefined;
621
+ };
622
+ source: {
623
+ artifactId: string;
624
+ sourceFile?: string | undefined;
625
+ sourceSheet?: string | undefined;
626
+ sourceRow?: number | undefined;
627
+ };
628
+ recordId: string;
629
+ sourceNamespace: string;
630
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
631
+ measures: Record<string, number | null>;
632
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
633
+ status?: string | undefined;
634
+ evaluationDate?: string | undefined;
635
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
636
+ effectiveDate?: string | undefined;
637
+ componentId?: string | undefined;
638
+ accidentDate?: string | undefined;
639
+ reportDate?: string | undefined;
640
+ relationships?: {
641
+ claimantIds?: string[] | undefined;
642
+ occurrenceId?: string | undefined;
643
+ policyIds?: string[] | undefined;
644
+ coverageIds?: string[] | undefined;
645
+ } | undefined;
646
+ }[];
647
+ evaluationDates?: string[] | undefined;
648
+ openingBalances?: {
649
+ claimId: string;
650
+ source: {
651
+ artifactId: string;
652
+ sourceFile?: string | undefined;
653
+ sourceSheet?: string | undefined;
654
+ sourceRow?: number | undefined;
655
+ };
656
+ sourceNamespace: string;
657
+ measures: Record<string, number>;
658
+ asOfDate: string;
659
+ }[] | undefined;
660
+ }, {
661
+ sources: {
662
+ artifactId: string;
663
+ namespace: string;
664
+ mappingVersion: string;
665
+ }[];
666
+ revisionView: {
667
+ kind: "as-known";
668
+ knowledgeCutoff: string;
669
+ } | {
670
+ kind: "restated";
671
+ };
672
+ revisionPrecedence: "sequence" | "corrected-at";
673
+ historyContractVersion: "actuarial-history/1";
674
+ datasetId: string;
675
+ historyMode: "full-snapshots" | "changes" | "mixed";
676
+ missingSnapshotRecord: "unknown" | "carried-forward";
677
+ records: {
678
+ claimId: string;
679
+ revision: {
680
+ id: string;
681
+ action: "upsert" | "delete";
682
+ sequence?: number | undefined;
683
+ correctedAt?: string | undefined;
684
+ };
685
+ source: {
686
+ artifactId: string;
687
+ sourceFile?: string | undefined;
688
+ sourceSheet?: string | undefined;
689
+ sourceRow?: number | undefined;
690
+ };
691
+ recordId: string;
692
+ sourceNamespace: string;
693
+ grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
694
+ measures: Record<string, number | null>;
695
+ completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
696
+ status?: string | undefined;
697
+ evaluationDate?: string | undefined;
698
+ dimensions?: Record<string, string | number | boolean | (string | number | boolean | null)[] | null> | undefined;
699
+ effectiveDate?: string | undefined;
700
+ componentId?: string | undefined;
701
+ accidentDate?: string | undefined;
702
+ reportDate?: string | undefined;
703
+ relationships?: {
704
+ claimantIds?: string[] | undefined;
705
+ occurrenceId?: string | undefined;
706
+ policyIds?: string[] | undefined;
707
+ coverageIds?: string[] | undefined;
708
+ } | undefined;
709
+ }[];
710
+ evaluationDates?: string[] | undefined;
711
+ openingBalances?: {
712
+ claimId: string;
713
+ source: {
714
+ artifactId: string;
715
+ sourceFile?: string | undefined;
716
+ sourceSheet?: string | undefined;
717
+ sourceRow?: number | undefined;
718
+ };
719
+ sourceNamespace: string;
720
+ measures: Record<string, number>;
721
+ asOfDate: string;
722
+ }[] | undefined;
723
+ }>;
724
+ export declare const analysisDefinitionSchema: z.ZodEffects<z.ZodObject<{
725
+ analysisContractVersion: z.ZodLiteral<"actuarial-analysis/1">;
726
+ id: z.ZodEffects<z.ZodString, string, string>;
727
+ version: z.ZodEffects<z.ZodString, string, string>;
728
+ dimensions: z.ZodArray<z.ZodObject<{
729
+ id: z.ZodEffects<z.ZodString, string, string>;
730
+ type: z.ZodEnum<["string", "number", "boolean", "date", "entity-reference"]>;
731
+ multiple: z.ZodBoolean;
732
+ }, "strict", z.ZodTypeAny, {
733
+ type: "string" | "number" | "boolean" | "date" | "entity-reference";
734
+ id: string;
735
+ multiple: boolean;
736
+ }, {
737
+ type: "string" | "number" | "boolean" | "date" | "entity-reference";
738
+ id: string;
739
+ multiple: boolean;
740
+ }>, "many">;
741
+ scopes: z.ZodObject<{
742
+ financial: z.ZodObject<{
743
+ id: z.ZodEffects<z.ZodString, string, string>;
744
+ subject: z.ZodEnum<["claim", "claimant", "occurrence", "policy", "coverage"]>;
745
+ predicate: z.ZodType<AnalysisPredicate, z.ZodTypeDef, AnalysisPredicate>;
746
+ classification: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
747
+ kind: z.ZodLiteral<"as-observed">;
748
+ }, "strict", z.ZodTypeAny, {
749
+ kind: "as-observed";
750
+ }, {
751
+ kind: "as-observed";
752
+ }>, z.ZodObject<{
753
+ kind: z.ZodLiteral<"latest-as-of-analysis">;
754
+ asOfDate: z.ZodEffects<z.ZodString, string, string>;
755
+ }, "strict", z.ZodTypeAny, {
756
+ kind: "latest-as-of-analysis";
757
+ asOfDate: string;
758
+ }, {
759
+ kind: "latest-as-of-analysis";
760
+ asOfDate: string;
761
+ }>, z.ZodObject<{
762
+ kind: z.ZodLiteral<"frozen-cohort">;
763
+ asOfDate: z.ZodEffects<z.ZodString, string, string>;
764
+ }, "strict", z.ZodTypeAny, {
765
+ kind: "frozen-cohort";
766
+ asOfDate: string;
767
+ }, {
768
+ kind: "frozen-cohort";
769
+ asOfDate: string;
770
+ }>]>;
771
+ }, "strict", z.ZodTypeAny, {
772
+ id: string;
773
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
774
+ predicate: AnalysisPredicate;
775
+ classification: {
776
+ kind: "as-observed";
777
+ } | {
778
+ kind: "latest-as-of-analysis";
779
+ asOfDate: string;
780
+ } | {
781
+ kind: "frozen-cohort";
782
+ asOfDate: string;
783
+ };
784
+ }, {
785
+ id: string;
786
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
787
+ predicate: AnalysisPredicate;
788
+ classification: {
789
+ kind: "as-observed";
790
+ } | {
791
+ kind: "latest-as-of-analysis";
792
+ asOfDate: string;
793
+ } | {
794
+ kind: "frozen-cohort";
795
+ asOfDate: string;
796
+ };
797
+ }>;
798
+ reporting: z.ZodObject<{
799
+ id: z.ZodEffects<z.ZodString, string, string>;
800
+ subject: z.ZodEnum<["claim", "claimant", "occurrence", "policy", "coverage"]>;
801
+ predicate: z.ZodType<AnalysisPredicate, z.ZodTypeDef, AnalysisPredicate>;
802
+ classification: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
803
+ kind: z.ZodLiteral<"as-observed">;
804
+ }, "strict", z.ZodTypeAny, {
805
+ kind: "as-observed";
806
+ }, {
807
+ kind: "as-observed";
808
+ }>, z.ZodObject<{
809
+ kind: z.ZodLiteral<"latest-as-of-analysis">;
810
+ asOfDate: z.ZodEffects<z.ZodString, string, string>;
811
+ }, "strict", z.ZodTypeAny, {
812
+ kind: "latest-as-of-analysis";
813
+ asOfDate: string;
814
+ }, {
815
+ kind: "latest-as-of-analysis";
816
+ asOfDate: string;
817
+ }>, z.ZodObject<{
818
+ kind: z.ZodLiteral<"frozen-cohort">;
819
+ asOfDate: z.ZodEffects<z.ZodString, string, string>;
820
+ }, "strict", z.ZodTypeAny, {
821
+ kind: "frozen-cohort";
822
+ asOfDate: string;
823
+ }, {
824
+ kind: "frozen-cohort";
825
+ asOfDate: string;
826
+ }>]>;
827
+ }, "strict", z.ZodTypeAny, {
828
+ id: string;
829
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
830
+ predicate: AnalysisPredicate;
831
+ classification: {
832
+ kind: "as-observed";
833
+ } | {
834
+ kind: "latest-as-of-analysis";
835
+ asOfDate: string;
836
+ } | {
837
+ kind: "frozen-cohort";
838
+ asOfDate: string;
839
+ };
840
+ }, {
841
+ id: string;
842
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
843
+ predicate: AnalysisPredicate;
844
+ classification: {
845
+ kind: "as-observed";
846
+ } | {
847
+ kind: "latest-as-of-analysis";
848
+ asOfDate: string;
849
+ } | {
850
+ kind: "frozen-cohort";
851
+ asOfDate: string;
852
+ };
853
+ }>;
854
+ exposure: z.ZodArray<z.ZodObject<{
855
+ id: z.ZodEffects<z.ZodString, string, string>;
856
+ populationKeys: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
857
+ timeBasis: z.ZodEnum<["interval", "point-in-time", "already-earned"]>;
858
+ reportingFilterEffect: z.ZodEnum<["none", "matching-exposure-dimensions"]>;
859
+ valuationSelection: z.ZodOptional<z.ZodEnum<["origin-static", "exact", "latest-on-or-before"]>>;
860
+ }, "strict", z.ZodTypeAny, {
861
+ id: string;
862
+ populationKeys: string[];
863
+ timeBasis: "interval" | "point-in-time" | "already-earned";
864
+ reportingFilterEffect: "none" | "matching-exposure-dimensions";
865
+ valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
866
+ }, {
867
+ id: string;
868
+ populationKeys: string[];
869
+ timeBasis: "interval" | "point-in-time" | "already-earned";
870
+ reportingFilterEffect: "none" | "matching-exposure-dimensions";
871
+ valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
872
+ }>, "many">;
873
+ }, "strict", z.ZodTypeAny, {
874
+ financial: {
875
+ id: string;
876
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
877
+ predicate: AnalysisPredicate;
878
+ classification: {
879
+ kind: "as-observed";
880
+ } | {
881
+ kind: "latest-as-of-analysis";
882
+ asOfDate: string;
883
+ } | {
884
+ kind: "frozen-cohort";
885
+ asOfDate: string;
886
+ };
887
+ };
888
+ reporting: {
889
+ id: string;
890
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
891
+ predicate: AnalysisPredicate;
892
+ classification: {
893
+ kind: "as-observed";
894
+ } | {
895
+ kind: "latest-as-of-analysis";
896
+ asOfDate: string;
897
+ } | {
898
+ kind: "frozen-cohort";
899
+ asOfDate: string;
900
+ };
901
+ };
902
+ exposure: {
903
+ id: string;
904
+ populationKeys: string[];
905
+ timeBasis: "interval" | "point-in-time" | "already-earned";
906
+ reportingFilterEffect: "none" | "matching-exposure-dimensions";
907
+ valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
908
+ }[];
909
+ }, {
910
+ financial: {
911
+ id: string;
912
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
913
+ predicate: AnalysisPredicate;
914
+ classification: {
915
+ kind: "as-observed";
916
+ } | {
917
+ kind: "latest-as-of-analysis";
918
+ asOfDate: string;
919
+ } | {
920
+ kind: "frozen-cohort";
921
+ asOfDate: string;
922
+ };
923
+ };
924
+ reporting: {
925
+ id: string;
926
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
927
+ predicate: AnalysisPredicate;
928
+ classification: {
929
+ kind: "as-observed";
930
+ } | {
931
+ kind: "latest-as-of-analysis";
932
+ asOfDate: string;
933
+ } | {
934
+ kind: "frozen-cohort";
935
+ asOfDate: string;
936
+ };
937
+ };
938
+ exposure: {
939
+ id: string;
940
+ populationKeys: string[];
941
+ timeBasis: "interval" | "point-in-time" | "already-earned";
942
+ reportingFilterEffect: "none" | "matching-exposure-dimensions";
943
+ valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
944
+ }[];
945
+ }>;
946
+ policySchedule: z.ZodArray<z.ZodEffects<z.ZodObject<{
947
+ id: z.ZodEffects<z.ZodString, string, string>;
948
+ label: z.ZodEffects<z.ZodString, string, string>;
949
+ scope: z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
950
+ startDate: z.ZodEffects<z.ZodString, string, string>;
951
+ endDate: z.ZodEffects<z.ZodString, string, string>;
952
+ revisionId: z.ZodEffects<z.ZodString, string, string>;
953
+ }, "strict", z.ZodTypeAny, {
954
+ id: string;
955
+ startDate: string;
956
+ endDate: string;
957
+ revisionId: string;
958
+ label: string;
959
+ scope: Record<string, string | number | boolean | null>;
960
+ }, {
961
+ id: string;
962
+ startDate: string;
963
+ endDate: string;
964
+ revisionId: string;
965
+ label: string;
966
+ scope: Record<string, string | number | boolean | null>;
967
+ }>, {
968
+ id: string;
969
+ startDate: string;
970
+ endDate: string;
971
+ revisionId: string;
972
+ label: string;
973
+ scope: Record<string, string | number | boolean | null>;
974
+ }, {
975
+ id: string;
976
+ startDate: string;
977
+ endDate: string;
978
+ revisionId: string;
979
+ label: string;
980
+ scope: Record<string, string | number | boolean | null>;
981
+ }>, "many">;
982
+ period: z.ZodObject<{
983
+ originBasis: z.ZodEnum<["accident", "report", "policy"]>;
984
+ grouping: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
985
+ kind: z.ZodLiteral<"calendar">;
986
+ cadence: z.ZodEnum<["month", "quarter", "year"]>;
987
+ }, "strict", z.ZodTypeAny, {
988
+ kind: "calendar";
989
+ cadence: "year" | "month" | "quarter";
990
+ }, {
991
+ kind: "calendar";
992
+ cadence: "year" | "month" | "quarter";
993
+ }>, z.ZodObject<{
994
+ kind: z.ZodLiteral<"fiscal">;
995
+ cadence: z.ZodEnum<["quarter", "year"]>;
996
+ startMonth: z.ZodNumber;
997
+ }, "strict", z.ZodTypeAny, {
998
+ kind: "fiscal";
999
+ cadence: "year" | "quarter";
1000
+ startMonth: number;
1001
+ }, {
1002
+ kind: "fiscal";
1003
+ cadence: "year" | "quarter";
1004
+ startMonth: number;
1005
+ }>, z.ZodObject<{
1006
+ kind: z.ZodLiteral<"policy-schedule">;
1007
+ periodIds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
1008
+ }, "strict", z.ZodTypeAny, {
1009
+ kind: "policy-schedule";
1010
+ periodIds: string[];
1011
+ }, {
1012
+ kind: "policy-schedule";
1013
+ periodIds: string[];
1014
+ }>]>;
1015
+ comparisonClock: z.ZodEnum<["common-evaluation-date", "since-period-start", "since-period-end", "matched-accident-cohorts"]>;
1016
+ ageConvention: z.ZodEnum<["exact-days", "calendar-months"]>;
1017
+ observationSelection: z.ZodEnum<["exact", "latest-on-or-before"]>;
1018
+ }, "strict", z.ZodTypeAny, {
1019
+ originBasis: "policy" | "accident" | "report";
1020
+ grouping: {
1021
+ kind: "calendar";
1022
+ cadence: "year" | "month" | "quarter";
1023
+ } | {
1024
+ kind: "fiscal";
1025
+ cadence: "year" | "quarter";
1026
+ startMonth: number;
1027
+ } | {
1028
+ kind: "policy-schedule";
1029
+ periodIds: string[];
1030
+ };
1031
+ comparisonClock: "common-evaluation-date" | "since-period-start" | "since-period-end" | "matched-accident-cohorts";
1032
+ ageConvention: "exact-days" | "calendar-months";
1033
+ observationSelection: "exact" | "latest-on-or-before";
1034
+ }, {
1035
+ originBasis: "policy" | "accident" | "report";
1036
+ grouping: {
1037
+ kind: "calendar";
1038
+ cadence: "year" | "month" | "quarter";
1039
+ } | {
1040
+ kind: "fiscal";
1041
+ cadence: "year" | "quarter";
1042
+ startMonth: number;
1043
+ } | {
1044
+ kind: "policy-schedule";
1045
+ periodIds: string[];
1046
+ };
1047
+ comparisonClock: "common-evaluation-date" | "since-period-start" | "since-period-end" | "matched-accident-cohorts";
1048
+ ageConvention: "exact-days" | "calendar-months";
1049
+ observationSelection: "exact" | "latest-on-or-before";
1050
+ }>;
1051
+ exposures: z.ZodArray<z.ZodObject<{
1052
+ id: z.ZodEffects<z.ZodString, string, string>;
1053
+ unit: z.ZodEffects<z.ZodString, string, string>;
1054
+ sourceMeaning: z.ZodEnum<["already-earned", "written-over-interval", "flow-over-interval", "point-in-time"]>;
1055
+ earning: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1056
+ kind: z.ZodLiteral<"supplied">;
1057
+ }, "strict", z.ZodTypeAny, {
1058
+ kind: "supplied";
1059
+ }, {
1060
+ kind: "supplied";
1061
+ }>, z.ZodObject<{
1062
+ kind: z.ZodLiteral<"uniform-daily">;
1063
+ dayCount: z.ZodLiteral<"actual-days">;
1064
+ }, "strict", z.ZodTypeAny, {
1065
+ kind: "uniform-daily";
1066
+ dayCount: "actual-days";
1067
+ }, {
1068
+ kind: "uniform-daily";
1069
+ dayCount: "actual-days";
1070
+ }>, z.ZodObject<{
1071
+ kind: z.ZodLiteral<"weighted">;
1072
+ scheduleId: z.ZodEffects<z.ZodString, string, string>;
1073
+ }, "strict", z.ZodTypeAny, {
1074
+ kind: "weighted";
1075
+ scheduleId: string;
1076
+ }, {
1077
+ kind: "weighted";
1078
+ scheduleId: string;
1079
+ }>]>;
1080
+ allocation: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1081
+ kind: z.ZodLiteral<"exact-match">;
1082
+ }, "strict", z.ZodTypeAny, {
1083
+ kind: "exact-match";
1084
+ }, {
1085
+ kind: "exact-match";
1086
+ }>, z.ZodObject<{
1087
+ kind: z.ZodLiteral<"time-overlap">;
1088
+ }, "strict", z.ZodTypeAny, {
1089
+ kind: "time-overlap";
1090
+ }, {
1091
+ kind: "time-overlap";
1092
+ }>, z.ZodObject<{
1093
+ kind: z.ZodLiteral<"supplied-weights">;
1094
+ weightMeasureId: z.ZodEffects<z.ZodString, string, string>;
1095
+ }, "strict", z.ZodTypeAny, {
1096
+ kind: "supplied-weights";
1097
+ weightMeasureId: string;
1098
+ }, {
1099
+ kind: "supplied-weights";
1100
+ weightMeasureId: string;
1101
+ }>]>;
1102
+ scopeId: z.ZodEffects<z.ZodString, string, string>;
1103
+ }, "strict", z.ZodTypeAny, {
1104
+ id: string;
1105
+ unit: string;
1106
+ allocation: {
1107
+ kind: "exact-match";
1108
+ } | {
1109
+ kind: "time-overlap";
1110
+ } | {
1111
+ kind: "supplied-weights";
1112
+ weightMeasureId: string;
1113
+ };
1114
+ sourceMeaning: "point-in-time" | "already-earned" | "written-over-interval" | "flow-over-interval";
1115
+ earning: {
1116
+ kind: "supplied";
1117
+ } | {
1118
+ kind: "uniform-daily";
1119
+ dayCount: "actual-days";
1120
+ } | {
1121
+ kind: "weighted";
1122
+ scheduleId: string;
1123
+ };
1124
+ scopeId: string;
1125
+ }, {
1126
+ id: string;
1127
+ unit: string;
1128
+ allocation: {
1129
+ kind: "exact-match";
1130
+ } | {
1131
+ kind: "time-overlap";
1132
+ } | {
1133
+ kind: "supplied-weights";
1134
+ weightMeasureId: string;
1135
+ };
1136
+ sourceMeaning: "point-in-time" | "already-earned" | "written-over-interval" | "flow-over-interval";
1137
+ earning: {
1138
+ kind: "supplied";
1139
+ } | {
1140
+ kind: "uniform-daily";
1141
+ dayCount: "actual-days";
1142
+ } | {
1143
+ kind: "weighted";
1144
+ scheduleId: string;
1145
+ };
1146
+ scopeId: string;
1147
+ }>, "many">;
1148
+ measures: z.ZodArray<z.ZodObject<{
1149
+ id: z.ZodEffects<z.ZodString, string, string>;
1150
+ unit: z.ZodEffects<z.ZodString, string, string>;
1151
+ developmentSemantics: z.ZodEnum<["cumulative", "incremental", "point-in-time"]>;
1152
+ statistic: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1153
+ kind: z.ZodLiteral<"sum">;
1154
+ measureId: z.ZodEffects<z.ZodString, string, string>;
1155
+ }, "strict", z.ZodTypeAny, {
1156
+ measureId: string;
1157
+ kind: "sum";
1158
+ }, {
1159
+ measureId: string;
1160
+ kind: "sum";
1161
+ }>, z.ZodObject<{
1162
+ kind: z.ZodLiteral<"ratio">;
1163
+ numeratorMeasureId: z.ZodEffects<z.ZodString, string, string>;
1164
+ denominatorMeasureId: z.ZodEffects<z.ZodString, string, string>;
1165
+ scale: z.ZodNumber;
1166
+ denominatorRule: z.ZodEnum<["positive", "nonzero"]>;
1167
+ }, "strict", z.ZodTypeAny, {
1168
+ kind: "ratio";
1169
+ numeratorMeasureId: string;
1170
+ denominatorMeasureId: string;
1171
+ scale: number;
1172
+ denominatorRule: "positive" | "nonzero";
1173
+ }, {
1174
+ kind: "ratio";
1175
+ numeratorMeasureId: string;
1176
+ denominatorMeasureId: string;
1177
+ scale: number;
1178
+ denominatorRule: "positive" | "nonzero";
1179
+ }>, z.ZodObject<{
1180
+ kind: z.ZodLiteral<"distinct-count">;
1181
+ entity: z.ZodEnum<["claim", "claimant", "occurrence", "policy", "coverage"]>;
1182
+ }, "strict", z.ZodTypeAny, {
1183
+ kind: "distinct-count";
1184
+ entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1185
+ }, {
1186
+ kind: "distinct-count";
1187
+ entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1188
+ }>, z.ZodObject<{
1189
+ kind: z.ZodLiteral<"weighted-mean">;
1190
+ measureId: z.ZodEffects<z.ZodString, string, string>;
1191
+ weightMeasureId: z.ZodEffects<z.ZodString, string, string>;
1192
+ }, "strict", z.ZodTypeAny, {
1193
+ measureId: string;
1194
+ kind: "weighted-mean";
1195
+ weightMeasureId: string;
1196
+ }, {
1197
+ measureId: string;
1198
+ kind: "weighted-mean";
1199
+ weightMeasureId: string;
1200
+ }>, z.ZodObject<{
1201
+ kind: z.ZodEnum<["minimum", "maximum"]>;
1202
+ measureId: z.ZodEffects<z.ZodString, string, string>;
1203
+ }, "strict", z.ZodTypeAny, {
1204
+ measureId: string;
1205
+ kind: "minimum" | "maximum";
1206
+ }, {
1207
+ measureId: string;
1208
+ kind: "minimum" | "maximum";
1209
+ }>, z.ZodObject<{
1210
+ kind: z.ZodLiteral<"quantile">;
1211
+ measureId: z.ZodEffects<z.ZodString, string, string>;
1212
+ probability: z.ZodNumber;
1213
+ method: z.ZodLiteral<"hf-type-7">;
1214
+ }, "strict", z.ZodTypeAny, {
1215
+ measureId: string;
1216
+ kind: "quantile";
1217
+ probability: number;
1218
+ method: "hf-type-7";
1219
+ }, {
1220
+ measureId: string;
1221
+ kind: "quantile";
1222
+ probability: number;
1223
+ method: "hf-type-7";
1224
+ }>, z.ZodObject<{
1225
+ kind: z.ZodLiteral<"duration">;
1226
+ start: z.ZodEnum<["accident-date", "report-date"]>;
1227
+ end: z.ZodEnum<["report-date", "closed-date", "evaluation-date"]>;
1228
+ unit: z.ZodLiteral<"days">;
1229
+ population: z.ZodEnum<["all-with-observed-endpoint", "closed-only"]>;
1230
+ }, "strict", z.ZodTypeAny, {
1231
+ kind: "duration";
1232
+ start: "accident-date" | "report-date";
1233
+ end: "report-date" | "closed-date" | "evaluation-date";
1234
+ unit: "days";
1235
+ population: "all-with-observed-endpoint" | "closed-only";
1236
+ }, {
1237
+ kind: "duration";
1238
+ start: "accident-date" | "report-date";
1239
+ end: "report-date" | "closed-date" | "evaluation-date";
1240
+ unit: "days";
1241
+ population: "all-with-observed-endpoint" | "closed-only";
1242
+ }>, z.ZodObject<{
1243
+ kind: z.ZodLiteral<"survival-quantile">;
1244
+ start: z.ZodEnum<["accident-date", "report-date"]>;
1245
+ event: z.ZodLiteral<"closed-date">;
1246
+ censor: z.ZodLiteral<"evaluation-date">;
1247
+ unit: z.ZodLiteral<"days">;
1248
+ probability: z.ZodNumber;
1249
+ method: z.ZodLiteral<"kaplan-meier-product-limit">;
1250
+ }, "strict", z.ZodTypeAny, {
1251
+ kind: "survival-quantile";
1252
+ probability: number;
1253
+ method: "kaplan-meier-product-limit";
1254
+ start: "accident-date" | "report-date";
1255
+ unit: "days";
1256
+ event: "closed-date";
1257
+ censor: "evaluation-date";
1258
+ }, {
1259
+ kind: "survival-quantile";
1260
+ probability: number;
1261
+ method: "kaplan-meier-product-limit";
1262
+ start: "accident-date" | "report-date";
1263
+ unit: "days";
1264
+ event: "closed-date";
1265
+ censor: "evaluation-date";
1266
+ }>]>;
1267
+ populationScopeId: z.ZodEffects<z.ZodString, string, string>;
1268
+ condition: z.ZodOptional<z.ZodType<AnalysisPredicate, z.ZodTypeDef, AnalysisPredicate>>;
1269
+ }, "strict", z.ZodTypeAny, {
1270
+ id: string;
1271
+ unit: string;
1272
+ developmentSemantics: "point-in-time" | "cumulative" | "incremental";
1273
+ statistic: {
1274
+ measureId: string;
1275
+ kind: "sum";
1276
+ } | {
1277
+ kind: "ratio";
1278
+ numeratorMeasureId: string;
1279
+ denominatorMeasureId: string;
1280
+ scale: number;
1281
+ denominatorRule: "positive" | "nonzero";
1282
+ } | {
1283
+ kind: "distinct-count";
1284
+ entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1285
+ } | {
1286
+ measureId: string;
1287
+ kind: "weighted-mean";
1288
+ weightMeasureId: string;
1289
+ } | {
1290
+ measureId: string;
1291
+ kind: "minimum" | "maximum";
1292
+ } | {
1293
+ measureId: string;
1294
+ kind: "quantile";
1295
+ probability: number;
1296
+ method: "hf-type-7";
1297
+ } | {
1298
+ kind: "duration";
1299
+ start: "accident-date" | "report-date";
1300
+ end: "report-date" | "closed-date" | "evaluation-date";
1301
+ unit: "days";
1302
+ population: "all-with-observed-endpoint" | "closed-only";
1303
+ } | {
1304
+ kind: "survival-quantile";
1305
+ probability: number;
1306
+ method: "kaplan-meier-product-limit";
1307
+ start: "accident-date" | "report-date";
1308
+ unit: "days";
1309
+ event: "closed-date";
1310
+ censor: "evaluation-date";
1311
+ };
1312
+ populationScopeId: string;
1313
+ condition?: AnalysisPredicate | undefined;
1314
+ }, {
1315
+ id: string;
1316
+ unit: string;
1317
+ developmentSemantics: "point-in-time" | "cumulative" | "incremental";
1318
+ statistic: {
1319
+ measureId: string;
1320
+ kind: "sum";
1321
+ } | {
1322
+ kind: "ratio";
1323
+ numeratorMeasureId: string;
1324
+ denominatorMeasureId: string;
1325
+ scale: number;
1326
+ denominatorRule: "positive" | "nonzero";
1327
+ } | {
1328
+ kind: "distinct-count";
1329
+ entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1330
+ } | {
1331
+ measureId: string;
1332
+ kind: "weighted-mean";
1333
+ weightMeasureId: string;
1334
+ } | {
1335
+ measureId: string;
1336
+ kind: "minimum" | "maximum";
1337
+ } | {
1338
+ measureId: string;
1339
+ kind: "quantile";
1340
+ probability: number;
1341
+ method: "hf-type-7";
1342
+ } | {
1343
+ kind: "duration";
1344
+ start: "accident-date" | "report-date";
1345
+ end: "report-date" | "closed-date" | "evaluation-date";
1346
+ unit: "days";
1347
+ population: "all-with-observed-endpoint" | "closed-only";
1348
+ } | {
1349
+ kind: "survival-quantile";
1350
+ probability: number;
1351
+ method: "kaplan-meier-product-limit";
1352
+ start: "accident-date" | "report-date";
1353
+ unit: "days";
1354
+ event: "closed-date";
1355
+ censor: "evaluation-date";
1356
+ };
1357
+ populationScopeId: string;
1358
+ condition?: AnalysisPredicate | undefined;
1359
+ }>, "many">;
1360
+ financialTerms: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1361
+ kind: z.ZodEnum<["claim-layer", "occurrence-layer"]>;
1362
+ id: z.ZodEffects<z.ZodString, string, string>;
1363
+ measureId: z.ZodEffects<z.ZodString, string, string>;
1364
+ attachment: z.ZodNumber;
1365
+ limit: z.ZodNullable<z.ZodNumber>;
1366
+ allocation: z.ZodLiteral<"proportional">;
1367
+ }, "strict", z.ZodTypeAny, {
1368
+ measureId: string;
1369
+ kind: "claim-layer" | "occurrence-layer";
1370
+ id: string;
1371
+ attachment: number;
1372
+ limit: number | null;
1373
+ allocation: "proportional";
1374
+ }, {
1375
+ measureId: string;
1376
+ kind: "claim-layer" | "occurrence-layer";
1377
+ id: string;
1378
+ attachment: number;
1379
+ limit: number | null;
1380
+ allocation: "proportional";
1381
+ }>, z.ZodObject<{
1382
+ kind: z.ZodLiteral<"policy-aggregate">;
1383
+ id: z.ZodEffects<z.ZodString, string, string>;
1384
+ measureId: z.ZodEffects<z.ZodString, string, string>;
1385
+ deductible: z.ZodNumber;
1386
+ limit: z.ZodNullable<z.ZodNumber>;
1387
+ allocation: z.ZodEnum<["proportional", "chronological"]>;
1388
+ }, "strict", z.ZodTypeAny, {
1389
+ measureId: string;
1390
+ kind: "policy-aggregate";
1391
+ id: string;
1392
+ limit: number | null;
1393
+ allocation: "proportional" | "chronological";
1394
+ deductible: number;
1395
+ }, {
1396
+ measureId: string;
1397
+ kind: "policy-aggregate";
1398
+ id: string;
1399
+ limit: number | null;
1400
+ allocation: "proportional" | "chronological";
1401
+ deductible: number;
1402
+ }>]>, "many">;
1403
+ financialAdjustments: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
1404
+ kind: z.ZodLiteral<"scale">;
1405
+ id: z.ZodEffects<z.ZodString, string, string>;
1406
+ purpose: z.ZodEnum<["trend", "index"]>;
1407
+ factor: z.ZodNumber;
1408
+ }, "strict", z.ZodTypeAny, {
1409
+ kind: "scale";
1410
+ id: string;
1411
+ purpose: "trend" | "index";
1412
+ factor: number;
1413
+ }, {
1414
+ kind: "scale";
1415
+ id: string;
1416
+ purpose: "trend" | "index";
1417
+ factor: number;
1418
+ }>, z.ZodObject<{
1419
+ kind: z.ZodLiteral<"currency">;
1420
+ id: z.ZodEffects<z.ZodString, string, string>;
1421
+ fromUnit: z.ZodEffects<z.ZodString, string, string>;
1422
+ toUnit: z.ZodEffects<z.ZodString, string, string>;
1423
+ rate: z.ZodNumber;
1424
+ rateDate: z.ZodEffects<z.ZodString, string, string>;
1425
+ }, "strict", z.ZodTypeAny, {
1426
+ kind: "currency";
1427
+ id: string;
1428
+ fromUnit: string;
1429
+ toUnit: string;
1430
+ rate: number;
1431
+ rateDate: string;
1432
+ }, {
1433
+ kind: "currency";
1434
+ id: string;
1435
+ fromUnit: string;
1436
+ toUnit: string;
1437
+ rate: number;
1438
+ rateDate: string;
1439
+ }>, z.ZodObject<{
1440
+ kind: z.ZodEnum<["include-expense", "exclude-expense"]>;
1441
+ id: z.ZodEffects<z.ZodString, string, string>;
1442
+ expenseMeasureId: z.ZodEffects<z.ZodString, string, string>;
1443
+ }, "strict", z.ZodTypeAny, {
1444
+ kind: "include-expense" | "exclude-expense";
1445
+ id: string;
1446
+ expenseMeasureId: string;
1447
+ }, {
1448
+ kind: "include-expense" | "exclude-expense";
1449
+ id: string;
1450
+ expenseMeasureId: string;
1451
+ }>, z.ZodObject<{
1452
+ kind: z.ZodLiteral<"net-recovery">;
1453
+ id: z.ZodEffects<z.ZodString, string, string>;
1454
+ recoveryMeasureId: z.ZodEffects<z.ZodString, string, string>;
1455
+ }, "strict", z.ZodTypeAny, {
1456
+ kind: "net-recovery";
1457
+ id: string;
1458
+ recoveryMeasureId: string;
1459
+ }, {
1460
+ kind: "net-recovery";
1461
+ id: string;
1462
+ recoveryMeasureId: string;
1463
+ }>]>, "many">>;
1464
+ }, "strict", z.ZodTypeAny, {
1465
+ id: string;
1466
+ dimensions: {
1467
+ type: "string" | "number" | "boolean" | "date" | "entity-reference";
1468
+ id: string;
1469
+ multiple: boolean;
1470
+ }[];
1471
+ measures: {
1472
+ id: string;
1473
+ unit: string;
1474
+ developmentSemantics: "point-in-time" | "cumulative" | "incremental";
1475
+ statistic: {
1476
+ measureId: string;
1477
+ kind: "sum";
1478
+ } | {
1479
+ kind: "ratio";
1480
+ numeratorMeasureId: string;
1481
+ denominatorMeasureId: string;
1482
+ scale: number;
1483
+ denominatorRule: "positive" | "nonzero";
1484
+ } | {
1485
+ kind: "distinct-count";
1486
+ entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1487
+ } | {
1488
+ measureId: string;
1489
+ kind: "weighted-mean";
1490
+ weightMeasureId: string;
1491
+ } | {
1492
+ measureId: string;
1493
+ kind: "minimum" | "maximum";
1494
+ } | {
1495
+ measureId: string;
1496
+ kind: "quantile";
1497
+ probability: number;
1498
+ method: "hf-type-7";
1499
+ } | {
1500
+ kind: "duration";
1501
+ start: "accident-date" | "report-date";
1502
+ end: "report-date" | "closed-date" | "evaluation-date";
1503
+ unit: "days";
1504
+ population: "all-with-observed-endpoint" | "closed-only";
1505
+ } | {
1506
+ kind: "survival-quantile";
1507
+ probability: number;
1508
+ method: "kaplan-meier-product-limit";
1509
+ start: "accident-date" | "report-date";
1510
+ unit: "days";
1511
+ event: "closed-date";
1512
+ censor: "evaluation-date";
1513
+ };
1514
+ populationScopeId: string;
1515
+ condition?: AnalysisPredicate | undefined;
1516
+ }[];
1517
+ analysisContractVersion: "actuarial-analysis/1";
1518
+ version: string;
1519
+ scopes: {
1520
+ financial: {
1521
+ id: string;
1522
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1523
+ predicate: AnalysisPredicate;
1524
+ classification: {
1525
+ kind: "as-observed";
1526
+ } | {
1527
+ kind: "latest-as-of-analysis";
1528
+ asOfDate: string;
1529
+ } | {
1530
+ kind: "frozen-cohort";
1531
+ asOfDate: string;
1532
+ };
1533
+ };
1534
+ reporting: {
1535
+ id: string;
1536
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1537
+ predicate: AnalysisPredicate;
1538
+ classification: {
1539
+ kind: "as-observed";
1540
+ } | {
1541
+ kind: "latest-as-of-analysis";
1542
+ asOfDate: string;
1543
+ } | {
1544
+ kind: "frozen-cohort";
1545
+ asOfDate: string;
1546
+ };
1547
+ };
1548
+ exposure: {
1549
+ id: string;
1550
+ populationKeys: string[];
1551
+ timeBasis: "interval" | "point-in-time" | "already-earned";
1552
+ reportingFilterEffect: "none" | "matching-exposure-dimensions";
1553
+ valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
1554
+ }[];
1555
+ };
1556
+ policySchedule: {
1557
+ id: string;
1558
+ startDate: string;
1559
+ endDate: string;
1560
+ revisionId: string;
1561
+ label: string;
1562
+ scope: Record<string, string | number | boolean | null>;
1563
+ }[];
1564
+ period: {
1565
+ originBasis: "policy" | "accident" | "report";
1566
+ grouping: {
1567
+ kind: "calendar";
1568
+ cadence: "year" | "month" | "quarter";
1569
+ } | {
1570
+ kind: "fiscal";
1571
+ cadence: "year" | "quarter";
1572
+ startMonth: number;
1573
+ } | {
1574
+ kind: "policy-schedule";
1575
+ periodIds: string[];
1576
+ };
1577
+ comparisonClock: "common-evaluation-date" | "since-period-start" | "since-period-end" | "matched-accident-cohorts";
1578
+ ageConvention: "exact-days" | "calendar-months";
1579
+ observationSelection: "exact" | "latest-on-or-before";
1580
+ };
1581
+ exposures: {
1582
+ id: string;
1583
+ unit: string;
1584
+ allocation: {
1585
+ kind: "exact-match";
1586
+ } | {
1587
+ kind: "time-overlap";
1588
+ } | {
1589
+ kind: "supplied-weights";
1590
+ weightMeasureId: string;
1591
+ };
1592
+ sourceMeaning: "point-in-time" | "already-earned" | "written-over-interval" | "flow-over-interval";
1593
+ earning: {
1594
+ kind: "supplied";
1595
+ } | {
1596
+ kind: "uniform-daily";
1597
+ dayCount: "actual-days";
1598
+ } | {
1599
+ kind: "weighted";
1600
+ scheduleId: string;
1601
+ };
1602
+ scopeId: string;
1603
+ }[];
1604
+ financialTerms: ({
1605
+ measureId: string;
1606
+ kind: "claim-layer" | "occurrence-layer";
1607
+ id: string;
1608
+ attachment: number;
1609
+ limit: number | null;
1610
+ allocation: "proportional";
1611
+ } | {
1612
+ measureId: string;
1613
+ kind: "policy-aggregate";
1614
+ id: string;
1615
+ limit: number | null;
1616
+ allocation: "proportional" | "chronological";
1617
+ deductible: number;
1618
+ })[];
1619
+ financialAdjustments?: ({
1620
+ kind: "scale";
1621
+ id: string;
1622
+ purpose: "trend" | "index";
1623
+ factor: number;
1624
+ } | {
1625
+ kind: "currency";
1626
+ id: string;
1627
+ fromUnit: string;
1628
+ toUnit: string;
1629
+ rate: number;
1630
+ rateDate: string;
1631
+ } | {
1632
+ kind: "include-expense" | "exclude-expense";
1633
+ id: string;
1634
+ expenseMeasureId: string;
1635
+ } | {
1636
+ kind: "net-recovery";
1637
+ id: string;
1638
+ recoveryMeasureId: string;
1639
+ })[] | undefined;
1640
+ }, {
1641
+ id: string;
1642
+ dimensions: {
1643
+ type: "string" | "number" | "boolean" | "date" | "entity-reference";
1644
+ id: string;
1645
+ multiple: boolean;
1646
+ }[];
1647
+ measures: {
1648
+ id: string;
1649
+ unit: string;
1650
+ developmentSemantics: "point-in-time" | "cumulative" | "incremental";
1651
+ statistic: {
1652
+ measureId: string;
1653
+ kind: "sum";
1654
+ } | {
1655
+ kind: "ratio";
1656
+ numeratorMeasureId: string;
1657
+ denominatorMeasureId: string;
1658
+ scale: number;
1659
+ denominatorRule: "positive" | "nonzero";
1660
+ } | {
1661
+ kind: "distinct-count";
1662
+ entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1663
+ } | {
1664
+ measureId: string;
1665
+ kind: "weighted-mean";
1666
+ weightMeasureId: string;
1667
+ } | {
1668
+ measureId: string;
1669
+ kind: "minimum" | "maximum";
1670
+ } | {
1671
+ measureId: string;
1672
+ kind: "quantile";
1673
+ probability: number;
1674
+ method: "hf-type-7";
1675
+ } | {
1676
+ kind: "duration";
1677
+ start: "accident-date" | "report-date";
1678
+ end: "report-date" | "closed-date" | "evaluation-date";
1679
+ unit: "days";
1680
+ population: "all-with-observed-endpoint" | "closed-only";
1681
+ } | {
1682
+ kind: "survival-quantile";
1683
+ probability: number;
1684
+ method: "kaplan-meier-product-limit";
1685
+ start: "accident-date" | "report-date";
1686
+ unit: "days";
1687
+ event: "closed-date";
1688
+ censor: "evaluation-date";
1689
+ };
1690
+ populationScopeId: string;
1691
+ condition?: AnalysisPredicate | undefined;
1692
+ }[];
1693
+ analysisContractVersion: "actuarial-analysis/1";
1694
+ version: string;
1695
+ scopes: {
1696
+ financial: {
1697
+ id: string;
1698
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1699
+ predicate: AnalysisPredicate;
1700
+ classification: {
1701
+ kind: "as-observed";
1702
+ } | {
1703
+ kind: "latest-as-of-analysis";
1704
+ asOfDate: string;
1705
+ } | {
1706
+ kind: "frozen-cohort";
1707
+ asOfDate: string;
1708
+ };
1709
+ };
1710
+ reporting: {
1711
+ id: string;
1712
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1713
+ predicate: AnalysisPredicate;
1714
+ classification: {
1715
+ kind: "as-observed";
1716
+ } | {
1717
+ kind: "latest-as-of-analysis";
1718
+ asOfDate: string;
1719
+ } | {
1720
+ kind: "frozen-cohort";
1721
+ asOfDate: string;
1722
+ };
1723
+ };
1724
+ exposure: {
1725
+ id: string;
1726
+ populationKeys: string[];
1727
+ timeBasis: "interval" | "point-in-time" | "already-earned";
1728
+ reportingFilterEffect: "none" | "matching-exposure-dimensions";
1729
+ valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
1730
+ }[];
1731
+ };
1732
+ policySchedule: {
1733
+ id: string;
1734
+ startDate: string;
1735
+ endDate: string;
1736
+ revisionId: string;
1737
+ label: string;
1738
+ scope: Record<string, string | number | boolean | null>;
1739
+ }[];
1740
+ period: {
1741
+ originBasis: "policy" | "accident" | "report";
1742
+ grouping: {
1743
+ kind: "calendar";
1744
+ cadence: "year" | "month" | "quarter";
1745
+ } | {
1746
+ kind: "fiscal";
1747
+ cadence: "year" | "quarter";
1748
+ startMonth: number;
1749
+ } | {
1750
+ kind: "policy-schedule";
1751
+ periodIds: string[];
1752
+ };
1753
+ comparisonClock: "common-evaluation-date" | "since-period-start" | "since-period-end" | "matched-accident-cohorts";
1754
+ ageConvention: "exact-days" | "calendar-months";
1755
+ observationSelection: "exact" | "latest-on-or-before";
1756
+ };
1757
+ exposures: {
1758
+ id: string;
1759
+ unit: string;
1760
+ allocation: {
1761
+ kind: "exact-match";
1762
+ } | {
1763
+ kind: "time-overlap";
1764
+ } | {
1765
+ kind: "supplied-weights";
1766
+ weightMeasureId: string;
1767
+ };
1768
+ sourceMeaning: "point-in-time" | "already-earned" | "written-over-interval" | "flow-over-interval";
1769
+ earning: {
1770
+ kind: "supplied";
1771
+ } | {
1772
+ kind: "uniform-daily";
1773
+ dayCount: "actual-days";
1774
+ } | {
1775
+ kind: "weighted";
1776
+ scheduleId: string;
1777
+ };
1778
+ scopeId: string;
1779
+ }[];
1780
+ financialTerms: ({
1781
+ measureId: string;
1782
+ kind: "claim-layer" | "occurrence-layer";
1783
+ id: string;
1784
+ attachment: number;
1785
+ limit: number | null;
1786
+ allocation: "proportional";
1787
+ } | {
1788
+ measureId: string;
1789
+ kind: "policy-aggregate";
1790
+ id: string;
1791
+ limit: number | null;
1792
+ allocation: "proportional" | "chronological";
1793
+ deductible: number;
1794
+ })[];
1795
+ financialAdjustments?: ({
1796
+ kind: "scale";
1797
+ id: string;
1798
+ purpose: "trend" | "index";
1799
+ factor: number;
1800
+ } | {
1801
+ kind: "currency";
1802
+ id: string;
1803
+ fromUnit: string;
1804
+ toUnit: string;
1805
+ rate: number;
1806
+ rateDate: string;
1807
+ } | {
1808
+ kind: "include-expense" | "exclude-expense";
1809
+ id: string;
1810
+ expenseMeasureId: string;
1811
+ } | {
1812
+ kind: "net-recovery";
1813
+ id: string;
1814
+ recoveryMeasureId: string;
1815
+ })[] | undefined;
1816
+ }>, {
1817
+ id: string;
1818
+ dimensions: {
1819
+ type: "string" | "number" | "boolean" | "date" | "entity-reference";
1820
+ id: string;
1821
+ multiple: boolean;
1822
+ }[];
1823
+ measures: {
1824
+ id: string;
1825
+ unit: string;
1826
+ developmentSemantics: "point-in-time" | "cumulative" | "incremental";
1827
+ statistic: {
1828
+ measureId: string;
1829
+ kind: "sum";
1830
+ } | {
1831
+ kind: "ratio";
1832
+ numeratorMeasureId: string;
1833
+ denominatorMeasureId: string;
1834
+ scale: number;
1835
+ denominatorRule: "positive" | "nonzero";
1836
+ } | {
1837
+ kind: "distinct-count";
1838
+ entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1839
+ } | {
1840
+ measureId: string;
1841
+ kind: "weighted-mean";
1842
+ weightMeasureId: string;
1843
+ } | {
1844
+ measureId: string;
1845
+ kind: "minimum" | "maximum";
1846
+ } | {
1847
+ measureId: string;
1848
+ kind: "quantile";
1849
+ probability: number;
1850
+ method: "hf-type-7";
1851
+ } | {
1852
+ kind: "duration";
1853
+ start: "accident-date" | "report-date";
1854
+ end: "report-date" | "closed-date" | "evaluation-date";
1855
+ unit: "days";
1856
+ population: "all-with-observed-endpoint" | "closed-only";
1857
+ } | {
1858
+ kind: "survival-quantile";
1859
+ probability: number;
1860
+ method: "kaplan-meier-product-limit";
1861
+ start: "accident-date" | "report-date";
1862
+ unit: "days";
1863
+ event: "closed-date";
1864
+ censor: "evaluation-date";
1865
+ };
1866
+ populationScopeId: string;
1867
+ condition?: AnalysisPredicate | undefined;
1868
+ }[];
1869
+ analysisContractVersion: "actuarial-analysis/1";
1870
+ version: string;
1871
+ scopes: {
1872
+ financial: {
1873
+ id: string;
1874
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1875
+ predicate: AnalysisPredicate;
1876
+ classification: {
1877
+ kind: "as-observed";
1878
+ } | {
1879
+ kind: "latest-as-of-analysis";
1880
+ asOfDate: string;
1881
+ } | {
1882
+ kind: "frozen-cohort";
1883
+ asOfDate: string;
1884
+ };
1885
+ };
1886
+ reporting: {
1887
+ id: string;
1888
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
1889
+ predicate: AnalysisPredicate;
1890
+ classification: {
1891
+ kind: "as-observed";
1892
+ } | {
1893
+ kind: "latest-as-of-analysis";
1894
+ asOfDate: string;
1895
+ } | {
1896
+ kind: "frozen-cohort";
1897
+ asOfDate: string;
1898
+ };
1899
+ };
1900
+ exposure: {
1901
+ id: string;
1902
+ populationKeys: string[];
1903
+ timeBasis: "interval" | "point-in-time" | "already-earned";
1904
+ reportingFilterEffect: "none" | "matching-exposure-dimensions";
1905
+ valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
1906
+ }[];
1907
+ };
1908
+ policySchedule: {
1909
+ id: string;
1910
+ startDate: string;
1911
+ endDate: string;
1912
+ revisionId: string;
1913
+ label: string;
1914
+ scope: Record<string, string | number | boolean | null>;
1915
+ }[];
1916
+ period: {
1917
+ originBasis: "policy" | "accident" | "report";
1918
+ grouping: {
1919
+ kind: "calendar";
1920
+ cadence: "year" | "month" | "quarter";
1921
+ } | {
1922
+ kind: "fiscal";
1923
+ cadence: "year" | "quarter";
1924
+ startMonth: number;
1925
+ } | {
1926
+ kind: "policy-schedule";
1927
+ periodIds: string[];
1928
+ };
1929
+ comparisonClock: "common-evaluation-date" | "since-period-start" | "since-period-end" | "matched-accident-cohorts";
1930
+ ageConvention: "exact-days" | "calendar-months";
1931
+ observationSelection: "exact" | "latest-on-or-before";
1932
+ };
1933
+ exposures: {
1934
+ id: string;
1935
+ unit: string;
1936
+ allocation: {
1937
+ kind: "exact-match";
1938
+ } | {
1939
+ kind: "time-overlap";
1940
+ } | {
1941
+ kind: "supplied-weights";
1942
+ weightMeasureId: string;
1943
+ };
1944
+ sourceMeaning: "point-in-time" | "already-earned" | "written-over-interval" | "flow-over-interval";
1945
+ earning: {
1946
+ kind: "supplied";
1947
+ } | {
1948
+ kind: "uniform-daily";
1949
+ dayCount: "actual-days";
1950
+ } | {
1951
+ kind: "weighted";
1952
+ scheduleId: string;
1953
+ };
1954
+ scopeId: string;
1955
+ }[];
1956
+ financialTerms: ({
1957
+ measureId: string;
1958
+ kind: "claim-layer" | "occurrence-layer";
1959
+ id: string;
1960
+ attachment: number;
1961
+ limit: number | null;
1962
+ allocation: "proportional";
1963
+ } | {
1964
+ measureId: string;
1965
+ kind: "policy-aggregate";
1966
+ id: string;
1967
+ limit: number | null;
1968
+ allocation: "proportional" | "chronological";
1969
+ deductible: number;
1970
+ })[];
1971
+ financialAdjustments?: ({
1972
+ kind: "scale";
1973
+ id: string;
1974
+ purpose: "trend" | "index";
1975
+ factor: number;
1976
+ } | {
1977
+ kind: "currency";
1978
+ id: string;
1979
+ fromUnit: string;
1980
+ toUnit: string;
1981
+ rate: number;
1982
+ rateDate: string;
1983
+ } | {
1984
+ kind: "include-expense" | "exclude-expense";
1985
+ id: string;
1986
+ expenseMeasureId: string;
1987
+ } | {
1988
+ kind: "net-recovery";
1989
+ id: string;
1990
+ recoveryMeasureId: string;
1991
+ })[] | undefined;
1992
+ }, {
1993
+ id: string;
1994
+ dimensions: {
1995
+ type: "string" | "number" | "boolean" | "date" | "entity-reference";
1996
+ id: string;
1997
+ multiple: boolean;
1998
+ }[];
1999
+ measures: {
2000
+ id: string;
2001
+ unit: string;
2002
+ developmentSemantics: "point-in-time" | "cumulative" | "incremental";
2003
+ statistic: {
2004
+ measureId: string;
2005
+ kind: "sum";
2006
+ } | {
2007
+ kind: "ratio";
2008
+ numeratorMeasureId: string;
2009
+ denominatorMeasureId: string;
2010
+ scale: number;
2011
+ denominatorRule: "positive" | "nonzero";
2012
+ } | {
2013
+ kind: "distinct-count";
2014
+ entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
2015
+ } | {
2016
+ measureId: string;
2017
+ kind: "weighted-mean";
2018
+ weightMeasureId: string;
2019
+ } | {
2020
+ measureId: string;
2021
+ kind: "minimum" | "maximum";
2022
+ } | {
2023
+ measureId: string;
2024
+ kind: "quantile";
2025
+ probability: number;
2026
+ method: "hf-type-7";
2027
+ } | {
2028
+ kind: "duration";
2029
+ start: "accident-date" | "report-date";
2030
+ end: "report-date" | "closed-date" | "evaluation-date";
2031
+ unit: "days";
2032
+ population: "all-with-observed-endpoint" | "closed-only";
2033
+ } | {
2034
+ kind: "survival-quantile";
2035
+ probability: number;
2036
+ method: "kaplan-meier-product-limit";
2037
+ start: "accident-date" | "report-date";
2038
+ unit: "days";
2039
+ event: "closed-date";
2040
+ censor: "evaluation-date";
2041
+ };
2042
+ populationScopeId: string;
2043
+ condition?: AnalysisPredicate | undefined;
2044
+ }[];
2045
+ analysisContractVersion: "actuarial-analysis/1";
2046
+ version: string;
2047
+ scopes: {
2048
+ financial: {
2049
+ id: string;
2050
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
2051
+ predicate: AnalysisPredicate;
2052
+ classification: {
2053
+ kind: "as-observed";
2054
+ } | {
2055
+ kind: "latest-as-of-analysis";
2056
+ asOfDate: string;
2057
+ } | {
2058
+ kind: "frozen-cohort";
2059
+ asOfDate: string;
2060
+ };
2061
+ };
2062
+ reporting: {
2063
+ id: string;
2064
+ subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
2065
+ predicate: AnalysisPredicate;
2066
+ classification: {
2067
+ kind: "as-observed";
2068
+ } | {
2069
+ kind: "latest-as-of-analysis";
2070
+ asOfDate: string;
2071
+ } | {
2072
+ kind: "frozen-cohort";
2073
+ asOfDate: string;
2074
+ };
2075
+ };
2076
+ exposure: {
2077
+ id: string;
2078
+ populationKeys: string[];
2079
+ timeBasis: "interval" | "point-in-time" | "already-earned";
2080
+ reportingFilterEffect: "none" | "matching-exposure-dimensions";
2081
+ valuationSelection?: "exact" | "origin-static" | "latest-on-or-before" | undefined;
2082
+ }[];
2083
+ };
2084
+ policySchedule: {
2085
+ id: string;
2086
+ startDate: string;
2087
+ endDate: string;
2088
+ revisionId: string;
2089
+ label: string;
2090
+ scope: Record<string, string | number | boolean | null>;
2091
+ }[];
2092
+ period: {
2093
+ originBasis: "policy" | "accident" | "report";
2094
+ grouping: {
2095
+ kind: "calendar";
2096
+ cadence: "year" | "month" | "quarter";
2097
+ } | {
2098
+ kind: "fiscal";
2099
+ cadence: "year" | "quarter";
2100
+ startMonth: number;
2101
+ } | {
2102
+ kind: "policy-schedule";
2103
+ periodIds: string[];
2104
+ };
2105
+ comparisonClock: "common-evaluation-date" | "since-period-start" | "since-period-end" | "matched-accident-cohorts";
2106
+ ageConvention: "exact-days" | "calendar-months";
2107
+ observationSelection: "exact" | "latest-on-or-before";
2108
+ };
2109
+ exposures: {
2110
+ id: string;
2111
+ unit: string;
2112
+ allocation: {
2113
+ kind: "exact-match";
2114
+ } | {
2115
+ kind: "time-overlap";
2116
+ } | {
2117
+ kind: "supplied-weights";
2118
+ weightMeasureId: string;
2119
+ };
2120
+ sourceMeaning: "point-in-time" | "already-earned" | "written-over-interval" | "flow-over-interval";
2121
+ earning: {
2122
+ kind: "supplied";
2123
+ } | {
2124
+ kind: "uniform-daily";
2125
+ dayCount: "actual-days";
2126
+ } | {
2127
+ kind: "weighted";
2128
+ scheduleId: string;
2129
+ };
2130
+ scopeId: string;
2131
+ }[];
2132
+ financialTerms: ({
2133
+ measureId: string;
2134
+ kind: "claim-layer" | "occurrence-layer";
2135
+ id: string;
2136
+ attachment: number;
2137
+ limit: number | null;
2138
+ allocation: "proportional";
2139
+ } | {
2140
+ measureId: string;
2141
+ kind: "policy-aggregate";
2142
+ id: string;
2143
+ limit: number | null;
2144
+ allocation: "proportional" | "chronological";
2145
+ deductible: number;
2146
+ })[];
2147
+ financialAdjustments?: ({
2148
+ kind: "scale";
2149
+ id: string;
2150
+ purpose: "trend" | "index";
2151
+ factor: number;
2152
+ } | {
2153
+ kind: "currency";
2154
+ id: string;
2155
+ fromUnit: string;
2156
+ toUnit: string;
2157
+ rate: number;
2158
+ rateDate: string;
2159
+ } | {
2160
+ kind: "include-expense" | "exclude-expense";
2161
+ id: string;
2162
+ expenseMeasureId: string;
2163
+ } | {
2164
+ kind: "net-recovery";
2165
+ id: string;
2166
+ recoveryMeasureId: string;
2167
+ })[] | undefined;
2168
+ }>;
2169
+ export declare const analysisRecipeSchema: z.ZodEffects<z.ZodObject<{
2170
+ recipeContractVersion: z.ZodLiteral<"actuarial-recipe/1">;
2171
+ id: z.ZodEffects<z.ZodString, string, string>;
2172
+ version: z.ZodEffects<z.ZodString, string, string>;
2173
+ analysisDefinitionId: z.ZodEffects<z.ZodString, string, string>;
2174
+ steps: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2175
+ kind: z.ZodLiteral<"prepare-history">;
2176
+ historyContractId: z.ZodEffects<z.ZodString, string, string>;
2177
+ }, "strict", z.ZodTypeAny, {
2178
+ kind: "prepare-history";
2179
+ historyContractId: string;
2180
+ }, {
2181
+ kind: "prepare-history";
2182
+ historyContractId: string;
2183
+ }>, z.ZodObject<{
2184
+ kind: z.ZodLiteral<"assign-periods">;
2185
+ analysisDefinitionId: z.ZodEffects<z.ZodString, string, string>;
2186
+ }, "strict", z.ZodTypeAny, {
2187
+ kind: "assign-periods";
2188
+ analysisDefinitionId: string;
2189
+ }, {
2190
+ kind: "assign-periods";
2191
+ analysisDefinitionId: string;
2192
+ }>, z.ZodObject<{
2193
+ kind: z.ZodLiteral<"earn-exposure">;
2194
+ exposureMeasureIds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
2195
+ }, "strict", z.ZodTypeAny, {
2196
+ kind: "earn-exposure";
2197
+ exposureMeasureIds: string[];
2198
+ }, {
2199
+ kind: "earn-exposure";
2200
+ exposureMeasureIds: string[];
2201
+ }>, z.ZodObject<{
2202
+ kind: z.ZodLiteral<"apply-financial-terms">;
2203
+ termIds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
2204
+ }, "strict", z.ZodTypeAny, {
2205
+ kind: "apply-financial-terms";
2206
+ termIds: string[];
2207
+ }, {
2208
+ kind: "apply-financial-terms";
2209
+ termIds: string[];
2210
+ }>, z.ZodObject<{
2211
+ kind: z.ZodLiteral<"apply-financial-pipeline">;
2212
+ amountMeasureId: z.ZodEffects<z.ZodString, string, string>;
2213
+ stageIds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
2214
+ }, "strict", z.ZodTypeAny, {
2215
+ kind: "apply-financial-pipeline";
2216
+ amountMeasureId: string;
2217
+ stageIds: string[];
2218
+ }, {
2219
+ kind: "apply-financial-pipeline";
2220
+ amountMeasureId: string;
2221
+ stageIds: string[];
2222
+ }>, z.ZodObject<{
2223
+ kind: z.ZodLiteral<"calculate">;
2224
+ measureIds: z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">;
2225
+ }, "strict", z.ZodTypeAny, {
2226
+ kind: "calculate";
2227
+ measureIds: string[];
2228
+ }, {
2229
+ kind: "calculate";
2230
+ measureIds: string[];
2231
+ }>, z.ZodObject<{
2232
+ kind: z.ZodLiteral<"adapt-diagnostics">;
2233
+ diagnosticDefinitionId: z.ZodEffects<z.ZodString, string, string>;
2234
+ }, "strict", z.ZodTypeAny, {
2235
+ kind: "adapt-diagnostics";
2236
+ diagnosticDefinitionId: string;
2237
+ }, {
2238
+ kind: "adapt-diagnostics";
2239
+ diagnosticDefinitionId: string;
2240
+ }>]>, "many">;
2241
+ requiredCapabilities: z.ZodArray<z.ZodEnum<["history-snapshots", "history-changes", "irregular-periods", "exposure-earning", "typed-populations", "descriptive-statistics", "reserving-triangle-adapter", "bounded-execution", "shared-financial-terms", "recipes", "scenarios"]>, "many">;
2242
+ parameters: z.ZodRecord<z.ZodEffects<z.ZodString, string, string>, z.ZodType<JsonValue, z.ZodTypeDef, JsonValue>>;
2243
+ }, "strict", z.ZodTypeAny, {
2244
+ id: string;
2245
+ version: string;
2246
+ analysisDefinitionId: string;
2247
+ recipeContractVersion: "actuarial-recipe/1";
2248
+ steps: ({
2249
+ kind: "prepare-history";
2250
+ historyContractId: string;
2251
+ } | {
2252
+ kind: "assign-periods";
2253
+ analysisDefinitionId: string;
2254
+ } | {
2255
+ kind: "earn-exposure";
2256
+ exposureMeasureIds: string[];
2257
+ } | {
2258
+ kind: "apply-financial-terms";
2259
+ termIds: string[];
2260
+ } | {
2261
+ kind: "apply-financial-pipeline";
2262
+ amountMeasureId: string;
2263
+ stageIds: string[];
2264
+ } | {
2265
+ kind: "calculate";
2266
+ measureIds: string[];
2267
+ } | {
2268
+ kind: "adapt-diagnostics";
2269
+ diagnosticDefinitionId: string;
2270
+ })[];
2271
+ requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
2272
+ parameters: Record<string, JsonValue>;
2273
+ }, {
2274
+ id: string;
2275
+ version: string;
2276
+ analysisDefinitionId: string;
2277
+ recipeContractVersion: "actuarial-recipe/1";
2278
+ steps: ({
2279
+ kind: "prepare-history";
2280
+ historyContractId: string;
2281
+ } | {
2282
+ kind: "assign-periods";
2283
+ analysisDefinitionId: string;
2284
+ } | {
2285
+ kind: "earn-exposure";
2286
+ exposureMeasureIds: string[];
2287
+ } | {
2288
+ kind: "apply-financial-terms";
2289
+ termIds: string[];
2290
+ } | {
2291
+ kind: "apply-financial-pipeline";
2292
+ amountMeasureId: string;
2293
+ stageIds: string[];
2294
+ } | {
2295
+ kind: "calculate";
2296
+ measureIds: string[];
2297
+ } | {
2298
+ kind: "adapt-diagnostics";
2299
+ diagnosticDefinitionId: string;
2300
+ })[];
2301
+ requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
2302
+ parameters: Record<string, JsonValue>;
2303
+ }>, {
2304
+ id: string;
2305
+ version: string;
2306
+ analysisDefinitionId: string;
2307
+ recipeContractVersion: "actuarial-recipe/1";
2308
+ steps: ({
2309
+ kind: "prepare-history";
2310
+ historyContractId: string;
2311
+ } | {
2312
+ kind: "assign-periods";
2313
+ analysisDefinitionId: string;
2314
+ } | {
2315
+ kind: "earn-exposure";
2316
+ exposureMeasureIds: string[];
2317
+ } | {
2318
+ kind: "apply-financial-terms";
2319
+ termIds: string[];
2320
+ } | {
2321
+ kind: "apply-financial-pipeline";
2322
+ amountMeasureId: string;
2323
+ stageIds: string[];
2324
+ } | {
2325
+ kind: "calculate";
2326
+ measureIds: string[];
2327
+ } | {
2328
+ kind: "adapt-diagnostics";
2329
+ diagnosticDefinitionId: string;
2330
+ })[];
2331
+ requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
2332
+ parameters: Record<string, JsonValue>;
2333
+ }, {
2334
+ id: string;
2335
+ version: string;
2336
+ analysisDefinitionId: string;
2337
+ recipeContractVersion: "actuarial-recipe/1";
2338
+ steps: ({
2339
+ kind: "prepare-history";
2340
+ historyContractId: string;
2341
+ } | {
2342
+ kind: "assign-periods";
2343
+ analysisDefinitionId: string;
2344
+ } | {
2345
+ kind: "earn-exposure";
2346
+ exposureMeasureIds: string[];
2347
+ } | {
2348
+ kind: "apply-financial-terms";
2349
+ termIds: string[];
2350
+ } | {
2351
+ kind: "apply-financial-pipeline";
2352
+ amountMeasureId: string;
2353
+ stageIds: string[];
2354
+ } | {
2355
+ kind: "calculate";
2356
+ measureIds: string[];
2357
+ } | {
2358
+ kind: "adapt-diagnostics";
2359
+ diagnosticDefinitionId: string;
2360
+ })[];
2361
+ requiredCapabilities: ("history-snapshots" | "history-changes" | "irregular-periods" | "exposure-earning" | "typed-populations" | "descriptive-statistics" | "reserving-triangle-adapter" | "bounded-execution" | "shared-financial-terms" | "recipes" | "scenarios")[];
2362
+ parameters: Record<string, JsonValue>;
2363
+ }>;
2364
+ export declare const analysisResultSchema: z.ZodType<AnalysisResult>;
2365
+ export declare const analysisScenarioSchema: z.ZodEffects<z.ZodObject<{
2366
+ id: z.ZodEffects<z.ZodString, string, string>;
2367
+ changes: z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
2368
+ kind: z.ZodLiteral<"financial-term-limit">;
2369
+ termId: z.ZodEffects<z.ZodString, string, string>;
2370
+ limit: z.ZodNullable<z.ZodNumber>;
2371
+ }, "strict", z.ZodTypeAny, {
2372
+ kind: "financial-term-limit";
2373
+ limit: number | null;
2374
+ termId: string;
2375
+ }, {
2376
+ kind: "financial-term-limit";
2377
+ limit: number | null;
2378
+ termId: string;
2379
+ }>, z.ZodObject<{
2380
+ kind: z.ZodLiteral<"financial-term-attachment">;
2381
+ termId: z.ZodEffects<z.ZodString, string, string>;
2382
+ amount: z.ZodNumber;
2383
+ }, "strict", z.ZodTypeAny, {
2384
+ kind: "financial-term-attachment";
2385
+ termId: string;
2386
+ amount: number;
2387
+ }, {
2388
+ kind: "financial-term-attachment";
2389
+ termId: string;
2390
+ amount: number;
2391
+ }>, z.ZodObject<{
2392
+ kind: z.ZodLiteral<"reporting-predicate">;
2393
+ predicate: z.ZodType<AnalysisPredicate, z.ZodTypeDef, AnalysisPredicate>;
2394
+ }, "strict", z.ZodTypeAny, {
2395
+ kind: "reporting-predicate";
2396
+ predicate: AnalysisPredicate;
2397
+ }, {
2398
+ kind: "reporting-predicate";
2399
+ predicate: AnalysisPredicate;
2400
+ }>]>, "many">;
2401
+ }, "strict", z.ZodTypeAny, {
2402
+ id: string;
2403
+ changes: ({
2404
+ kind: "financial-term-limit";
2405
+ limit: number | null;
2406
+ termId: string;
2407
+ } | {
2408
+ kind: "financial-term-attachment";
2409
+ termId: string;
2410
+ amount: number;
2411
+ } | {
2412
+ kind: "reporting-predicate";
2413
+ predicate: AnalysisPredicate;
2414
+ })[];
2415
+ }, {
2416
+ id: string;
2417
+ changes: ({
2418
+ kind: "financial-term-limit";
2419
+ limit: number | null;
2420
+ termId: string;
2421
+ } | {
2422
+ kind: "financial-term-attachment";
2423
+ termId: string;
2424
+ amount: number;
2425
+ } | {
2426
+ kind: "reporting-predicate";
2427
+ predicate: AnalysisPredicate;
2428
+ })[];
2429
+ }>, {
2430
+ id: string;
2431
+ changes: ({
2432
+ kind: "financial-term-limit";
2433
+ limit: number | null;
2434
+ termId: string;
2435
+ } | {
2436
+ kind: "financial-term-attachment";
2437
+ termId: string;
2438
+ amount: number;
2439
+ } | {
2440
+ kind: "reporting-predicate";
2441
+ predicate: AnalysisPredicate;
2442
+ })[];
2443
+ }, {
2444
+ id: string;
2445
+ changes: ({
2446
+ kind: "financial-term-limit";
2447
+ limit: number | null;
2448
+ termId: string;
2449
+ } | {
2450
+ kind: "financial-term-attachment";
2451
+ termId: string;
2452
+ amount: number;
2453
+ } | {
2454
+ kind: "reporting-predicate";
2455
+ predicate: AnalysisPredicate;
2456
+ })[];
2457
+ }>;
2458
+ export declare const analysisScenarioGridSchema: z.ZodType<AnalysisScenarioGrid>;
2459
+ export declare const analysisClassificationSchema: z.ZodType<AnalysisClassificationDefinition>;
2460
+ export declare function parseHistoricalDatasetInput(value: unknown): HistoricalDatasetInput;
2461
+ export declare function parseCustomizationResourceLimits(value: unknown): CustomizationResourceLimits;
2462
+ export declare function parseHistoricalObservationRecord(value: unknown): HistoricalDatasetInput["records"][number];
2463
+ export declare function parseAnalysisDefinition(value: unknown): AnalysisDefinition;
2464
+ export declare function parseAnalysisRecipe(value: unknown): AnalysisRecipe;
2465
+ export declare function parseAnalysisResult(value: unknown): AnalysisResult;
2466
+ export declare function parseAnalysisScenario(value: unknown): AnalysisScenario;
2467
+ export declare function parseAnalysisScenarioGrid(value: unknown): AnalysisScenarioGrid;
2468
+ export declare function parseCustomizationExposureObservations(value: unknown): readonly CustomizationExposureObservation[];
2469
+ export declare function parseExposureAllocationTargets(value: unknown): readonly ExposureAllocationTarget[];
2470
+ export declare function parseExposureRevisionSelection(value: unknown): ExposureRevisionSelection;
2471
+ export declare function parseExposureLevelSchedule(value: unknown): ExposureLevelSchedule;
2472
+ export declare function parseAnalysisClassification(value: unknown): AnalysisClassificationDefinition;
2473
+ //# sourceMappingURL=customizationContracts.d.ts.map