mirror of
https://github.com/morluto/rea.git
synced 2026-10-27 18:05:45 +00:00
feat(electron): reconcile static artifacts with passive runtime
This commit is contained in:
1 parent
3fa2304bc7
commit
8c67dbd49e
258 files changed
+7609
-650
No files matched your search
@@ -0,0 +1,37 @@
|
||||
import { z } from "zod";
|
||||
|
||||
import {
|
||||
AnalysisInputError,
|
||||
AnalysisProtocolError,
|
||||
type AnalysisError,
|
||||
} from "../domain/errors.js";
|
||||
import type { Evidence } from "../domain/evidence.js";
|
||||
import { reconcileJavaScriptRuntime } from "../domain/javascriptRuntimeReconciliation.js";
|
||||
import { reconcileJavaScriptRuntimeInputSchema } from "../domain/javascriptRuntimeReconciliationSchemas.js";
|
||||
import { err, ok, type Result } from "../domain/result.js";
|
||||
import { createJavaScriptRuntimeReconciliationEvidence } from "./JavaScriptRuntimeReconciliationEvidence.js";
|
||||
|
||||
const OPERATION = "reconcile_javascript_runtime" as const;
|
||||
|
||||
/** Derive a combined JAG from verified static and passive-runtime Evidence. */
|
||||
export const reconcileJavaScriptRuntimeEvidence = (
|
||||
rawInput: unknown,
|
||||
): Result<Evidence, AnalysisError> => {
|
||||
const parsed = reconcileJavaScriptRuntimeInputSchema.safeParse(rawInput);
|
||||
if (!parsed.success) return err(new AnalysisInputError(OPERATION));
|
||||
try {
|
||||
const result = reconcileJavaScriptRuntime(parsed.data);
|
||||
return ok(
|
||||
createJavaScriptRuntimeReconciliationEvidence(parsed.data, result),
|
||||
);
|
||||
} catch (cause: unknown) {
|
||||
return err(
|
||||
cause instanceof z.ZodError || cause instanceof TypeError
|
||||
? new AnalysisInputError(OPERATION)
|
||||
: new AnalysisProtocolError(
|
||||
"JavaScript runtime reconciliation produced an invalid result",
|
||||
{ cause },
|
||||
),
|
||||
);
|
||||
}
|
||||
};
|
||||
Reference in new issue
Block a user