refactor: use canonical implementations and types directly

Remove forwarding wrappers and shadow aliases, migrate callers and verification scripts to their owners, and share one exhaustive semantic resource-bound projection.
This commit is contained in:
morluto committed 2026-10-09 23:35:19 +08:00
1 parent 3283a45d09
commit 765e809e36
119 files changed
+577 -629

No files matched your search

@@ -22,8 +22,8 @@ import {
type JavaScriptRuntimeObservation,
type JavaScriptRuntimeTargetLocation,
} from "./javascriptRuntimeObservation.js";
import { canonicalDigest } from "../comparisonSemantics.js";
import { compareCodePoints } from "../canonicalOrdering.js";
import { digestCanonicalValue } from "../canonicalDigest.js";
import { compareUnicodeCodePoints } from "../unicodeCodePointOrder.js";
import { parseEvidence, type Evidence } from "../evidence.js";
import {
javascriptApplicationAnalysisResultSchema,
@@ -140,7 +140,9 @@ export const parseStaticLayers = (
): ParsedStaticLayer[] =>
layers
.map((layer) => parseStaticLayer(layer))
.sort((left, right) => compareCodePoints(left.layerId, right.layerId));
.sort((left, right) =>
compareUnicodeCodePoints(left.layerId, right.layerId),
);
/** Parse only supported passive web/Electron inspection Evidence. */
export const parseRuntimeCaptures = (
@@ -149,7 +151,10 @@ export const parseRuntimeCaptures = (
observations
.map((observation) => parseRuntimeCapture(observation))
.sort((left, right) =>
compareCodePoints(left.evidence.evidence_id, right.evidence.evidence_id),
compareUnicodeCodePoints(
left.evidence.evidence_id,
right.evidence.evidence_id,
),
);
const parseStaticLayer = (layer: StaticLayerInput): ParsedStaticLayer => {
@@ -176,7 +181,7 @@ const parseStaticLayer = (layer: StaticLayerInput): ParsedStaticLayer => {
"JavaScript application Evidence subject disagrees with its result",
);
return {
layerId: `jrl_${canonicalDigest(
layerId: `jrl_${digestCanonicalValue(
{
role: layer.role,
evidence_id: evidence.evidence_id,
@@ -219,7 +224,7 @@ const parseRuntimeCapture = (input: Evidence): ParsedRuntimeCapture => {
kind: "browser",
evidence,
inspection,
captureSha256: canonicalDigest(inspection, "Runtime reconciliation"),
captureSha256: digestCanonicalValue(inspection, "Runtime reconciliation"),
scriptsCompleteWithinScope: scriptsComplete(inspection.completeness),
};
}
@@ -247,7 +252,7 @@ const parseRuntimeCapture = (input: Evidence): ParsedRuntimeCapture => {
kind: "electron",
evidence,
inspection,
captureSha256: canonicalDigest(inspection, "Runtime reconciliation"),
captureSha256: digestCanonicalValue(inspection, "Runtime reconciliation"),
scriptsCompleteWithinScope: scriptsComplete(inspection.completeness),
};
}
@@ -270,7 +275,7 @@ const parseRuntimeCapture = (input: Evidence): ParsedRuntimeCapture => {
kind: "v8-inspector",
evidence,
inspection,
captureSha256: canonicalDigest(result, "Runtime reconciliation"),
captureSha256: digestCanonicalValue(result, "Runtime reconciliation"),
scriptsCompleteWithinScope: false,
};
}