@actuarial-ts/core 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.
- package/README.md +46 -2
- package/dist/analysisRecipe.d.ts +55 -0
- package/dist/analysisRecipe.d.ts.map +1 -0
- package/dist/analysisRecipe.js +627 -0
- package/dist/analysisRecipe.js.map +1 -0
- package/dist/classifications.d.ts +30 -0
- package/dist/classifications.d.ts.map +1 -0
- package/dist/classifications.js +207 -0
- package/dist/classifications.js.map +1 -0
- package/dist/customizationContracts.d.ts +749 -0
- package/dist/customizationContracts.d.ts.map +1 -0
- package/dist/customizationContracts.js +19 -0
- package/dist/customizationContracts.js.map +1 -0
- package/dist/descriptiveStatistics.d.ts +8 -0
- package/dist/descriptiveStatistics.d.ts.map +1 -0
- package/dist/descriptiveStatistics.js +283 -0
- package/dist/descriptiveStatistics.js.map +1 -0
- package/dist/diagnosticAggregation.d.ts.map +1 -1
- package/dist/diagnosticAggregation.js +16 -0
- package/dist/diagnosticAggregation.js.map +1 -1
- package/dist/diagnosticFreeze.d.ts +4 -0
- package/dist/diagnosticFreeze.d.ts.map +1 -0
- package/dist/diagnosticFreeze.js +37 -0
- package/dist/diagnosticFreeze.js.map +1 -0
- package/dist/diagnosticIdentityStream.d.ts +4 -0
- package/dist/diagnosticIdentityStream.d.ts.map +1 -1
- package/dist/diagnosticIdentityStream.js +32 -2
- package/dist/diagnosticIdentityStream.js.map +1 -1
- package/dist/diagnosticPreparation.d.ts +21 -0
- package/dist/diagnosticPreparation.d.ts.map +1 -1
- package/dist/diagnosticPreparation.js +231 -19
- package/dist/diagnosticPreparation.js.map +1 -1
- package/dist/diagnosticReview.d.ts.map +1 -1
- package/dist/diagnosticReview.js +43 -25
- package/dist/diagnosticReview.js.map +1 -1
- package/dist/diagnosticReviewSources.d.ts.map +1 -1
- package/dist/diagnosticReviewSources.js +25 -4
- package/dist/diagnosticReviewSources.js.map +1 -1
- package/dist/diagnosticReviewStore.d.ts +2 -0
- package/dist/diagnosticReviewStore.d.ts.map +1 -1
- package/dist/diagnosticReviewStore.js +110 -36
- package/dist/diagnosticReviewStore.js.map +1 -1
- package/dist/diagnosticRunner.d.ts.map +1 -1
- package/dist/diagnosticRunner.js +1 -8
- package/dist/diagnosticRunner.js.map +1 -1
- package/dist/exposureEarning.d.ts +12 -0
- package/dist/exposureEarning.d.ts.map +1 -0
- package/dist/exposureEarning.js +276 -0
- package/dist/exposureEarning.js.map +1 -0
- package/dist/exposureMovements.d.ts +8 -0
- package/dist/exposureMovements.d.ts.map +1 -0
- package/dist/exposureMovements.js +70 -0
- package/dist/exposureMovements.js.map +1 -0
- package/dist/exposureRevisions.d.ts +13 -0
- package/dist/exposureRevisions.d.ts.map +1 -0
- package/dist/exposureRevisions.js +161 -0
- package/dist/exposureRevisions.js.map +1 -0
- package/dist/financialPipeline.d.ts +14 -0
- package/dist/financialPipeline.d.ts.map +1 -0
- package/dist/financialPipeline.js +75 -0
- package/dist/financialPipeline.js.map +1 -0
- package/dist/financialTerms.d.ts +20 -0
- package/dist/financialTerms.d.ts.map +1 -0
- package/dist/financialTerms.js +205 -0
- package/dist/financialTerms.js.map +1 -0
- package/dist/fnvAccumulator.d.ts.map +1 -1
- package/dist/fnvAccumulator.js +11 -5
- package/dist/fnvAccumulator.js.map +1 -1
- package/dist/historyPreparation.d.ts +8 -0
- package/dist/historyPreparation.d.ts.map +1 -0
- package/dist/historyPreparation.js +557 -0
- package/dist/historyPreparation.js.map +1 -0
- package/dist/index.d.ts +15 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/policyPeriods.d.ts +29 -0
- package/dist/policyPeriods.d.ts.map +1 -0
- package/dist/policyPeriods.js +322 -0
- package/dist/policyPeriods.js.map +1 -0
- package/dist/populations.d.ts +11 -0
- package/dist/populations.d.ts.map +1 -0
- package/dist/populations.js +264 -0
- package/dist/populations.js.map +1 -0
- package/dist/reservingAdapter.d.ts +16 -0
- package/dist/reservingAdapter.d.ts.map +1 -0
- package/dist/reservingAdapter.js +74 -0
- package/dist/reservingAdapter.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/src/analysisRecipe.ts +696 -0
- package/src/classifications.ts +231 -0
- package/src/customizationContracts.ts +763 -0
- package/src/descriptiveStatistics.ts +320 -0
- package/src/diagnosticAggregation.ts +16 -0
- package/src/diagnosticFreeze.ts +37 -0
- package/src/diagnosticIdentityStream.ts +37 -2
- package/src/diagnosticPreparation.ts +259 -26
- package/src/diagnosticReview.ts +49 -27
- package/src/diagnosticReviewSources.ts +22 -3
- package/src/diagnosticReviewStore.ts +139 -54
- package/src/diagnosticRunner.ts +1 -11
- package/src/exposureEarning.ts +314 -0
- package/src/exposureMovements.ts +78 -0
- package/src/exposureRevisions.ts +186 -0
- package/src/financialPipeline.ts +93 -0
- package/src/financialTerms.ts +263 -0
- package/src/fnvAccumulator.ts +11 -5
- package/src/historyPreparation.ts +645 -0
- package/src/index.ts +28 -1
- package/src/policyPeriods.ts +375 -0
- package/src/populations.ts +307 -0
- package/src/reservingAdapter.ts +98 -0
- package/src/version.ts +1 -1
|
@@ -0,0 +1,749 @@
|
|
|
1
|
+
import type { JsonValue } from "./diagnosticDefinitions.js";
|
|
2
|
+
export declare const HISTORICAL_DATASET_CONTRACT_VERSION: "actuarial-history/1";
|
|
3
|
+
export declare const ANALYSIS_DEFINITION_CONTRACT_VERSION: "actuarial-analysis/1";
|
|
4
|
+
export declare const ANALYSIS_RECIPE_CONTRACT_VERSION: "actuarial-recipe/1";
|
|
5
|
+
export declare const ANALYSIS_RESULT_CONTRACT_VERSION: "actuarial-result/1";
|
|
6
|
+
export declare const BOUNDED_REPLAY_CONTRACT_VERSION: "actuarial-bounded-replay/1";
|
|
7
|
+
export declare const CUSTOMIZATION_CAPABILITIES: readonly ["history-snapshots", "history-changes", "irregular-periods", "exposure-earning", "typed-populations", "descriptive-statistics", "reserving-triangle-adapter", "bounded-execution", "shared-financial-terms", "recipes", "scenarios"];
|
|
8
|
+
export type CustomizationCapability = (typeof CUSTOMIZATION_CAPABILITIES)[number];
|
|
9
|
+
export interface CustomizationCapabilityFinding {
|
|
10
|
+
readonly code: "missing-prerequisite" | "unsupported-operation" | "incompatible-scope" | "resource-limit" | "ambiguous-attribution" | "incomplete-financial-population" | "incompatible-semantics" | "invalid-configuration";
|
|
11
|
+
readonly capability: CustomizationCapability;
|
|
12
|
+
readonly path: string;
|
|
13
|
+
readonly message: string;
|
|
14
|
+
readonly requiredFields?: readonly string[];
|
|
15
|
+
}
|
|
16
|
+
export type HistoricalScalar = string | number | boolean | null;
|
|
17
|
+
export interface HistoricalSourceDefinition {
|
|
18
|
+
readonly namespace: string;
|
|
19
|
+
readonly artifactId: string;
|
|
20
|
+
readonly mappingVersion: string;
|
|
21
|
+
}
|
|
22
|
+
export interface HistoricalSourceLocation {
|
|
23
|
+
readonly artifactId: string;
|
|
24
|
+
readonly sourceFile?: string;
|
|
25
|
+
readonly sourceSheet?: string;
|
|
26
|
+
readonly sourceRow?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface HistoricalRecordRevision {
|
|
29
|
+
readonly id: string;
|
|
30
|
+
readonly action: "upsert" | "delete";
|
|
31
|
+
readonly sequence?: number;
|
|
32
|
+
readonly correctedAt?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface HistoricalRelationships {
|
|
35
|
+
readonly claimantIds?: readonly string[];
|
|
36
|
+
readonly occurrenceId?: string;
|
|
37
|
+
readonly policyIds?: readonly string[];
|
|
38
|
+
readonly coverageIds?: readonly string[];
|
|
39
|
+
}
|
|
40
|
+
export interface HistoricalObservationRecord {
|
|
41
|
+
readonly recordId: string;
|
|
42
|
+
readonly sourceNamespace: string;
|
|
43
|
+
readonly claimId: string;
|
|
44
|
+
readonly grain: "claim-snapshot" | "claim-component-snapshot" | "transaction";
|
|
45
|
+
readonly componentId?: string;
|
|
46
|
+
readonly accidentDate?: string;
|
|
47
|
+
readonly reportDate?: string;
|
|
48
|
+
readonly evaluationDate?: string;
|
|
49
|
+
readonly effectiveDate?: string;
|
|
50
|
+
readonly measures: Readonly<Record<string, number | null>>;
|
|
51
|
+
readonly status?: string;
|
|
52
|
+
readonly dimensions?: Readonly<Record<string, HistoricalScalar | readonly HistoricalScalar[]>>;
|
|
53
|
+
readonly relationships?: HistoricalRelationships;
|
|
54
|
+
readonly completeness: "complete-snapshot" | "partial-snapshot" | "change-only";
|
|
55
|
+
readonly revision: HistoricalRecordRevision;
|
|
56
|
+
readonly source: HistoricalSourceLocation;
|
|
57
|
+
}
|
|
58
|
+
export interface HistoricalOpeningBalance {
|
|
59
|
+
readonly sourceNamespace: string;
|
|
60
|
+
readonly claimId: string;
|
|
61
|
+
readonly asOfDate: string;
|
|
62
|
+
readonly measures: Readonly<Record<string, number>>;
|
|
63
|
+
readonly source: HistoricalSourceLocation;
|
|
64
|
+
}
|
|
65
|
+
export interface HistoricalDatasetInput {
|
|
66
|
+
readonly historyContractVersion: typeof HISTORICAL_DATASET_CONTRACT_VERSION;
|
|
67
|
+
readonly datasetId: string;
|
|
68
|
+
readonly historyMode: "full-snapshots" | "changes" | "mixed";
|
|
69
|
+
readonly revisionView: {
|
|
70
|
+
readonly kind: "as-known";
|
|
71
|
+
readonly knowledgeCutoff: string;
|
|
72
|
+
} | {
|
|
73
|
+
readonly kind: "restated";
|
|
74
|
+
};
|
|
75
|
+
readonly revisionPrecedence: "sequence" | "corrected-at";
|
|
76
|
+
readonly missingSnapshotRecord: "unknown" | "carried-forward";
|
|
77
|
+
readonly sources: readonly HistoricalSourceDefinition[];
|
|
78
|
+
readonly evaluationDates?: readonly string[];
|
|
79
|
+
readonly openingBalances?: readonly HistoricalOpeningBalance[];
|
|
80
|
+
readonly records: readonly HistoricalObservationRecord[];
|
|
81
|
+
}
|
|
82
|
+
export interface HistoricalRecordDisposition {
|
|
83
|
+
readonly sourceNamespace: string;
|
|
84
|
+
readonly recordId: string;
|
|
85
|
+
readonly revisionId: string;
|
|
86
|
+
readonly disposition: "selected" | "duplicate" | "superseded" | "after-knowledge-cutoff" | "deleted" | "conflict";
|
|
87
|
+
}
|
|
88
|
+
export interface PreparedHistoricalObservation {
|
|
89
|
+
readonly sourceNamespace: string;
|
|
90
|
+
readonly claimId: string;
|
|
91
|
+
readonly evaluationDate: string;
|
|
92
|
+
readonly observationKind?: "observed-snapshot" | "carried-forward" | "reconstructed-from-changes";
|
|
93
|
+
readonly accidentDate: string | null;
|
|
94
|
+
readonly reportDate: string | null;
|
|
95
|
+
readonly measures: Readonly<Record<string, number | null>>;
|
|
96
|
+
readonly status: string | null;
|
|
97
|
+
readonly dimensions: Readonly<Record<string, HistoricalScalar | readonly HistoricalScalar[]>>;
|
|
98
|
+
readonly relationships: HistoricalRelationships;
|
|
99
|
+
readonly sources: readonly HistoricalSourceLocation[];
|
|
100
|
+
}
|
|
101
|
+
export interface PreparedHistoricalDataset {
|
|
102
|
+
readonly historyContractVersion: typeof HISTORICAL_DATASET_CONTRACT_VERSION;
|
|
103
|
+
readonly datasetId: string;
|
|
104
|
+
readonly datasetRevisionId: string;
|
|
105
|
+
/** Economic content and history-selection assumptions; excludes import locations. */
|
|
106
|
+
readonly calculationRevisionId: string;
|
|
107
|
+
/** Exact selected records, mappings, revisions, and source lineage. */
|
|
108
|
+
readonly lineageRevisionId: string;
|
|
109
|
+
readonly revisionView: HistoricalDatasetInput["revisionView"];
|
|
110
|
+
readonly observations: readonly PreparedHistoricalObservation[];
|
|
111
|
+
readonly dispositions: readonly HistoricalRecordDisposition[];
|
|
112
|
+
readonly reconciliation: {
|
|
113
|
+
readonly inputRecords: number;
|
|
114
|
+
readonly selectedRevisions: number;
|
|
115
|
+
readonly duplicateRecords: number;
|
|
116
|
+
readonly supersededRecords: number;
|
|
117
|
+
readonly deletedRecords: number;
|
|
118
|
+
readonly outputObservations: number;
|
|
119
|
+
/** Never summed across evaluations; keys are evaluation/effective dates. */
|
|
120
|
+
readonly inputMeasureTotalsByDate: Readonly<Record<string, Readonly<Record<string, number>>>>;
|
|
121
|
+
/** Never summed across evaluations. */
|
|
122
|
+
readonly outputMeasureTotalsByEvaluation: Readonly<Record<string, Readonly<Record<string, number>>>>;
|
|
123
|
+
};
|
|
124
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
125
|
+
}
|
|
126
|
+
export type AnalysisPredicate = {
|
|
127
|
+
readonly op: "true";
|
|
128
|
+
} | {
|
|
129
|
+
readonly op: "eq";
|
|
130
|
+
readonly dimensionId: string;
|
|
131
|
+
readonly value: HistoricalScalar;
|
|
132
|
+
} | {
|
|
133
|
+
readonly op: "in";
|
|
134
|
+
readonly dimensionId: string;
|
|
135
|
+
readonly values: readonly HistoricalScalar[];
|
|
136
|
+
} | {
|
|
137
|
+
readonly op: "range";
|
|
138
|
+
readonly dimensionId: string;
|
|
139
|
+
readonly minimum?: number | string;
|
|
140
|
+
readonly maximum?: number | string;
|
|
141
|
+
readonly includeMinimum: boolean;
|
|
142
|
+
readonly includeMaximum: boolean;
|
|
143
|
+
} | {
|
|
144
|
+
readonly op: "missing";
|
|
145
|
+
readonly dimensionId: string;
|
|
146
|
+
readonly isMissing: boolean;
|
|
147
|
+
} | {
|
|
148
|
+
readonly op: "and" | "or";
|
|
149
|
+
readonly terms: readonly AnalysisPredicate[];
|
|
150
|
+
} | {
|
|
151
|
+
readonly op: "not";
|
|
152
|
+
readonly term: AnalysisPredicate;
|
|
153
|
+
};
|
|
154
|
+
export interface AnalysisScopeDefinition {
|
|
155
|
+
readonly id: string;
|
|
156
|
+
readonly subject: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
|
|
157
|
+
readonly predicate: AnalysisPredicate;
|
|
158
|
+
readonly classification: {
|
|
159
|
+
readonly kind: "as-observed";
|
|
160
|
+
} | {
|
|
161
|
+
readonly kind: "latest-as-of-analysis";
|
|
162
|
+
readonly asOfDate: string;
|
|
163
|
+
} | {
|
|
164
|
+
readonly kind: "frozen-cohort";
|
|
165
|
+
readonly asOfDate: string;
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
export type AnalysisPredicateOutcome = "match" | "no-match" | "unknown";
|
|
169
|
+
export interface AnalysisPopulationMembership {
|
|
170
|
+
readonly scopeId: string;
|
|
171
|
+
readonly sourceNamespace: string;
|
|
172
|
+
readonly claimId: string;
|
|
173
|
+
readonly evaluationDate: string;
|
|
174
|
+
readonly outcome: AnalysisPredicateOutcome;
|
|
175
|
+
readonly classificationDate: string;
|
|
176
|
+
readonly finding: CustomizationCapabilityFinding | null;
|
|
177
|
+
}
|
|
178
|
+
export interface ExposureScopeDefinition {
|
|
179
|
+
readonly id: string;
|
|
180
|
+
readonly populationKeys: readonly string[];
|
|
181
|
+
readonly timeBasis: "interval" | "point-in-time" | "already-earned";
|
|
182
|
+
readonly reportingFilterEffect: "none" | "matching-exposure-dimensions";
|
|
183
|
+
/** Defaults to origin-static for backward-compatible authored definitions. */
|
|
184
|
+
readonly valuationSelection?: "origin-static" | "exact" | "latest-on-or-before";
|
|
185
|
+
}
|
|
186
|
+
export interface PolicyCoveragePeriod {
|
|
187
|
+
readonly id: string;
|
|
188
|
+
readonly label: string;
|
|
189
|
+
readonly scope: Readonly<Record<string, HistoricalScalar>>;
|
|
190
|
+
/** Start-inclusive Gregorian date. */
|
|
191
|
+
readonly startDate: string;
|
|
192
|
+
/** End-exclusive Gregorian date. */
|
|
193
|
+
readonly endDate: string;
|
|
194
|
+
readonly revisionId: string;
|
|
195
|
+
}
|
|
196
|
+
export type AnalysisOriginBasis = "accident" | "report" | "policy";
|
|
197
|
+
export type AnalysisComparisonClock = "common-evaluation-date" | "since-period-start" | "since-period-end" | "matched-accident-cohorts";
|
|
198
|
+
export interface AnalysisPeriodDefinition {
|
|
199
|
+
readonly originBasis: AnalysisOriginBasis;
|
|
200
|
+
readonly grouping: {
|
|
201
|
+
readonly kind: "calendar";
|
|
202
|
+
readonly cadence: "month" | "quarter" | "year";
|
|
203
|
+
} | {
|
|
204
|
+
readonly kind: "fiscal";
|
|
205
|
+
readonly cadence: "quarter" | "year";
|
|
206
|
+
readonly startMonth: number;
|
|
207
|
+
} | {
|
|
208
|
+
readonly kind: "policy-schedule";
|
|
209
|
+
readonly periodIds: readonly string[];
|
|
210
|
+
};
|
|
211
|
+
readonly comparisonClock: AnalysisComparisonClock;
|
|
212
|
+
readonly ageConvention: "exact-days" | "calendar-months";
|
|
213
|
+
readonly observationSelection: "exact" | "latest-on-or-before";
|
|
214
|
+
}
|
|
215
|
+
export interface PolicyPeriodAssignment {
|
|
216
|
+
readonly status: "assigned" | "unavailable" | "ambiguous";
|
|
217
|
+
readonly period: PolicyCoveragePeriod | null;
|
|
218
|
+
readonly candidates: readonly string[];
|
|
219
|
+
readonly finding: CustomizationCapabilityFinding | null;
|
|
220
|
+
}
|
|
221
|
+
export interface AnalysisOriginAssignment {
|
|
222
|
+
readonly status: "assigned" | "unavailable" | "ambiguous";
|
|
223
|
+
readonly originId: string | null;
|
|
224
|
+
readonly label: string | null;
|
|
225
|
+
readonly period: PolicyCoveragePeriod | null;
|
|
226
|
+
readonly finding: CustomizationCapabilityFinding | null;
|
|
227
|
+
}
|
|
228
|
+
export interface AnalysisComparisonCoordinate {
|
|
229
|
+
readonly status: "available" | "unavailable";
|
|
230
|
+
readonly clock: AnalysisComparisonClock;
|
|
231
|
+
readonly evaluationDate: string;
|
|
232
|
+
readonly age: number | null;
|
|
233
|
+
readonly ageUnit: "day" | "month" | null;
|
|
234
|
+
readonly finding: CustomizationCapabilityFinding | null;
|
|
235
|
+
}
|
|
236
|
+
export interface MatchedAccidentCohort {
|
|
237
|
+
readonly periodId: string;
|
|
238
|
+
readonly startOffsetDays: number;
|
|
239
|
+
readonly endOffsetDays: number;
|
|
240
|
+
readonly observationKeys: readonly string[];
|
|
241
|
+
}
|
|
242
|
+
export interface ExposureMeasureDefinitionV1 {
|
|
243
|
+
readonly id: string;
|
|
244
|
+
readonly unit: string;
|
|
245
|
+
readonly sourceMeaning: "already-earned" | "written-over-interval" | "flow-over-interval" | "point-in-time";
|
|
246
|
+
readonly earning: {
|
|
247
|
+
readonly kind: "supplied";
|
|
248
|
+
} | {
|
|
249
|
+
readonly kind: "uniform-daily";
|
|
250
|
+
readonly dayCount: "actual-days";
|
|
251
|
+
} | {
|
|
252
|
+
readonly kind: "weighted";
|
|
253
|
+
readonly scheduleId: string;
|
|
254
|
+
};
|
|
255
|
+
readonly allocation: {
|
|
256
|
+
readonly kind: "exact-match";
|
|
257
|
+
} | {
|
|
258
|
+
readonly kind: "time-overlap";
|
|
259
|
+
} | {
|
|
260
|
+
readonly kind: "supplied-weights";
|
|
261
|
+
readonly weightMeasureId: string;
|
|
262
|
+
};
|
|
263
|
+
readonly scopeId: string;
|
|
264
|
+
}
|
|
265
|
+
export interface CustomizationExposureObservation {
|
|
266
|
+
readonly id: string;
|
|
267
|
+
readonly measureId: string;
|
|
268
|
+
readonly value: number | null;
|
|
269
|
+
readonly startDate?: string;
|
|
270
|
+
readonly endDate?: string;
|
|
271
|
+
readonly pointDate?: string;
|
|
272
|
+
readonly evaluationDate?: string;
|
|
273
|
+
readonly dimensions: Readonly<Record<string, HistoricalScalar>>;
|
|
274
|
+
readonly revisionId: string;
|
|
275
|
+
/** Optional revision ordering metadata. Omitted metadata denotes one immutable revision. */
|
|
276
|
+
readonly revision?: {
|
|
277
|
+
readonly action: "upsert" | "delete";
|
|
278
|
+
readonly sequence?: number;
|
|
279
|
+
readonly correctedAt?: string;
|
|
280
|
+
};
|
|
281
|
+
readonly source: HistoricalSourceLocation;
|
|
282
|
+
}
|
|
283
|
+
export interface ExposureLevelSchedule {
|
|
284
|
+
readonly id: string;
|
|
285
|
+
readonly measureId: string;
|
|
286
|
+
readonly startDate: string;
|
|
287
|
+
readonly endDate: string;
|
|
288
|
+
/** Additive flow level per civil day at inception. */
|
|
289
|
+
readonly initialDailyLevel: number;
|
|
290
|
+
readonly movements: readonly ({
|
|
291
|
+
readonly id: string;
|
|
292
|
+
readonly effectiveDate: string;
|
|
293
|
+
readonly kind: "set-daily-level";
|
|
294
|
+
readonly dailyLevel: number;
|
|
295
|
+
} | {
|
|
296
|
+
readonly id: string;
|
|
297
|
+
readonly effectiveDate: string;
|
|
298
|
+
readonly kind: "cancel";
|
|
299
|
+
})[];
|
|
300
|
+
readonly dimensions: Readonly<Record<string, HistoricalScalar>>;
|
|
301
|
+
readonly evaluationDate?: string;
|
|
302
|
+
readonly revisionId: string;
|
|
303
|
+
readonly source: HistoricalSourceLocation;
|
|
304
|
+
}
|
|
305
|
+
export interface ExposureLevelScheduleResult {
|
|
306
|
+
readonly status: "available" | "unavailable";
|
|
307
|
+
readonly observations: readonly CustomizationExposureObservation[];
|
|
308
|
+
readonly totalValue: number | null;
|
|
309
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
310
|
+
}
|
|
311
|
+
export interface ExposureRevisionSelection {
|
|
312
|
+
readonly revisionView: {
|
|
313
|
+
readonly kind: "as-known";
|
|
314
|
+
readonly knowledgeCutoff: string;
|
|
315
|
+
} | {
|
|
316
|
+
readonly kind: "restated";
|
|
317
|
+
};
|
|
318
|
+
readonly revisionPrecedence: "sequence" | "corrected-at";
|
|
319
|
+
}
|
|
320
|
+
export interface ExposureRevisionDisposition {
|
|
321
|
+
readonly observationId: string;
|
|
322
|
+
readonly evaluationDate?: string;
|
|
323
|
+
readonly revisionId: string;
|
|
324
|
+
readonly disposition: "selected" | "duplicate" | "superseded" | "after-knowledge-cutoff" | "deleted" | "conflict";
|
|
325
|
+
}
|
|
326
|
+
export interface ExposureValuationSelection {
|
|
327
|
+
readonly observations: readonly CustomizationExposureObservation[];
|
|
328
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
329
|
+
}
|
|
330
|
+
export interface SelectedExposureRevisions {
|
|
331
|
+
readonly observations: readonly CustomizationExposureObservation[];
|
|
332
|
+
readonly dispositions: readonly ExposureRevisionDisposition[];
|
|
333
|
+
readonly calculationRevisionId: string;
|
|
334
|
+
readonly lineageRevisionId: string;
|
|
335
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
336
|
+
}
|
|
337
|
+
export interface ExposureAllocationTarget {
|
|
338
|
+
readonly id: string;
|
|
339
|
+
readonly startDate: string;
|
|
340
|
+
readonly endDate: string;
|
|
341
|
+
readonly dimensions: Readonly<Record<string, HistoricalScalar>>;
|
|
342
|
+
readonly weights?: Readonly<Record<string, number>>;
|
|
343
|
+
}
|
|
344
|
+
export interface EarnedExposureAllocation {
|
|
345
|
+
readonly sourceObservationId: string;
|
|
346
|
+
readonly targetId: string;
|
|
347
|
+
readonly value: number;
|
|
348
|
+
readonly method: "exact-match" | "uniform-daily" | "weighted-schedule" | "time-overlap" | "supplied-weights";
|
|
349
|
+
readonly overlapDays: number | null;
|
|
350
|
+
}
|
|
351
|
+
export interface ExposureAllocationResult {
|
|
352
|
+
readonly measureId: string;
|
|
353
|
+
readonly sourceValue: number | null;
|
|
354
|
+
readonly allocations: readonly EarnedExposureAllocation[];
|
|
355
|
+
readonly allocatedValue: number;
|
|
356
|
+
readonly unallocatedValue: number | null;
|
|
357
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
358
|
+
}
|
|
359
|
+
export type AnalysisStatisticDefinition = {
|
|
360
|
+
readonly kind: "sum";
|
|
361
|
+
readonly measureId: string;
|
|
362
|
+
} | {
|
|
363
|
+
readonly kind: "ratio";
|
|
364
|
+
readonly numeratorMeasureId: string;
|
|
365
|
+
readonly denominatorMeasureId: string;
|
|
366
|
+
readonly scale: number;
|
|
367
|
+
readonly denominatorRule: "positive" | "nonzero";
|
|
368
|
+
} | {
|
|
369
|
+
readonly kind: "distinct-count";
|
|
370
|
+
readonly entity: "claim" | "claimant" | "occurrence" | "policy" | "coverage";
|
|
371
|
+
} | {
|
|
372
|
+
readonly kind: "weighted-mean";
|
|
373
|
+
readonly measureId: string;
|
|
374
|
+
readonly weightMeasureId: string;
|
|
375
|
+
} | {
|
|
376
|
+
readonly kind: "minimum" | "maximum";
|
|
377
|
+
readonly measureId: string;
|
|
378
|
+
} | {
|
|
379
|
+
readonly kind: "quantile";
|
|
380
|
+
readonly measureId: string;
|
|
381
|
+
readonly probability: number;
|
|
382
|
+
readonly method: "hf-type-7";
|
|
383
|
+
} | {
|
|
384
|
+
readonly kind: "duration";
|
|
385
|
+
readonly start: "accident-date" | "report-date";
|
|
386
|
+
readonly end: "report-date" | "closed-date" | "evaluation-date";
|
|
387
|
+
readonly unit: "days";
|
|
388
|
+
readonly population: "all-with-observed-endpoint" | "closed-only";
|
|
389
|
+
} | {
|
|
390
|
+
/** Censoring-adjusted duration quantile using the Kaplan-Meier product-limit estimator. */
|
|
391
|
+
readonly kind: "survival-quantile";
|
|
392
|
+
readonly start: "accident-date" | "report-date";
|
|
393
|
+
readonly event: "closed-date";
|
|
394
|
+
readonly censor: "evaluation-date";
|
|
395
|
+
readonly unit: "days";
|
|
396
|
+
readonly probability: number;
|
|
397
|
+
readonly method: "kaplan-meier-product-limit";
|
|
398
|
+
};
|
|
399
|
+
export interface AnalysisMeasureDefinitionV1 {
|
|
400
|
+
readonly id: string;
|
|
401
|
+
readonly unit: string;
|
|
402
|
+
readonly developmentSemantics: "cumulative" | "incremental" | "point-in-time";
|
|
403
|
+
readonly statistic: AnalysisStatisticDefinition;
|
|
404
|
+
readonly populationScopeId: string;
|
|
405
|
+
readonly condition?: AnalysisPredicate;
|
|
406
|
+
}
|
|
407
|
+
export type AnalysisObservationSelection = {
|
|
408
|
+
readonly kind: "evaluation-date";
|
|
409
|
+
readonly evaluationDate: string;
|
|
410
|
+
readonly observationSelection: "exact" | "latest-on-or-before";
|
|
411
|
+
} | {
|
|
412
|
+
readonly kind: "all-observations";
|
|
413
|
+
};
|
|
414
|
+
export interface AnalysisStatisticResult {
|
|
415
|
+
readonly measureId: string;
|
|
416
|
+
readonly unit: string;
|
|
417
|
+
readonly value: number | null;
|
|
418
|
+
readonly status: "available" | "unavailable";
|
|
419
|
+
readonly contributingObservations: number;
|
|
420
|
+
readonly excludedObservations: number;
|
|
421
|
+
readonly exact: true;
|
|
422
|
+
readonly numerator: number | null;
|
|
423
|
+
readonly denominator: number | null;
|
|
424
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
425
|
+
}
|
|
426
|
+
export type FinancialTermDefinition = {
|
|
427
|
+
readonly kind: "claim-layer" | "occurrence-layer";
|
|
428
|
+
readonly id: string;
|
|
429
|
+
readonly measureId: string;
|
|
430
|
+
readonly attachment: number;
|
|
431
|
+
readonly limit: number | null;
|
|
432
|
+
readonly allocation: "proportional";
|
|
433
|
+
} | {
|
|
434
|
+
readonly kind: "policy-aggregate";
|
|
435
|
+
readonly id: string;
|
|
436
|
+
readonly measureId: string;
|
|
437
|
+
readonly deductible: number;
|
|
438
|
+
readonly limit: number | null;
|
|
439
|
+
readonly allocation: "proportional" | "chronological";
|
|
440
|
+
};
|
|
441
|
+
export interface FinancialTermScheduleEntry {
|
|
442
|
+
readonly id: string;
|
|
443
|
+
readonly termIds: readonly string[];
|
|
444
|
+
readonly effectiveStart: string;
|
|
445
|
+
readonly effectiveEnd: string;
|
|
446
|
+
readonly policyIds?: readonly string[];
|
|
447
|
+
readonly coverageIds?: readonly string[];
|
|
448
|
+
readonly priority: number;
|
|
449
|
+
}
|
|
450
|
+
export interface FinancialTermScheduleResolution {
|
|
451
|
+
readonly status: "resolved" | "unavailable" | "ambiguous";
|
|
452
|
+
readonly entryId: string | null;
|
|
453
|
+
readonly termIds: readonly string[];
|
|
454
|
+
readonly finding: CustomizationCapabilityFinding | null;
|
|
455
|
+
}
|
|
456
|
+
export interface FinancialClaimStageResult {
|
|
457
|
+
readonly termId: string;
|
|
458
|
+
readonly groupId: string;
|
|
459
|
+
readonly inputAmount: number;
|
|
460
|
+
readonly outputAmount: number;
|
|
461
|
+
readonly removedAmount: number;
|
|
462
|
+
}
|
|
463
|
+
export interface FinancialClaimAllocationResult {
|
|
464
|
+
readonly sourceNamespace: string;
|
|
465
|
+
readonly claimId: string;
|
|
466
|
+
readonly reported: boolean;
|
|
467
|
+
readonly inputAmount: number;
|
|
468
|
+
readonly outputAmount: number;
|
|
469
|
+
readonly stages: readonly FinancialClaimStageResult[];
|
|
470
|
+
}
|
|
471
|
+
export interface FinancialTermApplicationResult {
|
|
472
|
+
readonly status: "available" | "unavailable";
|
|
473
|
+
readonly calculationIdentity: string;
|
|
474
|
+
readonly inputTotal: number | null;
|
|
475
|
+
readonly outputTotal: number | null;
|
|
476
|
+
readonly claims: readonly FinancialClaimAllocationResult[];
|
|
477
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
478
|
+
}
|
|
479
|
+
export type FinancialAmountAdjustment = {
|
|
480
|
+
readonly kind: "scale";
|
|
481
|
+
readonly id: string;
|
|
482
|
+
readonly purpose: "trend" | "index";
|
|
483
|
+
readonly factor: number;
|
|
484
|
+
} | {
|
|
485
|
+
readonly kind: "currency";
|
|
486
|
+
readonly id: string;
|
|
487
|
+
readonly fromUnit: string;
|
|
488
|
+
readonly toUnit: string;
|
|
489
|
+
readonly rate: number;
|
|
490
|
+
readonly rateDate: string;
|
|
491
|
+
} | {
|
|
492
|
+
readonly kind: "include-expense" | "exclude-expense";
|
|
493
|
+
readonly id: string;
|
|
494
|
+
readonly expenseMeasureId: string;
|
|
495
|
+
} | {
|
|
496
|
+
readonly kind: "net-recovery";
|
|
497
|
+
readonly id: string;
|
|
498
|
+
readonly recoveryMeasureId: string;
|
|
499
|
+
};
|
|
500
|
+
export type FinancialPipelineStage = {
|
|
501
|
+
readonly kind: "adjustment";
|
|
502
|
+
readonly adjustment: FinancialAmountAdjustment;
|
|
503
|
+
} | {
|
|
504
|
+
readonly kind: "terms";
|
|
505
|
+
readonly id: string;
|
|
506
|
+
readonly terms: readonly FinancialTermDefinition[];
|
|
507
|
+
};
|
|
508
|
+
export interface FinancialPipelineClaimStage {
|
|
509
|
+
readonly stageId: string;
|
|
510
|
+
readonly stageKind: "adjustment" | "terms";
|
|
511
|
+
readonly inputAmount: number;
|
|
512
|
+
readonly outputAmount: number;
|
|
513
|
+
}
|
|
514
|
+
export interface FinancialPipelineClaimResult {
|
|
515
|
+
readonly sourceNamespace: string;
|
|
516
|
+
readonly claimId: string;
|
|
517
|
+
readonly inputAmount: number;
|
|
518
|
+
readonly outputAmount: number;
|
|
519
|
+
readonly stages: readonly FinancialPipelineClaimStage[];
|
|
520
|
+
}
|
|
521
|
+
export interface FinancialPipelineResult {
|
|
522
|
+
readonly status: "available" | "unavailable";
|
|
523
|
+
readonly inputUnit: string;
|
|
524
|
+
readonly outputUnit: string;
|
|
525
|
+
readonly calculationIdentity: string;
|
|
526
|
+
readonly claims: readonly FinancialPipelineClaimResult[];
|
|
527
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
528
|
+
}
|
|
529
|
+
export interface AnalysisDefinition {
|
|
530
|
+
readonly analysisContractVersion: typeof ANALYSIS_DEFINITION_CONTRACT_VERSION;
|
|
531
|
+
readonly id: string;
|
|
532
|
+
readonly version: string;
|
|
533
|
+
readonly dimensions: readonly AnalysisDimensionDefinition[];
|
|
534
|
+
readonly scopes: {
|
|
535
|
+
readonly financial: AnalysisScopeDefinition;
|
|
536
|
+
readonly reporting: AnalysisScopeDefinition;
|
|
537
|
+
readonly exposure: readonly ExposureScopeDefinition[];
|
|
538
|
+
};
|
|
539
|
+
readonly policySchedule: readonly PolicyCoveragePeriod[];
|
|
540
|
+
readonly period: AnalysisPeriodDefinition;
|
|
541
|
+
readonly exposures: readonly ExposureMeasureDefinitionV1[];
|
|
542
|
+
readonly measures: readonly AnalysisMeasureDefinitionV1[];
|
|
543
|
+
readonly financialTerms: readonly FinancialTermDefinition[];
|
|
544
|
+
readonly financialAdjustments?: readonly FinancialAmountAdjustment[];
|
|
545
|
+
}
|
|
546
|
+
export interface AnalysisDimensionDefinition {
|
|
547
|
+
readonly id: string;
|
|
548
|
+
readonly type: "string" | "number" | "boolean" | "date" | "entity-reference";
|
|
549
|
+
readonly multiple: boolean;
|
|
550
|
+
}
|
|
551
|
+
export type AnalysisClassificationDefinition = {
|
|
552
|
+
readonly kind: "numeric-bands";
|
|
553
|
+
readonly id: string;
|
|
554
|
+
readonly dimensionId: string;
|
|
555
|
+
readonly groups: readonly {
|
|
556
|
+
readonly id: string;
|
|
557
|
+
readonly minimum?: number;
|
|
558
|
+
readonly maximum?: number;
|
|
559
|
+
readonly includeMinimum: boolean;
|
|
560
|
+
readonly includeMaximum: boolean;
|
|
561
|
+
}[];
|
|
562
|
+
readonly overlapPolicy: "reject" | "allow";
|
|
563
|
+
readonly gapPolicy: "unclassified" | "reject";
|
|
564
|
+
} | {
|
|
565
|
+
readonly kind: "lookup";
|
|
566
|
+
readonly id: string;
|
|
567
|
+
readonly dimensionId: string;
|
|
568
|
+
readonly entries: readonly {
|
|
569
|
+
readonly value: HistoricalScalar;
|
|
570
|
+
readonly groupId: string;
|
|
571
|
+
}[];
|
|
572
|
+
readonly unmappedPolicy: "unclassified" | "reject";
|
|
573
|
+
} | {
|
|
574
|
+
readonly kind: "hierarchy";
|
|
575
|
+
readonly id: string;
|
|
576
|
+
readonly dimensionId: string;
|
|
577
|
+
readonly entries: readonly {
|
|
578
|
+
readonly value: HistoricalScalar;
|
|
579
|
+
readonly groupIds: readonly string[];
|
|
580
|
+
}[];
|
|
581
|
+
readonly unmappedPolicy: "unclassified" | "reject";
|
|
582
|
+
} | {
|
|
583
|
+
readonly kind: "rules";
|
|
584
|
+
readonly id: string;
|
|
585
|
+
readonly groups: readonly {
|
|
586
|
+
readonly id: string;
|
|
587
|
+
readonly predicate: AnalysisPredicate;
|
|
588
|
+
}[];
|
|
589
|
+
readonly overlapPolicy: "reject" | "allow";
|
|
590
|
+
readonly gapPolicy: "unclassified" | "reject";
|
|
591
|
+
};
|
|
592
|
+
export interface AnalysisClassificationResult {
|
|
593
|
+
readonly classificationId: string;
|
|
594
|
+
readonly groupIds: readonly string[];
|
|
595
|
+
readonly status: "classified" | "unclassified" | "unavailable";
|
|
596
|
+
readonly overlapping: boolean;
|
|
597
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
598
|
+
}
|
|
599
|
+
export interface AnalysisClassifiedStatisticResult {
|
|
600
|
+
readonly classificationId: string;
|
|
601
|
+
readonly groups: readonly {
|
|
602
|
+
readonly groupId: string;
|
|
603
|
+
readonly result: AnalysisStatisticResult;
|
|
604
|
+
}[];
|
|
605
|
+
/** Computed once from the underlying selected population, never from group results. */
|
|
606
|
+
readonly portfolio: AnalysisStatisticResult;
|
|
607
|
+
readonly overlapDetected: boolean;
|
|
608
|
+
readonly additiveGroupSumValid: boolean;
|
|
609
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
610
|
+
}
|
|
611
|
+
export interface ClaimStatusTransition {
|
|
612
|
+
readonly sourceNamespace: string;
|
|
613
|
+
readonly claimId: string;
|
|
614
|
+
readonly fromStatus: string | null;
|
|
615
|
+
readonly toStatus: string | null;
|
|
616
|
+
readonly observedAt: string;
|
|
617
|
+
readonly kind: "opened" | "closed" | "reopened" | "other";
|
|
618
|
+
/** Snapshot input proves only that the transition occurred between observations. */
|
|
619
|
+
readonly observationPrecision: "between-snapshots";
|
|
620
|
+
}
|
|
621
|
+
export type AnalysisRecipeStep = {
|
|
622
|
+
readonly kind: "prepare-history";
|
|
623
|
+
readonly historyContractId: string;
|
|
624
|
+
} | {
|
|
625
|
+
readonly kind: "assign-periods";
|
|
626
|
+
readonly analysisDefinitionId: string;
|
|
627
|
+
} | {
|
|
628
|
+
readonly kind: "earn-exposure";
|
|
629
|
+
readonly exposureMeasureIds: readonly string[];
|
|
630
|
+
} | {
|
|
631
|
+
readonly kind: "apply-financial-terms";
|
|
632
|
+
readonly termIds: readonly string[];
|
|
633
|
+
} | {
|
|
634
|
+
readonly kind: "apply-financial-pipeline";
|
|
635
|
+
readonly amountMeasureId: string;
|
|
636
|
+
readonly stageIds: readonly string[];
|
|
637
|
+
} | {
|
|
638
|
+
readonly kind: "calculate";
|
|
639
|
+
readonly measureIds: readonly string[];
|
|
640
|
+
} | {
|
|
641
|
+
readonly kind: "adapt-diagnostics";
|
|
642
|
+
readonly diagnosticDefinitionId: string;
|
|
643
|
+
};
|
|
644
|
+
export interface AnalysisRecipe {
|
|
645
|
+
readonly recipeContractVersion: typeof ANALYSIS_RECIPE_CONTRACT_VERSION;
|
|
646
|
+
readonly id: string;
|
|
647
|
+
readonly version: string;
|
|
648
|
+
readonly analysisDefinitionId: string;
|
|
649
|
+
readonly steps: readonly AnalysisRecipeStep[];
|
|
650
|
+
readonly requiredCapabilities: readonly CustomizationCapability[];
|
|
651
|
+
readonly parameters: Readonly<Record<string, JsonValue>>;
|
|
652
|
+
}
|
|
653
|
+
export interface AnalysisResultValue {
|
|
654
|
+
readonly measureId: string;
|
|
655
|
+
readonly unit: string;
|
|
656
|
+
readonly coordinates: Readonly<Record<string, HistoricalScalar>>;
|
|
657
|
+
readonly value: number | null;
|
|
658
|
+
readonly status: "available" | "unavailable";
|
|
659
|
+
readonly contributingObservations: number;
|
|
660
|
+
readonly excludedObservations: number;
|
|
661
|
+
readonly exact: true;
|
|
662
|
+
readonly numerator: number | null;
|
|
663
|
+
readonly denominator: number | null;
|
|
664
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
665
|
+
}
|
|
666
|
+
export interface AnalysisResult {
|
|
667
|
+
readonly resultContractVersion: typeof ANALYSIS_RESULT_CONTRACT_VERSION;
|
|
668
|
+
readonly datasetRevisionId: string;
|
|
669
|
+
readonly analysisDefinitionId: string;
|
|
670
|
+
readonly recipeId: string;
|
|
671
|
+
readonly calculationIdentity: string;
|
|
672
|
+
readonly lineageIdentity: string;
|
|
673
|
+
readonly values: readonly AnalysisResultValue[];
|
|
674
|
+
}
|
|
675
|
+
export interface AnalysisTriangleAdapterResult {
|
|
676
|
+
readonly status: "available" | "unavailable";
|
|
677
|
+
readonly triangle: import("./types.js").Triangle | null;
|
|
678
|
+
readonly findings: readonly CustomizationCapabilityFinding[];
|
|
679
|
+
}
|
|
680
|
+
export type AnalysisScenarioChange = {
|
|
681
|
+
readonly kind: "financial-term-limit";
|
|
682
|
+
readonly termId: string;
|
|
683
|
+
readonly limit: number | null;
|
|
684
|
+
} | {
|
|
685
|
+
readonly kind: "financial-term-attachment";
|
|
686
|
+
readonly termId: string;
|
|
687
|
+
readonly amount: number;
|
|
688
|
+
} | {
|
|
689
|
+
readonly kind: "reporting-predicate";
|
|
690
|
+
readonly predicate: AnalysisPredicate;
|
|
691
|
+
};
|
|
692
|
+
export interface AnalysisScenario {
|
|
693
|
+
readonly id: string;
|
|
694
|
+
readonly changes: readonly AnalysisScenarioChange[];
|
|
695
|
+
}
|
|
696
|
+
export interface AnalysisScenarioGridOption {
|
|
697
|
+
readonly id: string;
|
|
698
|
+
/** Null represents the baseline value for this axis. */
|
|
699
|
+
readonly change: AnalysisScenarioChange | null;
|
|
700
|
+
}
|
|
701
|
+
export interface AnalysisScenarioGridAxis {
|
|
702
|
+
readonly id: string;
|
|
703
|
+
readonly options: readonly AnalysisScenarioGridOption[];
|
|
704
|
+
}
|
|
705
|
+
export interface AnalysisScenarioGrid {
|
|
706
|
+
readonly id: string;
|
|
707
|
+
readonly axes: readonly AnalysisScenarioGridAxis[];
|
|
708
|
+
}
|
|
709
|
+
export interface AnalysisScenarioDifference {
|
|
710
|
+
readonly measureId: string;
|
|
711
|
+
readonly unit: string;
|
|
712
|
+
readonly coordinates: Readonly<Record<string, HistoricalScalar>>;
|
|
713
|
+
readonly baselineValue: number | null;
|
|
714
|
+
readonly scenarioValue: number | null;
|
|
715
|
+
readonly absoluteDifference: number | null;
|
|
716
|
+
readonly percentageDifference: number | null;
|
|
717
|
+
}
|
|
718
|
+
export interface AnalysisScenarioRun {
|
|
719
|
+
readonly scenarioId: string;
|
|
720
|
+
readonly result: AnalysisResult;
|
|
721
|
+
readonly differences: readonly AnalysisScenarioDifference[];
|
|
722
|
+
}
|
|
723
|
+
export interface AnalysisRollForward {
|
|
724
|
+
readonly kind: "roll-forward";
|
|
725
|
+
readonly priorEvaluationDate: string;
|
|
726
|
+
readonly currentEvaluationDate: string;
|
|
727
|
+
readonly priorResult: AnalysisResult;
|
|
728
|
+
readonly currentResult: AnalysisResult;
|
|
729
|
+
readonly differences: readonly AnalysisScenarioDifference[];
|
|
730
|
+
}
|
|
731
|
+
export interface AnalysisScenarioBridgeStep {
|
|
732
|
+
readonly scenarioId: string;
|
|
733
|
+
readonly fromCalculationIdentity: string;
|
|
734
|
+
readonly result: AnalysisResult;
|
|
735
|
+
readonly differences: readonly AnalysisScenarioDifference[];
|
|
736
|
+
}
|
|
737
|
+
export interface AnalysisResultCache {
|
|
738
|
+
get(dependencyIdentity: string): AnalysisResult | undefined;
|
|
739
|
+
set(dependencyIdentity: string, result: AnalysisResult): void;
|
|
740
|
+
}
|
|
741
|
+
export interface CustomizationResourceLimits {
|
|
742
|
+
readonly maximumInputRecords: number;
|
|
743
|
+
readonly maximumInMemoryBytes: number;
|
|
744
|
+
readonly maximumRecordBytes: number;
|
|
745
|
+
readonly maximumPartitionRecords: number;
|
|
746
|
+
readonly maximumOutputValues: number;
|
|
747
|
+
readonly maximumActiveScenarios: number;
|
|
748
|
+
}
|
|
749
|
+
//# sourceMappingURL=customizationContracts.d.ts.map
|