mirror of
https://github.com/morluto/rea.git
synced 2026-10-31 20:06:14 +00:00
refactor(javascript): group domain semantics and contracts (#907)
This commit is contained in:
1 parent
d5f28fb29c
commit
f6a58f1062
253 files changed
+432
-410
No files matched your search
@@ -0,0 +1,53 @@
|
||||
import { classifyStaticLoadStates } from "./javascriptRuntimeLoadState.js";
|
||||
import { buildReconciledApplicationGraph } from "./javascriptRuntimeReconciliationGraph.js";
|
||||
import { reconcileRuntimeEntities } from "./javascriptRuntimeReconciliationMatching.js";
|
||||
import {
|
||||
parseRuntimeCaptures,
|
||||
parseStaticLayers,
|
||||
} from "./javascriptRuntimeReconciliationParsing.js";
|
||||
import { createJavaScriptRuntimeReconciliationResult } from "./javascriptRuntimeReconciliationResult.js";
|
||||
import type { JavaScriptRuntimeReconciliationResult } from "./javascriptRuntimeReconciliationSchemas.js";
|
||||
import { reconcileJavaScriptRuntimeInputSchema } from "./javascriptRuntimeReconciliationSchemas.js";
|
||||
import { projectRuntimeCaptures } from "./javascriptRuntimeReconciliationRuntime.js";
|
||||
import { collectStaticRuntimeCandidates } from "./javascriptRuntimeStaticCandidates.js";
|
||||
|
||||
/** Reconcile static JAG layers with authorized passive CDP Evidence. */
|
||||
export const reconcileJavaScriptRuntime = (
|
||||
input: unknown,
|
||||
): JavaScriptRuntimeReconciliationResult => {
|
||||
const parsed = reconcileJavaScriptRuntimeInputSchema.parse(input);
|
||||
const layers = parseStaticLayers(parsed.static_layers);
|
||||
const captures = parseRuntimeCaptures(parsed.runtime_observations);
|
||||
const runtime = projectRuntimeCaptures(captures);
|
||||
const candidates = collectStaticRuntimeCandidates(layers);
|
||||
const matching = reconcileRuntimeEntities({
|
||||
entities: runtime.entities,
|
||||
candidates,
|
||||
layers,
|
||||
});
|
||||
const loadStates = classifyStaticLoadStates(
|
||||
layers,
|
||||
runtime.entities,
|
||||
matching.items,
|
||||
{
|
||||
reconciliationComplete:
|
||||
runtime.omittedEntities === 0 && matching.omittedItems === 0,
|
||||
},
|
||||
);
|
||||
const graph = buildReconciledApplicationGraph({
|
||||
layers,
|
||||
captures,
|
||||
runtime,
|
||||
reconciliationEdges: matching.edges,
|
||||
omittedReconciliationItems: matching.omittedItems,
|
||||
});
|
||||
return createJavaScriptRuntimeReconciliationResult({
|
||||
layers,
|
||||
captures,
|
||||
runtime,
|
||||
matching,
|
||||
loadStates,
|
||||
graph: graph.graph,
|
||||
omittedGraphItems: graph.omittedGraphItems,
|
||||
});
|
||||
};
|
||||
Reference in new issue
Block a user