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

Function main

scripts/a2a_export.js:6–58  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4const { computeAssetId, SCHEMA_VERSION } = require('../src/gep/contentHash');
5
6function main() {
7 var args = process.argv.slice(2);
8 var asJson = args.includes('--json');
9 var asProtocol = args.includes('--protocol');
10 var withHello = args.includes('--hello');
11 var persist = args.includes('--persist');
12 var includeEvents = args.includes('--include-events');
13
14 var capsules = loadCapsules();
15 var genes = loadGenes();
16 var events = readAllEvents();
17
18 // Build eligible list: Capsules (filtered) + Genes (filtered) + Events (opt-in)
19 var eligibleCapsules = exportEligibleCapsules({ capsules: capsules, events: events });
20 var eligibleGenes = exportEligibleGenes({ genes: genes });
21 var eligible = eligibleCapsules.concat(eligibleGenes);
22
23 if (includeEvents) {
24 var eligibleEvents = (Array.isArray(events) ? events : []).filter(function (e) {
25 return isAllowedA2AAsset(e) && e.type === 'EvolutionEvent';
26 });
27 for (var ei = 0; ei < eligibleEvents.length; ei++) {
28 var ev = eligibleEvents[ei];
29 if (!ev.schema_version) ev.schema_version = SCHEMA_VERSION;
30 if (!ev.asset_id) { try { ev.asset_id = computeAssetId(ev); } catch (e) {} }
31 }
32 eligible = eligible.concat(eligibleEvents);
33 }
34
35 if (withHello || asProtocol) {
36 var hello = buildHello({ geneCount: genes.length, capsuleCount: capsules.length });
37 process.stdout.write(JSON.stringify(hello) + '\n');
38 if (persist) { try { getTransport().send(hello); } catch (e) {} }
39 }
40
41 if (asProtocol) {
42 for (var i = 0; i < eligible.length; i++) {
43 var msg = buildPublish({ asset: eligible[i] });
44 process.stdout.write(JSON.stringify(msg) + '\n');
45 if (persist) { try { getTransport().send(msg); } catch (e) {} }
46 }
47 return;
48 }
49
50 if (asJson) {
51 process.stdout.write(JSON.stringify(eligible, null, 2) + '\n');
52 return;
53 }
54
55 for (var j = 0; j < eligible.length; j++) {
56 process.stdout.write(JSON.stringify(eligible[j]) + '\n');
57 }
58}
59
60try { main(); } catch (e) {
61 process.stderr.write((e && e.message ? e.message : String(e)) + '\n');

Callers 1

a2a_export.jsFile · 0.70

Calls 7

loadCapsulesFunction · 0.85
loadGenesFunction · 0.85
readAllEventsFunction · 0.85
exportEligibleCapsulesFunction · 0.85
exportEligibleGenesFunction · 0.85
isAllowedA2AAssetFunction · 0.85
sendMethod · 0.45

Tested by

no test coverage detected