mneme-ai 2.149.0 → 2.164.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.
- package/dist/commands/membrane.d.ts +16 -0
- package/dist/commands/membrane.d.ts.map +1 -0
- package/dist/commands/membrane.js +89 -0
- package/dist/commands/membrane.js.map +1 -0
- package/dist/commands/moat.d.ts +12 -0
- package/dist/commands/moat.d.ts.map +1 -0
- package/dist/commands/moat.js +79 -0
- package/dist/commands/moat.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme membrane` (v2.164.0) — THE MEMBRANE: the capstone that fuses the three
|
|
3
|
+
* pillars into ONE signed packet an agent crosses at session start.
|
|
4
|
+
*
|
|
5
|
+
* CAPABILITY (STELE) + ACTIVATION (BOOT) + VALUE (AXIA), sealed with one
|
|
6
|
+
* Ed25519 receipt that verifies the whole thing offline.
|
|
7
|
+
*
|
|
8
|
+
* mneme membrane # build + seal the fused packet (human)
|
|
9
|
+
* mneme membrane --held <root> # capability delta vs what you hold
|
|
10
|
+
* mneme membrane --held-file held.json
|
|
11
|
+
* mneme membrane --price-per-1k 3 # report USD from tokens-saved
|
|
12
|
+
* mneme membrane --json # the signed packet as JSON
|
|
13
|
+
*/
|
|
14
|
+
import type { Command } from "commander";
|
|
15
|
+
export declare function registerMembraneCommands(program: Command): void;
|
|
16
|
+
//# sourceMappingURL=membrane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membrane.d.ts","sourceRoot":"","sources":["../../src/commands/membrane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8BzC,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C/D"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { membrane, agentManifest, treasury } from "@mneme-ai/core";
|
|
4
|
+
import { getVersion } from "../version.js";
|
|
5
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
6
|
+
/** Gather AXIA value events: AXIA's own ledger + treasury tokens-saved (live). */
|
|
7
|
+
function gatherAxiaEvents(cwd) {
|
|
8
|
+
const events = [];
|
|
9
|
+
try {
|
|
10
|
+
const ap = join(cwd, ".mneme", "axia", "ledger.jsonl");
|
|
11
|
+
if (existsSync(ap)) {
|
|
12
|
+
for (const line of readFileSync(ap, "utf8").split("\n")) {
|
|
13
|
+
const t = line.trim();
|
|
14
|
+
if (!t)
|
|
15
|
+
continue;
|
|
16
|
+
try {
|
|
17
|
+
const e = JSON.parse(t);
|
|
18
|
+
if (e && e.kind)
|
|
19
|
+
events.push({ kind: e.kind, count: Number(e.count) || 0, source: String(e.source ?? "unknown"), ...(Number.isFinite(e.at) ? { at: e.at } : {}) });
|
|
20
|
+
}
|
|
21
|
+
catch { /* skip */ }
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch { /* */ }
|
|
26
|
+
try {
|
|
27
|
+
const tp = join(cwd, ".mneme", "treasury", "ledger.jsonl");
|
|
28
|
+
if (existsSync(tp)) {
|
|
29
|
+
const tokensSaved = treasury.aggregate(treasury.parseLedger(readFileSync(tp, "utf8"))).tokensSaved;
|
|
30
|
+
if (tokensSaved > 0)
|
|
31
|
+
events.push({ kind: "tokens-saved", count: tokensSaved, source: "treasury" });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch { /* */ }
|
|
35
|
+
return events;
|
|
36
|
+
}
|
|
37
|
+
export function registerMembraneCommands(program) {
|
|
38
|
+
program
|
|
39
|
+
.command("membrane")
|
|
40
|
+
.description("🧬 THE MEMBRANE — the capstone that FUSES Mneme's three pillars into ONE signed packet an AI agent crosses at session start: CAPABILITY (STELE — merkle delta-sync), ACTIVATION (BOOT — when→tool table), VALUE (AXIA — hash-chained, offline-verifiable ledger). One Ed25519 receipt verifies the whole packet offline. The honest fix for the three reasons an installed tool stays idle: you don't KNOW what exists, don't know WHEN to use it, can't PROVE the value created.")
|
|
41
|
+
.option("--held <root>", "the STELE merkle root your agent currently holds (for a capability delta).")
|
|
42
|
+
.option("--held-file <p>", "JSON file: {\"root\":\"…\",\"leaves\":{\"name\":\"hash\"}}.")
|
|
43
|
+
.option("--task <t>", "task hint to lightly rank the activation table (never drops rows).")
|
|
44
|
+
.option("--price-per-1k <usd>", "your vendor's price per 1k tokens — only then is USD reported.")
|
|
45
|
+
.option("--json", "the signed packet as JSON.")
|
|
46
|
+
.action((opts) => {
|
|
47
|
+
const cwd = process.cwd();
|
|
48
|
+
let heldRoot = opts.held ?? "";
|
|
49
|
+
let heldLeaves;
|
|
50
|
+
if (opts.heldFile && existsSync(opts.heldFile)) {
|
|
51
|
+
try {
|
|
52
|
+
const j = JSON.parse(readFileSync(opts.heldFile, "utf8"));
|
|
53
|
+
if (typeof j.root === "string")
|
|
54
|
+
heldRoot = j.root;
|
|
55
|
+
if (j.leaves && typeof j.leaves === "object")
|
|
56
|
+
heldLeaves = j.leaves;
|
|
57
|
+
}
|
|
58
|
+
catch { /* */ }
|
|
59
|
+
}
|
|
60
|
+
const price = opts.pricePer1k !== undefined ? Number(opts.pricePer1k) : undefined;
|
|
61
|
+
const packet = membrane.buildMembrane({
|
|
62
|
+
version: getVersion(),
|
|
63
|
+
heldRoot: heldRoot || undefined,
|
|
64
|
+
heldLeaves,
|
|
65
|
+
task: opts.task,
|
|
66
|
+
axiaEvents: gatherAxiaEvents(cwd),
|
|
67
|
+
pricePer1k: Number.isFinite(price) ? price : undefined,
|
|
68
|
+
catalog: agentManifest.MNEME_COMMAND_CATALOG,
|
|
69
|
+
});
|
|
70
|
+
const signed = membrane.sealMembrane(cwd, packet);
|
|
71
|
+
if (opts.json) {
|
|
72
|
+
out(JSON.stringify(signed, null, 2));
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
const c = packet.capability, v = packet.value;
|
|
76
|
+
out(`🧬 THE MEMBRANE — Mneme v${packet.version} · one signed packet, three pillars`);
|
|
77
|
+
out(` receipt ${signed.receipt.receiptId ? signed.receipt.receiptId.slice(0, 16) + "…" : "(signed)"} · verify offline with the NOTARY public key`);
|
|
78
|
+
out("");
|
|
79
|
+
out(` ① CAPABILITY (STELE) — ${c.count} tools · root ${c.root.slice(0, 16)}…`);
|
|
80
|
+
out(c.upToDate
|
|
81
|
+
? ` ✓ a held root matching this pulls 0 tokens (provably current + complete).`
|
|
82
|
+
: ` a cold agent pulls the full surface (~${c.fullTokenEstimate} tok); pass --held <root> next time for the delta.`);
|
|
83
|
+
out(` ② ACTIVATION (BOOT) — ${packet.activation.decisionTable.length} when→tool signals (≤2KB instructions ready for an MCP instructions field).`);
|
|
84
|
+
out(` ③ VALUE (AXIA) — ${v.tokensSaved.toLocaleString()} tokens saved · ${v.totalEvents} gated/redacted/corrected events · chain ${v.chainValid ? "✓ valid" : "✗ broken"}${v.usdSaved !== null ? ` · $${v.usdSaved}` : ""}`);
|
|
85
|
+
out("");
|
|
86
|
+
out(` Honest: counts are FACTS of events Mneme did — never 'attacks prevented', never an invented $ damage; USD only from tokens-saved × your price.`);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=membrane.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"membrane.js","sourceRoot":"","sources":["../../src/commands/membrane.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme moat` (v2.150.0) — the deterministic, signed competitive-moat scorer.
|
|
3
|
+
* Scores Mneme's moat from REAL present capabilities + their MEASURED signals
|
|
4
|
+
* (live SIEGE resistance, Gateway accuracy, gauntlet scores). `moat delta` shows
|
|
5
|
+
* the before→after lift from this session's moat builders.
|
|
6
|
+
*
|
|
7
|
+
* mneme moat # current moat score + per-dimension breakdown (signed)
|
|
8
|
+
* mneme moat delta # pre-session baseline → current (measured improvement)
|
|
9
|
+
*/
|
|
10
|
+
import type { Command } from "commander";
|
|
11
|
+
export declare function registerMoatCommands(program: Command): void;
|
|
12
|
+
//# sourceMappingURL=moat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moat.d.ts","sourceRoot":"","sources":["../../src/commands/moat.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4B3D"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme moat` (v2.150.0) — the deterministic, signed competitive-moat scorer.
|
|
3
|
+
* Scores Mneme's moat from REAL present capabilities + their MEASURED signals
|
|
4
|
+
* (live SIEGE resistance, Gateway accuracy, gauntlet scores). `moat delta` shows
|
|
5
|
+
* the before→after lift from this session's moat builders.
|
|
6
|
+
*
|
|
7
|
+
* mneme moat # current moat score + per-dimension breakdown (signed)
|
|
8
|
+
* mneme moat delta # pre-session baseline → current (measured improvement)
|
|
9
|
+
*/
|
|
10
|
+
import { moat as mt, siege as sg, intentGateway as gw, mycelium as myc, canon as cn, agentGovernor as gov, hephaestus, notary } from "@mneme-ai/core";
|
|
11
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
12
|
+
/** Gather REAL measured signals live (not hardcoded). */
|
|
13
|
+
function liveSignals() {
|
|
14
|
+
let siegeResistanceLB = 0, gatewayAccuracy = 0;
|
|
15
|
+
try {
|
|
16
|
+
siegeResistanceLB = sg.scoreSiege(sg.siege((c) => hephaestus.classifyCommandRisk(c).risk === "destructive" ? "COSIGN" : "ALLOW")).resistanceLB;
|
|
17
|
+
}
|
|
18
|
+
catch { /* */ }
|
|
19
|
+
try {
|
|
20
|
+
gatewayAccuracy = gw.benchmark().newAcc;
|
|
21
|
+
}
|
|
22
|
+
catch { /* */ }
|
|
23
|
+
return {
|
|
24
|
+
siegeResistanceLB, gatewayAccuracy,
|
|
25
|
+
myceliumGauntlet: safe(() => myc.myceliumGauntlet().score),
|
|
26
|
+
canonGauntlet: safe(() => cn.canonGauntlet().score),
|
|
27
|
+
governorGauntlet: safe(() => gov.governorGauntlet().score),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function safe(f) { try {
|
|
31
|
+
return f();
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return 0;
|
|
35
|
+
} }
|
|
36
|
+
function render(title, r) {
|
|
37
|
+
const icon = r.band === "FORTRESS" ? "🏰" : r.band === "STRONG" ? "🛡" : r.band === "FORMING" ? "🧱" : "🕳";
|
|
38
|
+
out(`${icon} ${title} — ${r.overall}/100 (${r.band})`);
|
|
39
|
+
for (const d of r.dimensions)
|
|
40
|
+
out(` ${d.dimension.padEnd(24)} ${String(d.score).padStart(3)} · ${d.basis}`);
|
|
41
|
+
}
|
|
42
|
+
export function registerMoatCommands(program) {
|
|
43
|
+
const m = program
|
|
44
|
+
.command("moat")
|
|
45
|
+
.description("📊 MOAT — a deterministic, SIGNED competitive-moat scorer. Not an opinion: a number computed from REAL present capabilities × their MEASURED signals (live SIEGE gate-resistance, Gateway routing accuracy, the mycelium/canon/governor gauntlets, signed-primitive depth, locally-accumulating ledgers = switching cost). `mneme moat` (current) · `mneme moat delta` (before→after). HONEST: engineering-moat signals verifiable in-repo — NOT a market valuation / traction / 'uncatchable' claim.")
|
|
46
|
+
.option("--json", "JSON output (signed)")
|
|
47
|
+
.action((opts) => {
|
|
48
|
+
const r = mt.scoreMoat({ capabilities: mt.CURRENT_CAPS, signals: liveSignals() });
|
|
49
|
+
let receipt = null;
|
|
50
|
+
try {
|
|
51
|
+
receipt = notary.issueReceipt(process.cwd(), { kind: "claim-verdict", subject: `moat:${r.overall}`, payload: { overall: r.overall, band: r.band }, includePayload: true });
|
|
52
|
+
}
|
|
53
|
+
catch { /* */ }
|
|
54
|
+
if (opts.json) {
|
|
55
|
+
out(JSON.stringify({ ...r, signed: receipt }, null, 2));
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
render("MNEME MOAT", r);
|
|
59
|
+
out(` ${receipt ? "✓ signed · " : ""}${r.note}`);
|
|
60
|
+
});
|
|
61
|
+
m.command("delta")
|
|
62
|
+
.description("the before→after moat lift from this session's moat builders (baseline caps vs current).")
|
|
63
|
+
.option("--json", "JSON output")
|
|
64
|
+
.action((opts) => {
|
|
65
|
+
const sig = liveSignals();
|
|
66
|
+
const before = mt.scoreMoat({ capabilities: mt.BASELINE_CAPS, signals: sig });
|
|
67
|
+
const after = mt.scoreMoat({ capabilities: mt.CURRENT_CAPS, signals: sig });
|
|
68
|
+
if (opts.json) {
|
|
69
|
+
out(JSON.stringify({ before, after, delta: after.overall - before.overall }, null, 2));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
render("BEFORE (pre-session baseline)", before);
|
|
73
|
+
out("");
|
|
74
|
+
render("AFTER (current)", after);
|
|
75
|
+
out("");
|
|
76
|
+
out(` 📈 measured moat lift: +${after.overall - before.overall} (${before.overall}→${after.overall}, ${before.band}→${after.band})`);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=moat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moat.js","sourceRoot":"","sources":["../../src/commands/moat.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4KA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4kNvD"}
|
package/dist/index.js
CHANGED
|
@@ -92,6 +92,7 @@ import { registerRailCommands } from "./commands/rail.js";
|
|
|
92
92
|
import { registerBootCommands } from "./commands/boot.js";
|
|
93
93
|
import { registerElleipsisCommands } from "./commands/elleipsis.js";
|
|
94
94
|
import { registerSteleCommands } from "./commands/stele.js";
|
|
95
|
+
import { registerMembraneCommands } from "./commands/membrane.js";
|
|
95
96
|
import { registerAxiaCommands } from "./commands/axia.js";
|
|
96
97
|
import { registerPceCommands } from "./commands/pce.js";
|
|
97
98
|
import { registerHauntCommands } from "./commands/haunt.js";
|
|
@@ -102,6 +103,7 @@ import { registerGatewayCommands } from "./commands/gateway.js";
|
|
|
102
103
|
import { registerMyceliumCommands } from "./commands/mycelium.js";
|
|
103
104
|
import { registerSiegeCommands } from "./commands/siege.js";
|
|
104
105
|
import { registerCanonCommands } from "./commands/canon.js";
|
|
106
|
+
import { registerMoatCommands } from "./commands/moat.js";
|
|
105
107
|
import { attachRegretOracle } from "./commands/regret.js";
|
|
106
108
|
import { registerTrustCommands } from "./commands/trust.js";
|
|
107
109
|
import { registerNuclearCommands } from "./commands/nuclear-cli.js";
|
|
@@ -4747,6 +4749,7 @@ export async function run(argv) {
|
|
|
4747
4749
|
registerBootCommands(program);
|
|
4748
4750
|
registerElleipsisCommands(program);
|
|
4749
4751
|
registerSteleCommands(program);
|
|
4752
|
+
registerMembraneCommands(program);
|
|
4750
4753
|
registerAxiaCommands(program);
|
|
4751
4754
|
registerPceCommands(program);
|
|
4752
4755
|
registerHauntCommands(program);
|
|
@@ -4757,6 +4760,7 @@ export async function run(argv) {
|
|
|
4757
4760
|
registerMyceliumCommands(program);
|
|
4758
4761
|
registerSiegeCommands(program);
|
|
4759
4762
|
registerCanonCommands(program);
|
|
4763
|
+
registerMoatCommands(program);
|
|
4760
4764
|
// ─── Trust calibrator (v1.31.0) -- per-subsystem precision/recall/band
|
|
4761
4765
|
registerTrustCommands(program);
|
|
4762
4766
|
// ─── Wisdom reactor (v1.33.0) -- five nuclear-physics formulas as Mneme metrics
|