@actuarial-ts/data 0.6.1 → 0.7.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 +2 -2
- package/dist/compactDiagnosticJson.d.ts +24 -0
- package/dist/compactDiagnosticJson.d.ts.map +1 -0
- package/dist/compactDiagnosticJson.js +200 -0
- package/dist/compactDiagnosticJson.js.map +1 -0
- package/dist/diagnosticInput.d.ts +53 -2
- package/dist/diagnosticInput.d.ts.map +1 -1
- package/dist/diagnosticInput.js +177 -61
- package/dist/diagnosticInput.js.map +1 -1
- package/dist/diagnosticPreparedReview.d.ts +64 -1
- package/dist/diagnosticPreparedReview.d.ts.map +1 -1
- package/dist/diagnosticPreparedReview.js +384 -64
- package/dist/diagnosticPreparedReview.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
- package/src/compactDiagnosticJson.ts +216 -0
- package/src/diagnosticInput.ts +298 -151
- package/src/diagnosticPreparedReview.ts +649 -111
- package/src/version.ts +1 -1
package/dist/diagnosticInput.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DiagnosticValidationError, compileDiagnosticDefinition, prepareDiagnosticData, runMetricDiagnostics, validateDiagnosticGroupingConfiguration, diagnosticRecord, isDiagnosticToken, isWellFormedDiagnosticString, } from "@actuarial-ts/core";
|
|
1
|
+
import { DiagnosticValidationError, compileDiagnosticDefinition, prepareDiagnosticData, prepareDiagnosticDataCompact, runMetricDiagnostics, runMetricDiagnosticsCompact, validateDiagnosticGroupingConfiguration, validateCompactDiagnosticGroupingConfiguration, diagnosticRecord, isDiagnosticToken, isWellFormedDiagnosticString, } from "@actuarial-ts/core";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
-
import { reviewPreparedDiagnosticData, validateDiagnosticReviewEvidence, } from "./diagnosticPreparedReview.js";
|
|
3
|
+
import { reviewPreparedDiagnosticData, reviewPreparedDiagnosticDataCompact, validateDiagnosticReviewEvidence, } from "./diagnosticPreparedReview.js";
|
|
4
4
|
// Zod 3 validates but drops the literal __proto__ key while assembling records.
|
|
5
5
|
// Encode every key reversibly during validation, then restore owned data keys.
|
|
6
6
|
// The same adapter is exercised by the shared three-shore prototype-key corpus.
|
|
@@ -36,9 +36,7 @@ const lossBase = {
|
|
|
36
36
|
measures: measuresSchema,
|
|
37
37
|
};
|
|
38
38
|
const lossSchema = z.discriminatedUnion("rowType", [
|
|
39
|
-
z
|
|
40
|
-
.object({ ...lossBase, rowType: z.literal("claim"), claimId: tokenSchema })
|
|
41
|
-
.strict(),
|
|
39
|
+
z.object({ ...lossBase, rowType: z.literal("claim"), claimId: tokenSchema }).strict(),
|
|
42
40
|
z.object({ ...lossBase, rowType: z.literal("aggregate") }).strict(),
|
|
43
41
|
]);
|
|
44
42
|
const exposureSchema = z
|
|
@@ -93,12 +91,8 @@ const jsonSchema = z.lazy(() => z.union([
|
|
|
93
91
|
]));
|
|
94
92
|
const policySchema = z
|
|
95
93
|
.object({
|
|
96
|
-
allowedReviewStatuses: z
|
|
97
|
-
|
|
98
|
-
.optional(),
|
|
99
|
-
allowedMetricFindingSeverities: z
|
|
100
|
-
.array(z.enum(["info", "warning", "fail"]))
|
|
101
|
-
.optional(),
|
|
94
|
+
allowedReviewStatuses: z.array(z.enum(["pass", "warning", "not-evaluated", "fail"])).optional(),
|
|
95
|
+
allowedMetricFindingSeverities: z.array(z.enum(["info", "warning", "fail"])).optional(),
|
|
102
96
|
rationaleRef: tokenSchema.optional(),
|
|
103
97
|
})
|
|
104
98
|
.strict();
|
|
@@ -119,6 +113,14 @@ const runSchema = z
|
|
|
119
113
|
})
|
|
120
114
|
.strict();
|
|
121
115
|
const authentic = new WeakSet();
|
|
116
|
+
// Only owned, frozen inputs can enter this cache. Weak keys do not retain a
|
|
117
|
+
// completed analysis after its caller releases it, and JSON cannot restore it.
|
|
118
|
+
const preparedByInput = new WeakMap();
|
|
119
|
+
const compactPreparedByInput = new WeakMap();
|
|
120
|
+
const compactCompleted = new WeakSet();
|
|
121
|
+
// Retain the exact immutable validated input only while its completed run lives.
|
|
122
|
+
// Reconstructing from the audit would lose the original optional/raw-value form.
|
|
123
|
+
const compactInputByCompletedRun = new WeakMap();
|
|
122
124
|
function freeze(value, seen = new WeakSet()) {
|
|
123
125
|
if (value === null || typeof value !== "object" || seen.has(value))
|
|
124
126
|
return value;
|
|
@@ -152,15 +154,11 @@ function sortedRecord(value) {
|
|
|
152
154
|
}
|
|
153
155
|
function explicitUndefinedIssues(value) {
|
|
154
156
|
const found = [];
|
|
155
|
-
const stack = [
|
|
156
|
-
{ value, path: "$" },
|
|
157
|
-
];
|
|
157
|
+
const stack = [{ value, path: "$" }];
|
|
158
158
|
const seen = new WeakSet();
|
|
159
159
|
while (stack.length > 0) {
|
|
160
160
|
const current = stack.pop();
|
|
161
|
-
if (current.value === null ||
|
|
162
|
-
typeof current.value !== "object" ||
|
|
163
|
-
seen.has(current.value))
|
|
161
|
+
if (current.value === null || typeof current.value !== "object" || seen.has(current.value))
|
|
164
162
|
continue;
|
|
165
163
|
seen.add(current.value);
|
|
166
164
|
for (const [key, child] of Object.entries(current.value)) {
|
|
@@ -188,7 +186,9 @@ function explicitUndefinedIssues(value) {
|
|
|
188
186
|
}
|
|
189
187
|
return found;
|
|
190
188
|
}
|
|
191
|
-
|
|
189
|
+
// Both public gateways share the same full validation/ownership boundary.
|
|
190
|
+
// Selecting compact storage never invokes the eager preparation first.
|
|
191
|
+
function validateRunInputContent(value) {
|
|
192
192
|
const undefinedIssues = explicitUndefinedIssues(value);
|
|
193
193
|
if (undefinedIssues.length > 0)
|
|
194
194
|
throw new DiagnosticValidationError(undefinedIssues);
|
|
@@ -208,8 +208,7 @@ export function validateDiagnosticRunInput(value) {
|
|
|
208
208
|
]);
|
|
209
209
|
for (const [index, row] of (parsed.data.exposures ?? []).entries()) {
|
|
210
210
|
const measure = definition.definition.measures.find((item) => item.id === row.measureId);
|
|
211
|
-
if (measure?.exposureTiming === "valuation-specific" &&
|
|
212
|
-
row.valuation === undefined)
|
|
211
|
+
if (measure?.exposureTiming === "valuation-specific" && row.valuation === undefined)
|
|
213
212
|
relationIssues.push({
|
|
214
213
|
domain: "input",
|
|
215
214
|
code: "missing-required",
|
|
@@ -219,18 +218,10 @@ export function validateDiagnosticRunInput(value) {
|
|
|
219
218
|
}
|
|
220
219
|
if (relationIssues.length)
|
|
221
220
|
throw new DiagnosticValidationError(relationIssues);
|
|
222
|
-
const review = parsed.data.policy?.allowedReviewStatuses ?? [
|
|
223
|
-
|
|
224
|
-
"warning",
|
|
225
|
-
"not-evaluated",
|
|
226
|
-
];
|
|
227
|
-
const metric = parsed.data.policy?.allowedMetricFindingSeverities ?? [
|
|
228
|
-
"info",
|
|
229
|
-
"warning",
|
|
230
|
-
];
|
|
221
|
+
const review = parsed.data.policy?.allowedReviewStatuses ?? ["pass", "warning", "not-evaluated"];
|
|
222
|
+
const metric = parsed.data.policy?.allowedMetricFindingSeverities ?? ["info", "warning"];
|
|
231
223
|
const rationale = parsed.data.policy?.rationaleRef ?? null;
|
|
232
|
-
if ((review.includes("fail") || metric.includes("fail")) &&
|
|
233
|
-
rationale === null)
|
|
224
|
+
if ((review.includes("fail") || metric.includes("fail")) && rationale === null)
|
|
234
225
|
throw new DiagnosticValidationError([
|
|
235
226
|
{
|
|
236
227
|
domain: "configuration",
|
|
@@ -239,8 +230,7 @@ export function validateDiagnosticRunInput(value) {
|
|
|
239
230
|
message: "A rationale is required when fail outcomes are allowed",
|
|
240
231
|
},
|
|
241
232
|
]);
|
|
242
|
-
const reviewEvidence = parsed.data.reviewEvidence === undefined ||
|
|
243
|
-
parsed.data.reviewEvidence === null
|
|
233
|
+
const reviewEvidence = parsed.data.reviewEvidence === undefined || parsed.data.reviewEvidence === null
|
|
244
234
|
? null
|
|
245
235
|
: validateDiagnosticReviewEvidence(parsed.data.reviewEvidence, "$.reviewEvidence");
|
|
246
236
|
const reviewOrder = [
|
|
@@ -249,11 +239,7 @@ export function validateDiagnosticRunInput(value) {
|
|
|
249
239
|
"not-evaluated",
|
|
250
240
|
"fail",
|
|
251
241
|
];
|
|
252
|
-
const metricOrder = [
|
|
253
|
-
"info",
|
|
254
|
-
"warning",
|
|
255
|
-
"fail",
|
|
256
|
-
];
|
|
242
|
+
const metricOrder = ["info", "warning", "fail"];
|
|
257
243
|
for (const key of [
|
|
258
244
|
...Object.keys(parsed.data.groupMap ?? {}),
|
|
259
245
|
...Object.keys(parsed.data.groupDimensions ?? {}),
|
|
@@ -285,24 +271,55 @@ export function validateDiagnosticRunInput(value) {
|
|
|
285
271
|
rationaleRef: rationale,
|
|
286
272
|
},
|
|
287
273
|
});
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
274
|
+
return result;
|
|
275
|
+
}
|
|
276
|
+
function preparationInput(input) {
|
|
277
|
+
return {
|
|
278
|
+
definition: input.definition,
|
|
279
|
+
losses: input.losses,
|
|
280
|
+
exposures: input.exposures,
|
|
281
|
+
...(input.filter === null ? {} : { filter: input.filter }),
|
|
282
|
+
completePeriodCutoffs: input.completePeriodCutoffs,
|
|
283
|
+
...(input.expectedCells === null ? {} : { expectedCells: input.expectedCells }),
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
export function validateDiagnosticRunInput(value) {
|
|
287
|
+
const result = validateRunInputContent(value);
|
|
288
|
+
const prepared = prepareDiagnosticData(preparationInput(result));
|
|
298
289
|
validateDiagnosticGroupingConfiguration({
|
|
299
290
|
prepared,
|
|
300
291
|
groupMap: result.groupMap,
|
|
301
292
|
groupDimensions: result.groupDimensions,
|
|
302
293
|
});
|
|
303
294
|
authentic.add(result);
|
|
295
|
+
preparedByInput.set(result, prepared);
|
|
296
|
+
return result;
|
|
297
|
+
}
|
|
298
|
+
/** Validate, own and prepare inputs without eagerly materializing identity graphs. */
|
|
299
|
+
export function validateDiagnosticRunInputCompact(value) {
|
|
300
|
+
const result = validateRunInputContent(value);
|
|
301
|
+
const prepared = prepareDiagnosticDataCompact(preparationInput(result));
|
|
302
|
+
validateCompactDiagnosticGroupingConfiguration({
|
|
303
|
+
prepared,
|
|
304
|
+
groupMap: result.groupMap,
|
|
305
|
+
groupDimensions: result.groupDimensions,
|
|
306
|
+
});
|
|
307
|
+
compactPreparedByInput.set(result, prepared);
|
|
304
308
|
return result;
|
|
305
309
|
}
|
|
310
|
+
export function assertCompactValidatedDiagnosticRunInput(value) {
|
|
311
|
+
if (value === null ||
|
|
312
|
+
typeof value !== "object" ||
|
|
313
|
+
!compactPreparedByInput.has(value))
|
|
314
|
+
throw new DiagnosticValidationError([
|
|
315
|
+
{
|
|
316
|
+
domain: "input",
|
|
317
|
+
code: "invalid-input-relationship",
|
|
318
|
+
path: "$",
|
|
319
|
+
message: "Value is not an authentic compact validated diagnostic run input",
|
|
320
|
+
},
|
|
321
|
+
]);
|
|
322
|
+
}
|
|
306
323
|
export function assertValidatedDiagnosticRunInput(value) {
|
|
307
324
|
if (value === null || typeof value !== "object" || !authentic.has(value))
|
|
308
325
|
throw new DiagnosticValidationError([
|
|
@@ -317,16 +334,9 @@ export function assertValidatedDiagnosticRunInput(value) {
|
|
|
317
334
|
const completed = new WeakSet();
|
|
318
335
|
export function runValidatedMetricDiagnostics(input) {
|
|
319
336
|
assertValidatedDiagnosticRunInput(input);
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
exposures: input.exposures,
|
|
324
|
-
...(input.filter === null ? {} : { filter: input.filter }),
|
|
325
|
-
completePeriodCutoffs: input.completePeriodCutoffs,
|
|
326
|
-
...(input.expectedCells === null
|
|
327
|
-
? {}
|
|
328
|
-
: { expectedCells: input.expectedCells }),
|
|
329
|
-
});
|
|
337
|
+
// Validation already prepared these exact immutable inputs and checked their
|
|
338
|
+
// grouping. Reuse the authentic result without skipping any execution gate.
|
|
339
|
+
const prepared = preparedByInput.get(input);
|
|
330
340
|
validateDiagnosticGroupingConfiguration({
|
|
331
341
|
prepared,
|
|
332
342
|
groupMap: input.groupMap,
|
|
@@ -353,8 +363,13 @@ export function runValidatedMetricDiagnostics(input) {
|
|
|
353
363
|
groupMap: input.groupMap,
|
|
354
364
|
groupDimensions: input.groupDimensions,
|
|
355
365
|
};
|
|
366
|
+
// These graphs were deeply frozen by their authentic SDK constructors. Walk
|
|
367
|
+
// only the new outcome envelope; a shallow-frozen caller object never enters
|
|
368
|
+
// this set, so the public input boundary still checks/freezes every child.
|
|
369
|
+
const frozenSdkGraphs = new WeakSet([prepared, review]);
|
|
370
|
+
const freezeOutcome = (value) => freeze(value, frozenSdkGraphs);
|
|
356
371
|
if (disallowedReview)
|
|
357
|
-
return
|
|
372
|
+
return freezeOutcome({
|
|
358
373
|
...base,
|
|
359
374
|
status: "blocked",
|
|
360
375
|
stage: "review",
|
|
@@ -370,10 +385,11 @@ export function runValidatedMetricDiagnostics(input) {
|
|
|
370
385
|
groupMap: input.groupMap,
|
|
371
386
|
groupDimensions: input.groupDimensions,
|
|
372
387
|
});
|
|
388
|
+
frozenSdkGraphs.add(result);
|
|
373
389
|
const disallowedMetric = result.findings.some((finding) => finding.category !== "structural" &&
|
|
374
390
|
!input.policy.allowedMetricFindingSeverities.includes(finding.severity));
|
|
375
391
|
if (disallowedMetric)
|
|
376
|
-
return
|
|
392
|
+
return freezeOutcome({
|
|
377
393
|
...base,
|
|
378
394
|
status: "blocked",
|
|
379
395
|
stage: "metric",
|
|
@@ -384,7 +400,7 @@ export function runValidatedMetricDiagnostics(input) {
|
|
|
384
400
|
metricGate: "blocked",
|
|
385
401
|
},
|
|
386
402
|
});
|
|
387
|
-
const outcome =
|
|
403
|
+
const outcome = freezeOutcome({
|
|
388
404
|
...base,
|
|
389
405
|
status: "completed",
|
|
390
406
|
result,
|
|
@@ -408,4 +424,104 @@ export function assertCompletedValidatedMetricDiagnosticsRun(value) {
|
|
|
408
424
|
},
|
|
409
425
|
]);
|
|
410
426
|
}
|
|
427
|
+
/** Run every review and metric gate while retaining complete compact evidence. */
|
|
428
|
+
export function runValidatedMetricDiagnosticsCompact(input) {
|
|
429
|
+
assertCompactValidatedDiagnosticRunInput(input);
|
|
430
|
+
const prepared = compactPreparedByInput.get(input);
|
|
431
|
+
validateCompactDiagnosticGroupingConfiguration({
|
|
432
|
+
prepared,
|
|
433
|
+
groupMap: input.groupMap,
|
|
434
|
+
groupDimensions: input.groupDimensions,
|
|
435
|
+
});
|
|
436
|
+
const review = reviewPreparedDiagnosticDataCompact({
|
|
437
|
+
prepared,
|
|
438
|
+
evidence: input.reviewEvidence,
|
|
439
|
+
});
|
|
440
|
+
const counts = review.evaluations.summary;
|
|
441
|
+
// Aggregate check status and individual effective status are both necessary:
|
|
442
|
+
// an allowed failure must not hide a disallowed not-evaluated row (or vice versa).
|
|
443
|
+
const effectiveCounts = {
|
|
444
|
+
pass: counts.pass,
|
|
445
|
+
warning: counts.warning,
|
|
446
|
+
"not-evaluated": counts.notEvaluated,
|
|
447
|
+
fail: counts.fail,
|
|
448
|
+
};
|
|
449
|
+
const disallowedReview = review.report.checks.some((check) => !input.policy.allowedReviewStatuses.includes(check.status)) ||
|
|
450
|
+
Object.keys(effectiveCounts).some((status) => effectiveCounts[status] > 0 && !input.policy.allowedReviewStatuses.includes(status));
|
|
451
|
+
const base = {
|
|
452
|
+
prepared,
|
|
453
|
+
review,
|
|
454
|
+
runPresetId: input.runPresetId,
|
|
455
|
+
datasetArtifactId: input.datasetArtifactId,
|
|
456
|
+
groupMap: input.groupMap,
|
|
457
|
+
groupDimensions: input.groupDimensions,
|
|
458
|
+
};
|
|
459
|
+
const frozenSdkGraphs = new WeakSet([prepared, review]);
|
|
460
|
+
const freezeOutcome = (value) => freeze(value, frozenSdkGraphs);
|
|
461
|
+
if (disallowedReview)
|
|
462
|
+
return freezeOutcome({
|
|
463
|
+
...base,
|
|
464
|
+
status: "blocked",
|
|
465
|
+
stage: "review",
|
|
466
|
+
result: null,
|
|
467
|
+
gate: {
|
|
468
|
+
...input.policy,
|
|
469
|
+
reviewGate: "blocked",
|
|
470
|
+
metricGate: "not-run",
|
|
471
|
+
},
|
|
472
|
+
});
|
|
473
|
+
const result = runMetricDiagnosticsCompact({
|
|
474
|
+
prepared,
|
|
475
|
+
groupMap: input.groupMap,
|
|
476
|
+
groupDimensions: input.groupDimensions,
|
|
477
|
+
});
|
|
478
|
+
frozenSdkGraphs.add(result);
|
|
479
|
+
const disallowedMetric = result.findings.some((finding) => finding.category !== "structural" &&
|
|
480
|
+
!input.policy.allowedMetricFindingSeverities.includes(finding.severity));
|
|
481
|
+
if (disallowedMetric)
|
|
482
|
+
return freezeOutcome({
|
|
483
|
+
...base,
|
|
484
|
+
status: "blocked",
|
|
485
|
+
stage: "metric",
|
|
486
|
+
result,
|
|
487
|
+
gate: {
|
|
488
|
+
...input.policy,
|
|
489
|
+
reviewGate: "passed",
|
|
490
|
+
metricGate: "blocked",
|
|
491
|
+
},
|
|
492
|
+
});
|
|
493
|
+
const outcome = freezeOutcome({
|
|
494
|
+
...base,
|
|
495
|
+
status: "completed",
|
|
496
|
+
result,
|
|
497
|
+
gate: {
|
|
498
|
+
...input.policy,
|
|
499
|
+
reviewGate: "passed",
|
|
500
|
+
metricGate: "passed",
|
|
501
|
+
},
|
|
502
|
+
});
|
|
503
|
+
compactCompleted.add(outcome);
|
|
504
|
+
compactInputByCompletedRun.set(outcome, input);
|
|
505
|
+
return outcome;
|
|
506
|
+
}
|
|
507
|
+
export function assertCompletedCompactMetricDiagnosticsRun(value) {
|
|
508
|
+
if (value === null || typeof value !== "object" || !compactCompleted.has(value))
|
|
509
|
+
throw new DiagnosticValidationError([
|
|
510
|
+
{
|
|
511
|
+
domain: "input",
|
|
512
|
+
code: "invalid-input-relationship",
|
|
513
|
+
path: "$",
|
|
514
|
+
message: "Value is not an authentic completed compact diagnostic run",
|
|
515
|
+
},
|
|
516
|
+
]);
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Return the original SDK-owned validated input for an authentic completed run.
|
|
520
|
+
* This is the same deeply immutable input owner, not a reconstruction from its
|
|
521
|
+
* normalized audit or a mutable copy of the caller's upload values.
|
|
522
|
+
*/
|
|
523
|
+
export function getCompletedCompactDiagnosticRunInput(run) {
|
|
524
|
+
assertCompletedCompactMetricDiagnosticsRun(run);
|
|
525
|
+
return compactInputByCompletedRun.get(run);
|
|
526
|
+
}
|
|
411
527
|
//# sourceMappingURL=diagnosticInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticInput.js","sourceRoot":"","sources":["../src/diagnosticInput.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnosticInput.js","sourceRoot":"","sources":["../src/diagnosticInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DiagnosticIdentityProjection, type DiagnosticDeepReadonly, type DiagnosticReviewRuleEvaluation, type DiagnosticSourceLocation, type PreparedDiagnosticData } from "@actuarial-ts/core";
|
|
1
|
+
import { type DiagnosticIdentityDocument, type DiagnosticIdentityProjection, type DiagnosticDeepReadonly, type DiagnosticReviewRuleEvaluation, type DiagnosticSourceLocation, type PreparedDiagnosticData, type CompactPreparedDiagnosticData, type CompactDiagnosticReviewEvaluations, type DiagnosticReviewPage } from "@actuarial-ts/core";
|
|
2
2
|
import { type DataCheck, type DataFinding, type DataReviewReport } from "./review.js";
|
|
3
3
|
export interface DiagnosticGroupingAssignment {
|
|
4
4
|
readonly key: string;
|
|
@@ -41,6 +41,69 @@ export interface ReviewPreparedDiagnosticDataInput {
|
|
|
41
41
|
readonly prepared: PreparedDiagnosticData;
|
|
42
42
|
readonly evidence: DiagnosticReviewEvidence | null;
|
|
43
43
|
}
|
|
44
|
+
export interface CompactDiagnosticReviewCheck {
|
|
45
|
+
readonly id: string;
|
|
46
|
+
readonly description: string;
|
|
47
|
+
readonly status: DataCheck["status"];
|
|
48
|
+
readonly details: readonly string[];
|
|
49
|
+
readonly findingCount: number;
|
|
50
|
+
}
|
|
51
|
+
declare const compactFindingsBrand: unique symbol;
|
|
52
|
+
export interface CompactDiagnosticReviewFindings {
|
|
53
|
+
readonly [compactFindingsBrand]: true;
|
|
54
|
+
readonly count: number;
|
|
55
|
+
}
|
|
56
|
+
export interface CompactDiagnosticReviewReceipt {
|
|
57
|
+
readonly definitionIntegrity: string;
|
|
58
|
+
readonly report: {
|
|
59
|
+
readonly checks: readonly CompactDiagnosticReviewCheck[];
|
|
60
|
+
readonly summary: DiagnosticDeepReadonly<DataReviewReport["summary"]>;
|
|
61
|
+
};
|
|
62
|
+
readonly evaluations: CompactDiagnosticReviewEvaluations;
|
|
63
|
+
readonly findings: CompactDiagnosticReviewFindings;
|
|
64
|
+
readonly evidence: DiagnosticDeepReadonly<DiagnosticReviewEvidence> | null;
|
|
65
|
+
}
|
|
66
|
+
export interface ReviewPreparedDiagnosticDataCompactInput {
|
|
67
|
+
readonly prepared: CompactPreparedDiagnosticData;
|
|
68
|
+
readonly evidence: DiagnosticReviewEvidence | null;
|
|
69
|
+
}
|
|
44
70
|
export declare function validateDiagnosticReviewEvidence(value: unknown, root?: string): DiagnosticDeepReadonly<DiagnosticReviewEvidence>;
|
|
45
71
|
export declare function reviewPreparedDiagnosticData(input: ReviewPreparedDiagnosticDataInput): DiagnosticReviewReceipt;
|
|
72
|
+
export declare function assertCompactDiagnosticReviewReceipt(value: unknown): asserts value is CompactDiagnosticReviewReceipt;
|
|
73
|
+
export interface DiagnosticReviewFindingEntry {
|
|
74
|
+
readonly index: number;
|
|
75
|
+
readonly checkId: string;
|
|
76
|
+
readonly finding: DiagnosticDeepReadonly<DataFinding>;
|
|
77
|
+
}
|
|
78
|
+
type WithoutSources<T> = T extends readonly (infer V)[] ? readonly WithoutSources<V>[] : T extends object ? {
|
|
79
|
+
readonly [K in keyof T as K extends "sources" ? "sourceCount" : K]: K extends "sources" ? number : WithoutSources<T[K]>;
|
|
80
|
+
} : T;
|
|
81
|
+
export interface DiagnosticReviewFindingSummary {
|
|
82
|
+
readonly index: number;
|
|
83
|
+
readonly checkId: string;
|
|
84
|
+
readonly finding: WithoutSources<DataFinding>;
|
|
85
|
+
}
|
|
86
|
+
export interface DiagnosticReviewFindingQuery {
|
|
87
|
+
readonly checkId?: string;
|
|
88
|
+
readonly offset?: number;
|
|
89
|
+
readonly limit?: number;
|
|
90
|
+
}
|
|
91
|
+
export interface DiagnosticReviewFindingSourceQuery {
|
|
92
|
+
readonly location?: "context" | "scope";
|
|
93
|
+
readonly offset?: number;
|
|
94
|
+
readonly limit?: number;
|
|
95
|
+
}
|
|
96
|
+
export declare function getDiagnosticReviewFinding(store: CompactDiagnosticReviewFindings, index: number): DiagnosticReviewFindingEntry;
|
|
97
|
+
/** Full ordered evidence, including every finding's source lists. */
|
|
98
|
+
export declare function iterateDiagnosticReviewFindings(store: CompactDiagnosticReviewFindings): IterableIterator<DiagnosticReviewFindingEntry>;
|
|
99
|
+
/** Summary pages never expand source lists, including high-fanout control totals. */
|
|
100
|
+
export declare function pageDiagnosticReviewFindings(store: CompactDiagnosticReviewFindings, query?: DiagnosticReviewFindingQuery): DiagnosticReviewPage<DiagnosticReviewFindingSummary>;
|
|
101
|
+
export declare function pageDiagnosticReviewFindingSources(store: CompactDiagnosticReviewFindings, index: number, query?: DiagnosticReviewFindingSourceQuery): DiagnosticReviewPage<DiagnosticSourceLocation>;
|
|
102
|
+
/** Compact owner receipt; identity projection/hash are deliberately deferred. */
|
|
103
|
+
export declare function reviewPreparedDiagnosticDataCompact(input: ReviewPreparedDiagnosticDataCompactInput): CompactDiagnosticReviewReceipt;
|
|
104
|
+
/** Exact legacy review identity, available only from an authentic immutable owner. */
|
|
105
|
+
export declare function getCompactDiagnosticReviewReceiptIdentityDocument(receipt: CompactDiagnosticReviewReceipt): DiagnosticIdentityDocument;
|
|
106
|
+
/** Explicit evidence operation; caches only the small immutable-owner fingerprint. */
|
|
107
|
+
export declare function getCompactDiagnosticReviewReceiptFingerprint(receipt: CompactDiagnosticReviewReceipt): string;
|
|
108
|
+
export {};
|
|
46
109
|
//# sourceMappingURL=diagnosticPreparedReview.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticPreparedReview.d.ts","sourceRoot":"","sources":["../src/diagnosticPreparedReview.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"diagnosticPreparedReview.d.ts","sourceRoot":"","sources":["../src/diagnosticPreparedReview.ts"],"names":[],"mappings":"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"}
|