mneme-ai 3.13.0 → 3.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `mneme aphelion` (v3.15.0) — the agent brain at the farthest point from the cloud.
3
+ * Simulate / run a disconnected operation: open a session under a local charter, self-gate each
4
+ * action while off-grid, then seal a signed capsule that proves charter-compliance for the whole
5
+ * window — verifiable OFFLINE, and merge-able across the fleet on reconnect.
6
+ * aphelion open --node rover --mission "survey" --scope "sensors/*" --forbidden self-destruct --max-risk 0.7
7
+ * aphelion act --action "read sensor" --risk 0.1 --path sensors/temp
8
+ * aphelion seal --out rover.capsule.json · aphelion verify <capsule> · aphelion merge <capsule...>
9
+ */
10
+ import type { Command } from "commander";
11
+ export declare function registerAphelionCommands(program: Command): void;
12
+ //# sourceMappingURL=aphelion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aphelion.d.ts","sourceRoot":"","sources":["../../src/commands/aphelion.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAazC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkE/D"}
@@ -0,0 +1,122 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { aphelion, infraProvenance, notary } from "@mneme-ai/core";
4
+ import { hostname, cpus } from "node:os";
5
+ function out(s) { process.stdout.write(s + "\n"); }
6
+ const dir = (cwd) => join(cwd, ".mneme", "aphelion");
7
+ const sessPath = (cwd, node) => join(dir(cwd), `${node}.session.json`);
8
+ function loadSession(cwd, node) { try {
9
+ return JSON.parse(readFileSync(sessPath(cwd, node), "utf8"));
10
+ }
11
+ catch {
12
+ return null;
13
+ } }
14
+ function saveSession(cwd, s) { mkdirSync(dir(cwd), { recursive: true }); writeFileSync(sessPath(cwd, s.node), JSON.stringify(s, null, 2), "utf8"); }
15
+ function readCapsule(file) { try {
16
+ const j = JSON.parse(readFileSync(file, "utf8"));
17
+ return (j?.payload?.v ? j.payload : j);
18
+ }
19
+ catch {
20
+ return null;
21
+ } }
22
+ export function registerAphelionCommands(program) {
23
+ const k = program.command("aphelion").description("🛰 APHELION — the agent brain for operations at the farthest point from the cloud (Mars latency · severed Starlink · air-gap). Self-govern against a local charter while disconnected, then prove the whole window offline + merge across the fleet on reconnect.");
24
+ k.command("open").description("Open a disconnected session under a local autonomy charter.")
25
+ .requiredOption("--node <name>", "this node's id (rover, probe, edge-7)")
26
+ .option("--mission <m>", "the mission", "").option("--scope <globs...>", "allowed paths").option("--forbidden <words...>", "forbidden actions").option("--max-risk <n>", "risk ceiling", parseFloat)
27
+ .action((o) => {
28
+ const cwd = process.cwd();
29
+ const infra = infraProvenance.captureInfra({ env: process.env, host: hostname(), platform: process.platform, arch: process.arch, cpus: cpus().length }, Date.now());
30
+ const s = aphelion.openSession({ sessionId: `${o.node}-${Date.now()}`, node: o.node, charter: { mission: o.mission, scope: o.scope ?? [], forbidden: o.forbidden ?? [], maxRisk: o.maxRisk ?? 0.7 }, infra: infra, nowMs: Date.now() });
31
+ saveSession(cwd, s);
32
+ out(`🛰 APHELION session open · node ${o.node} · mission "${o.mission}" · scope [${(o.scope ?? []).join(", ") || "any"}] · forbidden [${(o.forbidden ?? []).join(", ") || "none"}] · maxRisk ${s.charter.maxRisk}`);
33
+ out(` running at the edge (${infra.provider}${infra.region ? "/" + infra.region : ""}) — Earth is out of the loop. Record actions; they self-gate.`);
34
+ });
35
+ k.command("act").description("Record a self-gated action while disconnected (the agent's own conscience).")
36
+ .requiredOption("--node <name>", "this node's id").requiredOption("--action <a>", "what the agent is about to do")
37
+ .option("--risk <n>", "risk 0..1", parseFloat).option("--path <p>", "the resource path it touches")
38
+ .action((o) => {
39
+ const cwd = process.cwd();
40
+ const s = loadSession(cwd, o.node);
41
+ if (!s) {
42
+ out(`no open session for ${o.node} — run: mneme aphelion open --node ${o.node}`);
43
+ process.exitCode = 2;
44
+ return;
45
+ }
46
+ const next = aphelion.recordAction(s, { action: o.action, risk: o.risk ?? 0, path: o.path }, Date.now());
47
+ saveSession(cwd, next);
48
+ const last = next.actions[next.actions.length - 1];
49
+ out(`${last.withinCharter ? "🟢 within charter" : "🔴 CHARTER VIOLATION"} · ${last.action}${o.path ? ` (${o.path})` : ""} · risk ${last.risk} — ${last.reason}`);
50
+ out(` recorded #${last.seq} to the tamper-evident offline ledger (${next.actions.length} action(s) this window).`);
51
+ });
52
+ k.command("seal").description("Seal the disconnected window into a signed capsule (verify offline on reconnect).")
53
+ .requiredOption("--node <name>", "this node's id").option("--out <file>", "write the signed capsule")
54
+ .action((o) => {
55
+ const cwd = process.cwd();
56
+ const s = loadSession(cwd, o.node);
57
+ if (!s) {
58
+ out(`no open session for ${o.node}`);
59
+ process.exitCode = 2;
60
+ return;
61
+ }
62
+ const capsule = aphelion.sealCapsule(s);
63
+ let signed = capsule;
64
+ try {
65
+ signed = notary.issueReceipt(cwd, { kind: "reasoning-trace", subject: `aphelion:${capsule.node}:${capsule.chainHead.slice(0, 10)}`, payload: capsule, includePayload: true, issuedAt: Date.now() });
66
+ }
67
+ catch { /* */ }
68
+ const outPath = o.out ?? join(dir(cwd), `${o.node}.capsule.json`);
69
+ writeFileSync(outPath, JSON.stringify(signed, null, 2), "utf8");
70
+ const c = capsule.compliance;
71
+ out(`🛰 capsule sealed · node ${capsule.node} · ${c.total} action(s) · ${c.withinCharter} within charter · ${c.violations} violation(s)`);
72
+ out(` ${c.violations === 0 ? "🟢 clean window — provably compliant" : "🔴 " + c.violations + " violation(s) recorded — cannot be hidden: " + c.violationIds.join(", ")}`);
73
+ out(` 🛰 signed → ${outPath} (verify offline on reconnect: mneme aphelion verify ${outPath})`);
74
+ });
75
+ k.command("verify <file>").description("Verify a capsule OFFLINE — the chain is intact, every judgement re-derives, and the compliance is real.")
76
+ .action((file) => {
77
+ if (!existsSync(file)) {
78
+ out("capsule not found");
79
+ process.exitCode = 2;
80
+ return;
81
+ }
82
+ let signed;
83
+ try {
84
+ signed = JSON.parse(readFileSync(file, "utf8"));
85
+ }
86
+ catch {
87
+ out("✗ invalid capsule JSON");
88
+ process.exitCode = 2;
89
+ return;
90
+ }
91
+ const sig = notary.verifyReceipt(signed);
92
+ const capsule = readCapsule(file);
93
+ out(sig.valid ? "✓ signature VALID (Ed25519, offline)" : `· ${sig.reason}`);
94
+ if (!capsule) {
95
+ out("✗ no capsule payload");
96
+ process.exitCode = 2;
97
+ return;
98
+ }
99
+ const v = aphelion.verifyCapsule(capsule);
100
+ out(v.valid ? `✓ WINDOW VERIFIED — ${v.reasons[0]}` : "✗ NOT verified:");
101
+ if (!v.valid)
102
+ for (const r of v.reasons)
103
+ out(" • " + r);
104
+ out(` → node ${capsule.node} · mission "${capsule.charter.mission}" · ${capsule.compliance.total} action(s) · ${v.compliant ? "compliant" : capsule.compliance.violations + " violation(s)"}`);
105
+ if (!v.valid)
106
+ process.exitCode = 2;
107
+ });
108
+ k.command("merge <files...>").description("Fleet reconnect: CRDT-merge capsules from many nodes into one conflict-free view.")
109
+ .action((files) => {
110
+ const capsules = files.map(readCapsule).filter(Boolean);
111
+ if (!capsules.length) {
112
+ out("no capsules to merge");
113
+ process.exitCode = 2;
114
+ return;
115
+ }
116
+ const fleet = aphelion.mergeCapsules(capsules);
117
+ out(`🛰 FLEET MERGE · ${fleet.nodes.length} node(s) · ${fleet.totalActions} action(s) · ${fleet.totalViolations} violation(s)`);
118
+ for (const n of fleet.perNode)
119
+ out(` ${n.clean ? "🟢" : "🔴"} ${n.node} · ${n.actions} action(s) · ${n.violations} violation(s)`);
120
+ });
121
+ }
122
+ //# sourceMappingURL=aphelion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aphelion.js","sourceRoot":"","sources":["../../src/commands/aphelion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"thymos.d.ts","sourceRoot":"","sources":["../../src/commands/thymos.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyB7D"}
1
+ {"version":3,"file":"thymos.d.ts","sourceRoot":"","sources":["../../src/commands/thymos.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuE7D"}
@@ -1,5 +1,19 @@
1
- import { thymos } from "@mneme-ai/core";
1
+ import { existsSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { thymos, forgetting, notary } from "@mneme-ai/core";
2
4
  function out(s) { process.stdout.write(s + "\n"); }
5
+ function loadCortex(cwd) {
6
+ try {
7
+ const p = join(cwd, ".mneme", "cortex", "store.json");
8
+ if (!existsSync(p))
9
+ return [];
10
+ const j = JSON.parse(readFileSync(p, "utf8"));
11
+ return Array.isArray(j?.entries) ? j.entries : [];
12
+ }
13
+ catch {
14
+ return [];
15
+ }
16
+ }
3
17
  export function registerThymosCommands(program) {
4
18
  const k = program.command("thymos").description("💗 THYMOS — Mneme's affective core: memory that forgets the trivial + keeps what bonds (salience decay), and a vision that ATTRACTS matching inbound (resonance). Feeling = a SIGNED, measurable salience/bond score — not claimed sentience.")
5
19
  .action(() => {
@@ -24,5 +38,81 @@ export function registerThymosCommands(program) {
24
38
  for (const a of thymos.attract(o.core, items))
25
39
  out(` ${a.pulled ? "🧲 pulled " : "✗ repelled"} · ${a.resonance.toFixed(2)} · ${a.item}`);
26
40
  });
41
+ k.command("consolidate").description("💗 Wire the heart to your real shared memory (the cortex): score each fact's salience (affect × age) and decide what fades — keeping what bonds, forgetting the noise. Dry-run by default; --commit actually forgets the faded facts + mints a signed PROOF-OF-FORGETTING.")
42
+ .option("--floor <n>", "strength floor below which a low-salience trace fades", parseFloat)
43
+ .option("--commit", "actually purge the faded facts from the cortex + mint the proof")
44
+ .option("--out <file>", "where to write the signed Proof-of-Forgetting (default .mneme/cortex/forgetting.json)")
45
+ .action((o) => {
46
+ const cwd = process.cwd();
47
+ const now = Date.now();
48
+ const entries = loadCortex(cwd);
49
+ if (!entries.length) {
50
+ out("💗 cortex is empty — nothing to consolidate yet.");
51
+ return;
52
+ }
53
+ const nodes = entries.map((e) => thymos.imprint(e.id, `${e.key}: ${e.value}`, { nowMs: e.at || now }));
54
+ const con = thymos.consolidate(nodes, now, o.floor ?? 0.18);
55
+ const keptIds = new Set(con.kept.map((n) => n.id));
56
+ const faded = entries.filter((e) => !keptIds.has(e.id));
57
+ out(`💗 THYMOS consolidate — ${entries.length} fact(s): ${con.kept.length} kept · ${faded.length} would fade (low salience, decayed)`);
58
+ for (const n of con.kept.slice(0, 5))
59
+ out(` keep · salience ${thymos.salienceOf(n).toFixed(2)} · ${n.text.slice(0, 56)}`);
60
+ for (const e of faded.slice(0, 5))
61
+ out(` fade · ${e.key}`);
62
+ if (!o.commit) {
63
+ out(" (dry-run — nothing changed. Pass --commit to forget the faded facts + mint the signed proof.)");
64
+ return;
65
+ }
66
+ // ACTUALLY forget: rewrite the store without the faded entries, then the receipt is TRUE + verifiable
67
+ const remainingEntries = entries.filter((e) => keptIds.has(e.id));
68
+ try {
69
+ const full = JSON.parse(readFileSync(join(cwd, ".mneme", "cortex", "store.json"), "utf8"));
70
+ full.entries = full.entries.filter((e) => keptIds.has(e.id));
71
+ writeFileSync(join(cwd, ".mneme", "cortex", "store.json"), JSON.stringify(full, null, 2), "utf8");
72
+ }
73
+ catch { /* */ }
74
+ const fItems = faded.map((e) => ({ id: e.id, contentHash: forgetting.contentHash(`${e.key}: ${e.value}`), reason: "low salience, decayed", salience: thymos.salience({ recalls: 0, valence: thymos.readAffect(e.value).valence, consequence: 0 }) }));
75
+ const remaining = remainingEntries.map((e) => ({ id: e.id, contentHash: forgetting.contentHash(`${e.key}: ${e.value}`) }));
76
+ const receipt = forgetting.buildForgettingReceipt(fItems, remaining, now);
77
+ let signed = receipt;
78
+ try {
79
+ signed = notary.issueReceipt(cwd, { kind: "claim-verdict", subject: `proof-of-forgetting:${receipt.merkleRoot.slice(0, 12)}`, payload: receipt, includePayload: true, issuedAt: now });
80
+ }
81
+ catch { /* */ }
82
+ const outPath = o.out ?? join(cwd, ".mneme", "cortex", "forgetting.json");
83
+ writeFileSync(outPath, JSON.stringify(signed, null, 2), "utf8");
84
+ out(` 🗑 forgot ${receipt.count} fact(s) + signed Proof-of-Forgetting → ${outPath} (verify offline: mneme forget verify ${outPath})`);
85
+ });
86
+ // top-level: verify a Proof-of-Forgetting against the current cortex store (offline)
87
+ program.command("forget").description("🗑 PROOF-OF-FORGETTING — prove a memory was truly forgotten (GDPR / EU AI Act right-to-erasure). The inverse of provenance: everyone proves they KEPT data; this proves it's GONE.")
88
+ .command("verify <file>").description("Verify OFFLINE that the faded facts are absent from the current shared memory.")
89
+ .action((file) => {
90
+ if (!existsSync(file)) {
91
+ out("receipt not found");
92
+ process.exitCode = 2;
93
+ return;
94
+ }
95
+ let signed;
96
+ try {
97
+ signed = JSON.parse(readFileSync(file, "utf8"));
98
+ }
99
+ catch {
100
+ out("✗ invalid receipt JSON");
101
+ process.exitCode = 2;
102
+ return;
103
+ }
104
+ const receipt = (signed.payload && signed.payload.kind ? signed.payload : signed);
105
+ const sig = notary.verifyReceipt(signed);
106
+ const cwd = process.cwd();
107
+ const store = loadCortex(cwd).map((e) => ({ id: e.id, contentHash: forgetting.contentHash(`${e.key}: ${e.value}`) }));
108
+ const v = forgetting.verifyForgetting(receipt, store);
109
+ out(sig.valid ? "✓ signature VALID (Ed25519, offline)" : `· unsigned/${sig.reason}`);
110
+ out(v.valid ? `✓ FORGETTING PROVEN — ${v.reasons[0]}` : "✗ NOT proven:");
111
+ if (!v.valid)
112
+ for (const r of v.reasons)
113
+ out(" • " + r);
114
+ if (!v.valid)
115
+ process.exitCode = 2;
116
+ });
27
117
  }
28
118
  //# sourceMappingURL=thymos.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"thymos.js","sourceRoot":"","sources":["../../src/commands/thymos.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,SAAS,GAAG,CAAC,CAAS,IAAU,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAEjE,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,+OAA+O,CAAC;SAC7R,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAClC,GAAG,CAAC,6CAA6C,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAChE,GAAG,CAAC,gKAAgK,CAAC,CAAC;QACtK,GAAG,CAAC,sGAAsG,CAAC,CAAC;QAC5G,GAAG,CAAC,2JAA2J,CAAC,CAAC;QACjK,GAAG,CAAC,4HAA4H,CAAC,CAAC;IACpI,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,+FAA+F,CAAC;SAClI,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC;QACvG,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACpE,GAAG,CAAC,oDAAoD,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAC;IACnL,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,qHAAqH,CAAC;SAChK,cAAc,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SAC3E,MAAM,CAAC,CAAC,KAAe,EAAE,CAAmB,EAAE,EAAE;QAC/C,GAAG,CAAC,4BAA4B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7I,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"thymos.js","sourceRoot":"","sources":["../../src/commands/thymos.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE5D,SAAS,GAAG,CAAC,CAAS,IAAU,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAGjE,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACtN,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,+OAA+O,CAAC;SAC7R,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAClC,GAAG,CAAC,6CAA6C,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAChE,GAAG,CAAC,gKAAgK,CAAC,CAAC;QACtK,GAAG,CAAC,sGAAsG,CAAC,CAAC;QAC5G,GAAG,CAAC,2JAA2J,CAAC,CAAC;QACjK,GAAG,CAAC,4HAA4H,CAAC,CAAC;IACpI,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,+FAA+F,CAAC;SAClI,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC;QACvG,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACpE,GAAG,CAAC,oDAAoD,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,GAAG,GAAG,EAAE,CAAC,oCAAoC,CAAC,CAAC;IACnL,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,qHAAqH,CAAC;SAChK,cAAc,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;SAC3E,MAAM,CAAC,CAAC,KAAe,EAAE,CAAmB,EAAE,EAAE;QAC/C,GAAG,CAAC,4BAA4B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;YAAE,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7I,CAAC,CAAC,CAAC;IAEL,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,4QAA4Q,CAAC;SAC/S,MAAM,CAAC,aAAa,EAAE,uDAAuD,EAAE,UAAU,CAAC;SAC1F,MAAM,CAAC,UAAU,EAAE,iEAAiE,CAAC;SACrF,MAAM,CAAC,cAAc,EAAE,uFAAuF,CAAC;SAC/G,MAAM,CAAC,CAAC,CAAqD,EAAE,EAAE;QAChE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAAC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAAC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QACnF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACzF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;QACvG,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,WAAW,KAAK,CAAC,MAAM,qCAAqC,CAAC,CAAC;QACvI,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,GAAG,CAAC,sBAAsB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5H,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAAE,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAAC,GAAG,CAAC,kGAAkG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACnI,sGAAsG;QACtG,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC;YAAC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QACpS,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtP,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3H,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC1E,IAAI,MAAM,GAAY,OAAO,CAAC;QAC9B,IAAI,CAAC;YAAC,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/M,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC1E,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,GAAG,CAAC,gBAAgB,OAAO,CAAC,KAAK,2CAA2C,OAAO,yCAAyC,OAAO,GAAG,CAAC,CAAC;IAC1I,CAAC,CAAC,CAAC;IAEL,qFAAqF;IACrF,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,oLAAoL,CAAC;SACxN,OAAO,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,gFAAgF,CAAC;SACtH,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;QACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAClF,IAAI,MAAiF,CAAC;QACtF,IAAI,CAAC;YAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC/H,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAiC,CAAC;QAClH,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtH,MAAM,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACrF,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QACzE,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;gBAAE,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiMA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAimNvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkMA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkmNvD"}
package/dist/index.js CHANGED
@@ -111,6 +111,7 @@ import { registerMcpgateCommands } from "./commands/mcpgate.js";
111
111
  import { registerAgentcertCommands } from "./commands/agentcert.js";
112
112
  import { registerThymosCommands } from "./commands/thymos.js";
113
113
  import { registerInfraCommands } from "./commands/infra.js";
114
+ import { registerAphelionCommands } from "./commands/aphelion.js";
114
115
  import { registerAdamasCommands } from "./commands/adamas.js";
115
116
  import { registerPrismCommands } from "./commands/prism.js";
116
117
  import { registerGoldilocksCommands } from "./commands/goldilocks.js";
@@ -4789,6 +4790,7 @@ export async function run(argv) {
4789
4790
  registerAgentcertCommands(program);
4790
4791
  registerThymosCommands(program);
4791
4792
  registerInfraCommands(program);
4793
+ registerAphelionCommands(program);
4792
4794
  registerAdamasCommands(program);
4793
4795
  registerPrismCommands(program);
4794
4796
  registerGoldilocksCommands(program);