mneme-ai 2.144.0 → 2.146.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/gateway.d.ts +13 -0
- package/dist/commands/gateway.d.ts.map +1 -0
- package/dist/commands/gateway.js +89 -0
- package/dist/commands/gateway.js.map +1 -0
- package/dist/commands/govern.d.ts +19 -0
- package/dist/commands/govern.d.ts.map +1 -0
- package/dist/commands/govern.js +128 -0
- package/dist/commands/govern.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,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme gateway` (v2.146.0) — THE INTENT GATEWAY. Type free natural language
|
|
3
|
+
* (any language, EN/Thai); the Gateway picks the right Mneme command, compiles a
|
|
4
|
+
* runnable invocation, or asks to clarify when it's unsure. Users never memorize
|
|
5
|
+
* a command.
|
|
6
|
+
*
|
|
7
|
+
* mneme gateway "stop all the bots, something feels off"
|
|
8
|
+
* mneme gateway "ดูแลเรื่องงบ 5 หมื่น ห้ามโพสต์ด่าใคร ปล่อยบอทเลย"
|
|
9
|
+
* mneme gateway bench # the signed before→after accuracy benchmark
|
|
10
|
+
*/
|
|
11
|
+
import type { Command } from "commander";
|
|
12
|
+
export declare function registerGatewayCommands(program: Command): void;
|
|
13
|
+
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C9D"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme gateway` (v2.146.0) — THE INTENT GATEWAY. Type free natural language
|
|
3
|
+
* (any language, EN/Thai); the Gateway picks the right Mneme command, compiles a
|
|
4
|
+
* runnable invocation, or asks to clarify when it's unsure. Users never memorize
|
|
5
|
+
* a command.
|
|
6
|
+
*
|
|
7
|
+
* mneme gateway "stop all the bots, something feels off"
|
|
8
|
+
* mneme gateway "ดูแลเรื่องงบ 5 หมื่น ห้ามโพสต์ด่าใคร ปล่อยบอทเลย"
|
|
9
|
+
* mneme gateway bench # the signed before→after accuracy benchmark
|
|
10
|
+
*/
|
|
11
|
+
import { intentGateway as gw, notary } from "@mneme-ai/core";
|
|
12
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
13
|
+
export function registerGatewayCommands(program) {
|
|
14
|
+
const g = program
|
|
15
|
+
.command("gateway")
|
|
16
|
+
.alias("interpret")
|
|
17
|
+
.argument("[text...]", "free natural language — any language")
|
|
18
|
+
.description("🧭 INTENT GATEWAY — type free natural language (any language, EN/Thai); Mneme picks the RIGHT command for the best result, compiles a runnable invocation, or asks to clarify when unsure (never a confident misfire). You never memorize a command. Curated bilingual concept-map + IDF catalog fallback + abstention; measured (see `mneme gateway bench`).")
|
|
19
|
+
.option("--json", "JSON output (signed)")
|
|
20
|
+
.action((text, opts) => {
|
|
21
|
+
const q = Array.isArray(text) ? text.join(" ") : String(text ?? "");
|
|
22
|
+
if (!q.trim()) {
|
|
23
|
+
out("usage: mneme gateway \"<what you want, in your own words>\"");
|
|
24
|
+
process.exitCode = 2;
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const r = gw.route(q);
|
|
28
|
+
let receipt = null;
|
|
29
|
+
try {
|
|
30
|
+
receipt = notary.issueReceipt(process.cwd(), { kind: "claim-verdict", subject: `gateway:${r.verdict}`, payload: { verdict: r.verdict, command: r.command, confidence: r.confidence }, includePayload: true });
|
|
31
|
+
}
|
|
32
|
+
catch { /* */ }
|
|
33
|
+
if (opts.json) {
|
|
34
|
+
out(JSON.stringify({ ...r, signed: receipt }, null, 2));
|
|
35
|
+
process.exitCode = r.verdict === "ROUTED" ? 0 : 2;
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
if (r.verdict === "ROUTED") {
|
|
39
|
+
out(`🟢 ${r.command} (confidence ${(r.confidence * 100).toFixed(0)}%)`);
|
|
40
|
+
if (r.invocation && r.invocation !== r.command)
|
|
41
|
+
out(` → run: ${r.invocation}`);
|
|
42
|
+
const e = r.entities;
|
|
43
|
+
const ent = [];
|
|
44
|
+
if (e.budget)
|
|
45
|
+
ent.push(`budget=${e.budget}`);
|
|
46
|
+
if (e.forbidden?.length)
|
|
47
|
+
ent.push(`forbidden=${e.forbidden.join(",")}`);
|
|
48
|
+
if (e.scope?.length)
|
|
49
|
+
ent.push(`scope=${e.scope.join(",")}`);
|
|
50
|
+
if (ent.length)
|
|
51
|
+
out(` detected: ${ent.join(" · ")}`);
|
|
52
|
+
}
|
|
53
|
+
else if (r.verdict === "CLARIFY") {
|
|
54
|
+
out(`❔ Not sure — did you mean one of these?`);
|
|
55
|
+
for (const c of r.candidates)
|
|
56
|
+
out(` • ${c.command} (${(c.score).toFixed(2)})`);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
out(`❔ I couldn't map that to a Mneme command — try rephrasing, or 'mneme gateway bench' / 'mneme boot' to see what's possible.`);
|
|
60
|
+
}
|
|
61
|
+
process.exitCode = r.verdict === "ROUTED" ? 0 : 2;
|
|
62
|
+
});
|
|
63
|
+
g.command("bench")
|
|
64
|
+
.description("the signed before→after accuracy benchmark (new Gateway vs the old keyword router) over a labeled EN+Thai corpus.")
|
|
65
|
+
.option("--json", "JSON output")
|
|
66
|
+
.action((opts) => {
|
|
67
|
+
const b = gw.benchmark();
|
|
68
|
+
let receipt = null;
|
|
69
|
+
try {
|
|
70
|
+
receipt = notary.issueReceipt(process.cwd(), { kind: "reasoning-trace", subject: `gateway.bench:${(b.newAcc * 100).toFixed(0)}pct`, payload: { newAcc: b.newAcc, oldAcc: b.oldAcc, n: b.n }, includePayload: true });
|
|
71
|
+
}
|
|
72
|
+
catch { /* */ }
|
|
73
|
+
if (opts.json) {
|
|
74
|
+
out(JSON.stringify({ ...b, signed: receipt }, null, 2));
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
out(`🧭 INTENT GATEWAY — accuracy on ${b.n} labeled EN+Thai queries:`);
|
|
78
|
+
out(` NEW gateway: ${b.newTop1}/${b.n} top-1 = ${(b.newAcc * 100).toFixed(0)}%`);
|
|
79
|
+
out(` OLD keyword: ${b.oldTop1}/${b.n} top-1 = ${(b.oldAcc * 100).toFixed(0)}%`);
|
|
80
|
+
out(` abstained (asked to clarify): ${b.abstained}`);
|
|
81
|
+
if (b.newMisses.length) {
|
|
82
|
+
out(" remaining misses:");
|
|
83
|
+
for (const m of b.newMisses)
|
|
84
|
+
out(` ${m}`);
|
|
85
|
+
}
|
|
86
|
+
out(` ${receipt ? "✓ signed · " : ""}measured + re-runnable; 100% NL routing is impossible — the target is high top-1 + abstain on the rest.`);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/commands/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme govern` (v2.145.0) — THE AGENT GOVERNOR. The orchestrator-agnostic
|
|
3
|
+
* governance kernel: ratify a Charter once, then run a fleet's action queue as a
|
|
4
|
+
* continuous AUTO-OPERATION BATCH — autonomous + audited actions flow without
|
|
5
|
+
* per-step human input; only irreversible / out-of-envelope / forbidden actions
|
|
6
|
+
* escalate; a circuit-breaker pauses the fleet on mission drift. Signed.
|
|
7
|
+
*
|
|
8
|
+
* mneme govern charter-init > charter.json
|
|
9
|
+
* mneme govern decide --charter charter.json --action '{"id":"a","kind":"edit",...}'
|
|
10
|
+
* mneme govern batch --charter charter.json --actions queue.jsonl
|
|
11
|
+
* mneme govern amend --charter charter.json --clean 20 --regretted 0
|
|
12
|
+
*
|
|
13
|
+
* batch/decide exit 2 if anything ESCALATEs/BLOCKs (CI-gate). HONEST: the Governor
|
|
14
|
+
* DECIDES + SEQUENCES + ESCALATES + COMPENSATES; the orchestrator executes per
|
|
15
|
+
* the verdicts (Mneme is the kernel, not the executor).
|
|
16
|
+
*/
|
|
17
|
+
import type { Command } from "commander";
|
|
18
|
+
export declare function registerGovernCommands(program: Command): void;
|
|
19
|
+
//# sourceMappingURL=govern.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"govern.d.ts","sourceRoot":"","sources":["../../src/commands/govern.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoE7D"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme govern` (v2.145.0) — THE AGENT GOVERNOR. The orchestrator-agnostic
|
|
3
|
+
* governance kernel: ratify a Charter once, then run a fleet's action queue as a
|
|
4
|
+
* continuous AUTO-OPERATION BATCH — autonomous + audited actions flow without
|
|
5
|
+
* per-step human input; only irreversible / out-of-envelope / forbidden actions
|
|
6
|
+
* escalate; a circuit-breaker pauses the fleet on mission drift. Signed.
|
|
7
|
+
*
|
|
8
|
+
* mneme govern charter-init > charter.json
|
|
9
|
+
* mneme govern decide --charter charter.json --action '{"id":"a","kind":"edit",...}'
|
|
10
|
+
* mneme govern batch --charter charter.json --actions queue.jsonl
|
|
11
|
+
* mneme govern amend --charter charter.json --clean 20 --regretted 0
|
|
12
|
+
*
|
|
13
|
+
* batch/decide exit 2 if anything ESCALATEs/BLOCKs (CI-gate). HONEST: the Governor
|
|
14
|
+
* DECIDES + SEQUENCES + ESCALATES + COMPENSATES; the orchestrator executes per
|
|
15
|
+
* the verdicts (Mneme is the kernel, not the executor).
|
|
16
|
+
*/
|
|
17
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
18
|
+
import { agentGovernor as gov, notary } from "@mneme-ai/core";
|
|
19
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
20
|
+
function readCharter(file) {
|
|
21
|
+
try {
|
|
22
|
+
if (file && existsSync(file))
|
|
23
|
+
return JSON.parse(readFileSync(file, "utf8"));
|
|
24
|
+
}
|
|
25
|
+
catch { /* */ }
|
|
26
|
+
return { mission: "(none)", scopeGlobs: [], riskEnvelope: "read", budget: { maxActions: 100 }, forbidden: [] };
|
|
27
|
+
}
|
|
28
|
+
export function registerGovernCommands(program) {
|
|
29
|
+
const g = program
|
|
30
|
+
.command("govern")
|
|
31
|
+
.description("🏛 THE AGENT GOVERNOR — the orchestrator-agnostic governance kernel that sits UNDER any agent platform (Astra / Claude Code / Tycoon / AutoGen) and makes a fleet of autonomous agents provably safe + accountable, automatically. Ratify a Charter once; then run the action queue as a continuous AUTO-OPERATION BATCH (autonomous + audited flow untouched; only irreversible / out-of-envelope / forbidden escalate; a circuit-breaker pauses the fleet on mission drift). Composes CERBERUS · CRUCIBLE · TELOS · REGRET · ELLEIPSIS into one signed verdict. HONEST: the Governor decides + sequences + escalates + compensates — the orchestrator executes per the verdicts.");
|
|
32
|
+
g.command("charter-init")
|
|
33
|
+
.description("print a Charter template (mission · scope · risk envelope · budget · forbidden).")
|
|
34
|
+
.action(() => out(JSON.stringify({ mission: "describe the fleet's mission", scopeGlobs: ["src/**"], riskEnvelope: "write", budget: { maxActions: 100, maxTokens: 2000000 }, forbidden: ["delete production", "post publicly", "rotate credentials"] }, null, 2)));
|
|
35
|
+
g.command("decide")
|
|
36
|
+
.description("govern ONE action → ALLOW_AUTONOMOUS / ALLOW_WITH_AUDIT / ESCALATE_HUMAN / BLOCK (exit 2 if not autonomous).")
|
|
37
|
+
.requiredOption("--charter <file>", "charter JSON")
|
|
38
|
+
.requiredOption("--action <json>", "the action object (or '-' for stdin)")
|
|
39
|
+
.option("--json", "JSON output (signed)")
|
|
40
|
+
.action((opts) => {
|
|
41
|
+
const charter = readCharter(opts.charter);
|
|
42
|
+
let action;
|
|
43
|
+
try {
|
|
44
|
+
action = JSON.parse(opts.action === "-" ? readFileSync(0, "utf8") : opts.action);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
out("✗ bad --action JSON");
|
|
48
|
+
process.exitCode = 2;
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const d = gov.governAction(charter, action);
|
|
52
|
+
let receipt = null;
|
|
53
|
+
try {
|
|
54
|
+
receipt = notary.issueReceipt(process.cwd(), { kind: "claim-verdict", subject: `govern:${d.verdict}`, payload: { id: d.id, verdict: d.verdict }, includePayload: true });
|
|
55
|
+
}
|
|
56
|
+
catch { /* */ }
|
|
57
|
+
if (opts.json) {
|
|
58
|
+
out(JSON.stringify({ ...d, signed: receipt }, null, 2));
|
|
59
|
+
process.exitCode = d.autonomous ? 0 : 2;
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
const icon = d.verdict === "ALLOW_AUTONOMOUS" ? "🟢" : d.verdict === "ALLOW_WITH_AUDIT" ? "🟡" : d.verdict === "ESCALATE_HUMAN" ? "✋" : "🛑";
|
|
63
|
+
out(`${icon} ${d.verdict} — ${d.id}`);
|
|
64
|
+
for (const r of d.reasons)
|
|
65
|
+
out(` • ${r}`);
|
|
66
|
+
if (receipt)
|
|
67
|
+
out(" ✓ signed");
|
|
68
|
+
process.exitCode = d.autonomous ? 0 : 2;
|
|
69
|
+
});
|
|
70
|
+
g.command("batch")
|
|
71
|
+
.description("run a fleet's action queue as a continuous AUTO-OPERATION BATCH; reports autonomous / audited / escalated / blocked + circuit-breaker. Exit 2 if anything escalated/blocked or the breaker tripped.")
|
|
72
|
+
.requiredOption("--charter <file>", "charter JSON")
|
|
73
|
+
.requiredOption("--actions <file>", "JSONL of actions ({id,kind,summary,files,reversible,inverse,signals,tokensEst}); '-' = stdin")
|
|
74
|
+
.option("--regret-rate <n>", "current fleet regret rate 0..1 (feeds the circuit-breaker)", (v) => parseFloat(v))
|
|
75
|
+
.option("--json", "JSON output (signed)")
|
|
76
|
+
.action((opts) => {
|
|
77
|
+
const charter = readCharter(opts.charter);
|
|
78
|
+
const raw = opts.actions === "-" ? readFileSync(0, "utf8") : (existsSync(opts.actions) ? readFileSync(opts.actions, "utf8") : "");
|
|
79
|
+
const actions = raw.split("\n").filter((l) => l.trim()).map((l, i) => { try {
|
|
80
|
+
const j = JSON.parse(l);
|
|
81
|
+
return { id: j.id ?? `a${i}`, kind: j.kind ?? "action", summary: j.summary ?? "", files: j.files, reversible: j.reversible, inverse: j.inverse, tokensEst: j.tokensEst, signals: j.signals ?? {} };
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
return null;
|
|
85
|
+
} }).filter(Boolean);
|
|
86
|
+
const rep = gov.governBatch(charter, actions, opts.regretRate !== undefined ? { regretRate: opts.regretRate } : undefined);
|
|
87
|
+
let receipt = null;
|
|
88
|
+
try {
|
|
89
|
+
receipt = notary.issueReceipt(process.cwd(), { kind: "claim-verdict", subject: `govern.batch:${rep.executed.length}/${rep.total}`, payload: { total: rep.total, autonomous: rep.autonomous, audited: rep.audited, escalated: rep.escalated.length, blocked: rep.blocked.length, breakerTripped: rep.breakerTripped }, includePayload: true });
|
|
90
|
+
}
|
|
91
|
+
catch { /* */ }
|
|
92
|
+
if (opts.json) {
|
|
93
|
+
out(JSON.stringify({ ...rep, signed: receipt }, null, 2));
|
|
94
|
+
process.exitCode = (rep.escalated.length || rep.blocked.length || rep.breakerTripped) ? 2 : 0;
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
out(`🏛 AGENT GOVERNOR — batch of ${rep.total}`);
|
|
98
|
+
out(` 🟢 ${rep.autonomous} autonomous · 🟡 ${rep.audited} audited · ✋ ${rep.escalated.length} escalated · 🛑 ${rep.blocked.length} blocked`);
|
|
99
|
+
out(` budget used: ${rep.budgetUsed.actions} actions / ${rep.budgetUsed.tokens} tokens`);
|
|
100
|
+
if (rep.breakerTripped)
|
|
101
|
+
out(` ⚡ CIRCUIT-BREAKER TRIPPED @ ${rep.stoppedAt}: ${rep.breakerReason}`);
|
|
102
|
+
for (const e of rep.escalated.slice(0, 10))
|
|
103
|
+
out(` ✋ ${e.id}: ${e.reasons.join("; ")}`);
|
|
104
|
+
for (const b of rep.blocked.slice(0, 10))
|
|
105
|
+
out(` 🛑 ${b.id}: ${b.reasons.join("; ")}`);
|
|
106
|
+
out(` ${receipt ? "✓ signed · " : ""}${rep.note}`);
|
|
107
|
+
process.exitCode = (rep.escalated.length || rep.blocked.length || rep.breakerTripped) ? 2 : 0;
|
|
108
|
+
});
|
|
109
|
+
g.command("amend")
|
|
110
|
+
.description("Living Charter — propose widening/narrowing the autonomy envelope from evidence (clean approvals vs regrets).")
|
|
111
|
+
.requiredOption("--charter <file>", "charter JSON")
|
|
112
|
+
.option("--clean <n>", "count of clean human-approved actions", (v) => parseInt(v, 10), 0)
|
|
113
|
+
.option("--regretted <n>", "count of regretted actions", (v) => parseInt(v, 10), 0)
|
|
114
|
+
.option("--json", "JSON output")
|
|
115
|
+
.action((opts) => {
|
|
116
|
+
const charter = readCharter(opts.charter);
|
|
117
|
+
const a = gov.proposeAmendment(charter, { approvedClean: opts.clean, regretted: opts.regretted });
|
|
118
|
+
if (opts.json) {
|
|
119
|
+
out(JSON.stringify(a, null, 2));
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const icon = a.direction === "widen" ? "📈" : a.direction === "narrow" ? "📉" : "⏸";
|
|
123
|
+
out(`${icon} envelope ${a.current} → ${a.proposed} (${a.direction})`);
|
|
124
|
+
out(` ${a.reason}`);
|
|
125
|
+
out(` (a proposal — the human ratifies; the envelope never auto-widens to destructive.)`);
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=govern.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"govern.js","sourceRoot":"","sources":["../../src/commands/govern.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":"AAuKA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAukNvD"}
|
package/dist/index.js
CHANGED
|
@@ -97,6 +97,8 @@ import { registerPceCommands } from "./commands/pce.js";
|
|
|
97
97
|
import { registerHauntCommands } from "./commands/haunt.js";
|
|
98
98
|
import { registerCrucibleCommands } from "./commands/crucible.js";
|
|
99
99
|
import { registerDriftCommands } from "./commands/drift.js";
|
|
100
|
+
import { registerGovernCommands } from "./commands/govern.js";
|
|
101
|
+
import { registerGatewayCommands } from "./commands/gateway.js";
|
|
100
102
|
import { attachRegretOracle } from "./commands/regret.js";
|
|
101
103
|
import { registerTrustCommands } from "./commands/trust.js";
|
|
102
104
|
import { registerNuclearCommands } from "./commands/nuclear-cli.js";
|
|
@@ -4747,6 +4749,8 @@ export async function run(argv) {
|
|
|
4747
4749
|
registerHauntCommands(program);
|
|
4748
4750
|
registerCrucibleCommands(program);
|
|
4749
4751
|
registerDriftCommands(program);
|
|
4752
|
+
registerGovernCommands(program);
|
|
4753
|
+
registerGatewayCommands(program);
|
|
4750
4754
|
// ─── Trust calibrator (v1.31.0) -- per-subsystem precision/recall/band
|
|
4751
4755
|
registerTrustCommands(program);
|
|
4752
4756
|
// ─── Wisdom reactor (v1.33.0) -- five nuclear-physics formulas as Mneme metrics
|