MCPcopy Create free account
hub / github.com/EvoMap/evolver / main

Function main

scripts/a2a_ingest.js:22–74  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

20}
21
22function main() {
23 var args = process.argv.slice(2);
24 var inputPath = '';
25 for (var i = 0; i < args.length; i++) {
26 if (args[i] && !args[i].startsWith('--')) { inputPath = args[i]; break; }
27 }
28 var source = process.env.A2A_SOURCE || 'external';
29 var factor = Number.isFinite(Number(process.env.A2A_EXTERNAL_CONFIDENCE_FACTOR))
30 ? Number(process.env.A2A_EXTERNAL_CONFIDENCE_FACTOR) : 0.6;
31
32 var text = inputPath ? a2a.readTextIfExists(inputPath) : readStdin();
33 var parsed = a2a.parseA2AInput(text);
34 var signals = parseSignalsFromEnv();
35
36 var accepted = 0;
37 var rejected = 0;
38 var emitDecisions = process.env.A2A_EMIT_DECISIONS === 'true';
39
40 for (var j = 0; j < parsed.length; j++) {
41 var obj = parsed[j];
42 if (!a2a.isAllowedA2AAsset(obj)) continue;
43
44 if (obj.asset_id && typeof obj.asset_id === 'string') {
45 if (!contentHash.verifyAssetId(obj)) {
46 rejected += 1;
47 if (emitDecisions) {
48 try {
49 var dm = a2aProto.buildDecision({ assetId: obj.asset_id, localId: obj.id, decision: 'reject', reason: 'asset_id integrity check failed' });
50 a2aProto.getTransport().send(dm);
51 } catch (e) {}
52 }
53 continue;
54 }
55 }
56
57 var staged = a2a.lowerConfidence(obj, { source: source, factor: factor });
58 if (!staged) continue;
59
60 assetStore.appendExternalCandidateJsonl(staged);
61 try { memGraph.recordExternalCandidate({ asset: staged, source: source, signals: signals }); } catch (e) {}
62
63 if (emitDecisions) {
64 try {
65 var dm2 = a2aProto.buildDecision({ assetId: staged.asset_id, localId: staged.id, decision: 'quarantine', reason: 'staged as external candidate' });
66 a2aProto.getTransport().send(dm2);
67 } catch (e) {}
68 }
69
70 accepted += 1;
71 }
72
73 process.stdout.write('accepted=' + accepted + ' rejected=' + rejected + '\n');
74}
75
76try { main(); } catch (e) {
77 process.stderr.write((e && e.message ? e.message : String(e)) + '\n');

Callers 1

a2a_ingest.jsFile · 0.70

Calls 3

parseSignalsFromEnvFunction · 0.85
readStdinFunction · 0.70
sendMethod · 0.45

Tested by

no test coverage detected