fix(native): attribute deferred Evidence input failures

This commit is contained in:
morluto committed 2026-10-24 02:45:14 +08:00
1 parent 2721650884
commit f8876e5405
5 files changed
+134 -10

No files matched your search

@@ -0,0 +1,23 @@
import { evidenceInputSchema } from "../../domain/evidenceReference.js";
import { AnalysisInputError } from "../../domain/analysisErrorCore.js";
import { EvidenceIntegrityError } from "../../domain/evidenceErrors.js";
import { projectInputIssues } from "../../domain/inputIssueProjection.js";
/** Attribute malformed caller values after admission; authenticated facts keep integrity semantics. */
export const nativeMatchingInputError = (
input: unknown,
path: readonly (string | number)[],
operation: string,
failure: EvidenceIntegrityError,
): AnalysisInputError | EvidenceIntegrityError => {
const shape = evidenceInputSchema.safeParse(input);
if (shape.success) return failure;
return new AnalysisInputError(
operation,
{ cause: failure },
projectInputIssues(shape.error.issues, input).map((issue) => ({
...issue,
path: [...path, ...issue.path],
})),
);
};