mneme-ai 3.133.0 → 3.135.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/ctx.d.ts +13 -0
- package/dist/commands/ctx.d.ts.map +1 -0
- package/dist/commands/ctx.js +93 -0
- package/dist/commands/ctx.js.map +1 -0
- package/dist/commands/launch.d.ts +10 -0
- package/dist/commands/launch.d.ts.map +1 -0
- package/dist/commands/launch.js +58 -0
- package/dist/commands/launch.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 +7 -7
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme ctx` (v3.134.0) — THE CONTEXT PASSPORT: the cross-agent verified context
|
|
3
|
+
* layer that lives in git (`.mneme/passport/*.jsonl`). Any agent (any vendor)
|
|
4
|
+
* inherits what others learned — screened for poison/injection first — and
|
|
5
|
+
* contributes back, signed. Portable · vendor-neutral · local-first · trustworthy.
|
|
6
|
+
*
|
|
7
|
+
* mneme ctx contribute --kind decision --text "chose X" --cite a1b2c3,src/x.ts:4
|
|
8
|
+
* mneme ctx inherit # the screened, trusted context an agent reads
|
|
9
|
+
* mneme ctx status
|
|
10
|
+
*/
|
|
11
|
+
import type { Command } from "commander";
|
|
12
|
+
export declare function registerCtxCommands(program: Command): void;
|
|
13
|
+
//# sourceMappingURL=ctx.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ctx.d.ts","sourceRoot":"","sources":["../../src/commands/ctx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwC1D"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme ctx` (v3.134.0) — THE CONTEXT PASSPORT: the cross-agent verified context
|
|
3
|
+
* layer that lives in git (`.mneme/passport/*.jsonl`). Any agent (any vendor)
|
|
4
|
+
* inherits what others learned — screened for poison/injection first — and
|
|
5
|
+
* contributes back, signed. Portable · vendor-neutral · local-first · trustworthy.
|
|
6
|
+
*
|
|
7
|
+
* mneme ctx contribute --kind decision --text "chose X" --cite a1b2c3,src/x.ts:4
|
|
8
|
+
* mneme ctx inherit # the screened, trusted context an agent reads
|
|
9
|
+
* mneme ctx status
|
|
10
|
+
*/
|
|
11
|
+
import { readFileSync, writeFileSync, mkdirSync, existsSync, readdirSync } from "node:fs";
|
|
12
|
+
import { join } from "node:path";
|
|
13
|
+
import { contextPassport, notary } from "@mneme-ai/core";
|
|
14
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
15
|
+
const DIR = () => join(process.cwd(), ".mneme", "passport");
|
|
16
|
+
function readAll() {
|
|
17
|
+
const acc = [];
|
|
18
|
+
const d = DIR();
|
|
19
|
+
try {
|
|
20
|
+
if (!existsSync(d))
|
|
21
|
+
return [];
|
|
22
|
+
for (const f of readdirSync(d)) {
|
|
23
|
+
if (!f.endsWith(".jsonl"))
|
|
24
|
+
continue;
|
|
25
|
+
for (const line of readFileSync(join(d, f), "utf8").split("\n")) {
|
|
26
|
+
if (line.trim()) {
|
|
27
|
+
try {
|
|
28
|
+
acc.push(JSON.parse(line));
|
|
29
|
+
}
|
|
30
|
+
catch { /* skip */ }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch { /* */ }
|
|
36
|
+
return acc;
|
|
37
|
+
}
|
|
38
|
+
export function registerCtxCommands(program) {
|
|
39
|
+
const c = program
|
|
40
|
+
.command("ctx")
|
|
41
|
+
.alias("context-passport")
|
|
42
|
+
.description("🛂 CONTEXT PASSPORT — the cross-agent verified-context layer in git (.mneme/passport). Any agent (any vendor) inherits what others learned (poison-screened first) + contributes back, signed. Portable · vendor-neutral · local-first · trustworthy. TRUST-precision 1.0 — a poisoned/injected entry is NEVER inherited.");
|
|
43
|
+
c.command("contribute")
|
|
44
|
+
.description("append a signed context entry the next agent (any vendor) can inherit")
|
|
45
|
+
.requiredOption("--kind <k>", "decision | finding | dead-end | constraint")
|
|
46
|
+
.requiredOption("--text <t>", "the context to record")
|
|
47
|
+
.option("--cite <list>", "comma-separated commit hashes / file:line that ground it", "")
|
|
48
|
+
.option("--agent <name>", "your agent/tool id", "cli")
|
|
49
|
+
.action((o) => {
|
|
50
|
+
const kind = (["decision", "finding", "dead-end", "constraint"].includes(o.kind) ? o.kind : "finding");
|
|
51
|
+
const cites = o.cite ? o.cite.split(",").map((s) => s.trim()).filter(Boolean) : [];
|
|
52
|
+
const entry = contextPassport.makeEntry(o.agent, kind, o.text, cites, Math.floor(Date.now() / 1000));
|
|
53
|
+
const screen = contextPassport.trustScreen(entry);
|
|
54
|
+
let sig = null;
|
|
55
|
+
try {
|
|
56
|
+
sig = notary.issueReceipt(process.cwd(), { kind: "claim-verdict", subject: `ctx:${entry.kind}:${entry.id}`, payload: { id: entry.id }, includePayload: true });
|
|
57
|
+
}
|
|
58
|
+
catch { /* */ }
|
|
59
|
+
try {
|
|
60
|
+
mkdirSync(DIR(), { recursive: true });
|
|
61
|
+
const f = join(DIR(), o.agent.replace(/[^A-Za-z0-9._-]/g, "_") + ".jsonl");
|
|
62
|
+
const prev = existsSync(f) ? readFileSync(f, "utf8") : "";
|
|
63
|
+
writeFileSync(f, prev + JSON.stringify({ ...entry, sig }) + "\n");
|
|
64
|
+
}
|
|
65
|
+
catch { /* */ }
|
|
66
|
+
out(`🛂 recorded ${entry.kind} (${entry.id}) — ${screen.trust ? "✓ will be inherited as TRUSTED" : "⚠ would be QUARANTINED: " + screen.reason}`);
|
|
67
|
+
out(` commit .mneme/passport so the next agent (any vendor) inherits it.`);
|
|
68
|
+
});
|
|
69
|
+
c.command("inherit")
|
|
70
|
+
.description("the screened, trusted context an agent should read at task start (poison quarantined)")
|
|
71
|
+
.option("--json", "JSON output")
|
|
72
|
+
.action((o) => {
|
|
73
|
+
const r = contextPassport.inheritPassport(readAll());
|
|
74
|
+
if (o.json) {
|
|
75
|
+
out(JSON.stringify(r, null, 2));
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
out(`🛂 CONTEXT PASSPORT — ${r.summary.trusted} trusted · ${r.summary.quarantined} quarantined (of ${r.summary.total})`);
|
|
79
|
+
if (!r.summary.total) {
|
|
80
|
+
out(" (empty — contribute: mneme ctx contribute --kind decision --text \"…\" --cite <commit>)");
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
for (const e of r.trusted.slice(0, 20))
|
|
84
|
+
out(` ✓ [${e.kind}] ${e.text} ⟨${e.agent} · ${e.citations.join(", ")}⟩`);
|
|
85
|
+
for (const q of r.quarantined.slice(0, 8))
|
|
86
|
+
out(` ⚠ QUARANTINED [${q.entry.kind}] ${q.entry.text.slice(0, 56)} — ${q.reason}`);
|
|
87
|
+
});
|
|
88
|
+
c.command("status").description("passport counts").action(() => {
|
|
89
|
+
const r = contextPassport.inheritPassport(readAll());
|
|
90
|
+
out(`🛂 ${r.summary.total} entries · ${r.summary.trusted} trusted · ${r.summary.quarantined} quarantined · dir .mneme/passport`);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=ctx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ctx.js","sourceRoot":"","sources":["../../src/commands/ctx.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme launch` (v3.135.0) — THE PR ENGINE. Generate a launch kit (Hacker News · X
|
|
3
|
+
* thread · Reddit · changelog) where EVERY claim is VERICERT-screened first — an
|
|
4
|
+
* overclaiming / fabricated / unfalsifiable-superlative line is rejected and never
|
|
5
|
+
* ships. Launch copy that can't lie. With no --claim flags it uses Mneme's own
|
|
6
|
+
* measured claims (dogfood). `--json` for the structured kit.
|
|
7
|
+
*/
|
|
8
|
+
import type { Command } from "commander";
|
|
9
|
+
export declare function registerLaunchCommands(program: Command): void;
|
|
10
|
+
//# sourceMappingURL=launch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/commands/launch.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyB7D"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mneme launch` (v3.135.0) — THE PR ENGINE. Generate a launch kit (Hacker News · X
|
|
3
|
+
* thread · Reddit · changelog) where EVERY claim is VERICERT-screened first — an
|
|
4
|
+
* overclaiming / fabricated / unfalsifiable-superlative line is rejected and never
|
|
5
|
+
* ships. Launch copy that can't lie. With no --claim flags it uses Mneme's own
|
|
6
|
+
* measured claims (dogfood). `--json` for the structured kit.
|
|
7
|
+
*/
|
|
8
|
+
import { readFileSync } from "node:fs";
|
|
9
|
+
import { prEngine } from "@mneme-ai/core";
|
|
10
|
+
function out(s) { process.stdout.write(s + "\n"); }
|
|
11
|
+
const DEFAULT_CLAIMS = [
|
|
12
|
+
"Deterministic, MIT-licensed, local-first — no LLM in the analysis path.",
|
|
13
|
+
"A poisoned cross-agent context entry is never inherited (measured: 0 leaks).",
|
|
14
|
+
"Every PR gets one grounded comment: a check of the description, context for each changed file (cited), and the author's commit persona.",
|
|
15
|
+
"Paste any public repo for a signed report, the team's commit personas, or why a file is the way it is — no install.",
|
|
16
|
+
"Vendor-neutral via MCP and a CLI; the source never leaves your machine.",
|
|
17
|
+
];
|
|
18
|
+
export function registerLaunchCommands(program) {
|
|
19
|
+
program
|
|
20
|
+
.command("launch")
|
|
21
|
+
.description("📣 PR ENGINE — generate a launch kit (HN · X · Reddit · changelog) where every claim is VERICERT-screened first; overclaims & unfalsifiable superlatives are rejected and never ship. Launch copy that can't lie. No --claim flags → uses Mneme's own measured claims.")
|
|
22
|
+
.option("--product <name>", "product name", "Mneme")
|
|
23
|
+
.option("--release <v>", "release/version label")
|
|
24
|
+
.option("--url <u>", "try-it URL", "https://xray.mneme-ai.space")
|
|
25
|
+
.option("--install <cmd>", "install command", "npm i -g mneme-ai")
|
|
26
|
+
.option("--claim <text>", "a candidate claim (repeatable)", (v, acc) => { acc.push(v); return acc; }, [])
|
|
27
|
+
.option("--claims-file <path>", "read candidate claims, one per line")
|
|
28
|
+
.option("--json", "JSON output (the full kit)")
|
|
29
|
+
.action((o) => {
|
|
30
|
+
let claims = o.claim && o.claim.length ? o.claim : [];
|
|
31
|
+
if (o.claimsFile) {
|
|
32
|
+
try {
|
|
33
|
+
claims = claims.concat(readFileSync(o.claimsFile, "utf8").split("\n").map((s) => s.trim()).filter(Boolean));
|
|
34
|
+
}
|
|
35
|
+
catch { /* */ }
|
|
36
|
+
}
|
|
37
|
+
if (!claims.length)
|
|
38
|
+
claims = DEFAULT_CLAIMS;
|
|
39
|
+
const kit = prEngine.buildLaunchKit({ product: o.product, version: o.release, url: o.url, install: o.install, claims });
|
|
40
|
+
if (o.json) {
|
|
41
|
+
out(JSON.stringify(kit, null, 2));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
out(`📣 LAUNCH KIT — ${o.product} (${kit.approved.length} claims approved · ${kit.rejected.length} rejected · ${kit.clean ? "✓ zero-overclaim" : "⚠ overclaim leaked"})`);
|
|
45
|
+
if (kit.rejected.length) {
|
|
46
|
+
out(`\n ✗ rejected (won't ship):`);
|
|
47
|
+
for (const r of kit.rejected)
|
|
48
|
+
out(` [${r.reason}] ${r.claim}`);
|
|
49
|
+
}
|
|
50
|
+
out(`\n━━ Hacker News ━━\n${kit.hn.title}\n\n${kit.hn.body}`);
|
|
51
|
+
out(`\n━━ X / Twitter thread ━━`);
|
|
52
|
+
kit.x.forEach((t, i) => out(`${i + 1}/ ${t}`));
|
|
53
|
+
out(`\n━━ Reddit ━━\n${kit.reddit.title}\n\n${kit.reddit.body}`);
|
|
54
|
+
out(`\n━━ Changelog ━━\n${kit.changelog}`);
|
|
55
|
+
out(`\n 📣 every line above passed VERICERT — defensible, not hype. (Honest: screens known overclaim patterns, doesn't make a claim true.)`);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=launch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/commands/launch.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":"AA+MA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAknNvD"}
|
package/dist/index.js
CHANGED
|
@@ -136,6 +136,8 @@ import { registerPersonaCommands } from "./commands/persona.js";
|
|
|
136
136
|
import { registerSeanceCommands } from "./commands/seance.js";
|
|
137
137
|
import { registerBriefCommands } from "./commands/brief.js";
|
|
138
138
|
import { registerPrCommentCommands } from "./commands/pr-comment.js";
|
|
139
|
+
import { registerCtxCommands } from "./commands/ctx.js";
|
|
140
|
+
import { registerLaunchCommands } from "./commands/launch.js";
|
|
139
141
|
import { registerMoatCommands } from "./commands/moat.js";
|
|
140
142
|
import { attachRegretOracle } from "./commands/regret.js";
|
|
141
143
|
import { registerTrustCommands } from "./commands/trust.js";
|
|
@@ -4829,6 +4831,8 @@ export async function run(argv) {
|
|
|
4829
4831
|
registerSeanceCommands(program);
|
|
4830
4832
|
registerBriefCommands(program);
|
|
4831
4833
|
registerPrCommentCommands(program);
|
|
4834
|
+
registerCtxCommands(program);
|
|
4835
|
+
registerLaunchCommands(program);
|
|
4832
4836
|
registerMoatCommands(program);
|
|
4833
4837
|
// ─── Trust calibrator (v1.31.0) -- per-subsystem precision/recall/band
|
|
4834
4838
|
registerTrustCommands(program);
|