mneme-ai 2.190.0 → 2.192.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,16 @@
1
+ /**
2
+ * `mneme attest` (v2.192.0) — PROOF-CARRYING GIT COMMITS.
3
+ *
4
+ * Turns `git log` into a verifiable audit trail of AI work: each commit gets a
5
+ * SIGNED (Ed25519), tamper-evident CANON attestation bound to its sha — which agent
6
+ * made it, what changed, the deterministic screen that ran — chained, and verifiable
7
+ * OFFLINE by ANY third party with the public key alone (no Mneme, no trust).
8
+ *
9
+ * mneme attest commit [--commit HEAD] # attest a commit (the post-commit hook calls this)
10
+ * mneme attest verify # verify the whole trail offline
11
+ * mneme attest log # the human-readable AI audit trail
12
+ * mneme attest install-hook # opt-in: auto-attest every future commit
13
+ */
14
+ import type { Command } from "commander";
15
+ export declare function registerAttestCommands(program: Command): void;
16
+ //# sourceMappingURL=attest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attest.d.ts","sourceRoot":"","sources":["../../src/commands/attest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4DzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyE7D"}
@@ -0,0 +1,191 @@
1
+ import { execSync } from "node:child_process";
2
+ import { existsSync, mkdirSync, readFileSync, appendFileSync, writeFileSync, chmodSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { createHash } from "node:crypto";
5
+ import { commitAttest } from "@mneme-ai/core";
6
+ function out(s) { process.stdout.write(s + "\n"); }
7
+ const DIR = ".mneme/attest";
8
+ const CHAIN = "chain.jsonl";
9
+ function git(args, cwd) {
10
+ try {
11
+ return execSync(`git ${args}`, { cwd, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim();
12
+ }
13
+ catch {
14
+ return "";
15
+ }
16
+ }
17
+ /** Detect the AI vendor that authored this commit from the environment, or "human". */
18
+ function detectAgent() {
19
+ const e = process.env;
20
+ if (e["CLAUDECODE"] || e["CLAUDE_CODE_SSE_PORT"] || e["CLAUDE_CODE_SESSION"] || e["CLAUDE_CODE_ENTRYPOINT"])
21
+ return "claude-code";
22
+ if (e["CURSOR_AGENT"] || e["CURSOR_SESSION"])
23
+ return "cursor";
24
+ if (e["CONTINUE_AGENT"] || e["CONTINUE_SESSION"])
25
+ return "continue";
26
+ if (e["AIDER_VERSION"] || e["AIDER_AGENT"])
27
+ return "aider";
28
+ if (e["DEVIN_SESSION"])
29
+ return "devin";
30
+ if (e["GROK_AGENT"] || e["GROK_CLI"])
31
+ return "grok";
32
+ if (e["GEMINI_AGENT"] || e["GEMINI_CLI"])
33
+ return "gemini";
34
+ if (e["COPILOT_AGENT"])
35
+ return "copilot";
36
+ if (e["CODEX_AGENT"] || e["CODEX_SESSION"])
37
+ return "codex";
38
+ return "human";
39
+ }
40
+ // high-confidence secret patterns counted on ADDED (+) diff lines only
41
+ const SECRET_RX = [
42
+ /AKIA[0-9A-Z]{16}/, /gh[pousr]_[A-Za-z0-9]{30,}/, /sk-[A-Za-z0-9]{20,}/, /xox[baprs]-[A-Za-z0-9-]{10,}/,
43
+ /-----BEGIN (?:RSA |EC |OPENSSH |DSA |PGP )?PRIVATE KEY-----/, /AIza[0-9A-Za-z_-]{30,}/,
44
+ ];
45
+ function countAddedSecrets(diff) {
46
+ let n = 0;
47
+ for (const ln of diff.split("\n")) {
48
+ if (!ln.startsWith("+") || ln.startsWith("+++"))
49
+ continue;
50
+ for (const rx of SECRET_RX)
51
+ if (rx.test(ln)) {
52
+ n++;
53
+ break;
54
+ }
55
+ }
56
+ return n;
57
+ }
58
+ function gatherFacts(cwd, ref) {
59
+ const sha = git(`rev-parse ${ref}`, cwd);
60
+ if (!sha)
61
+ return null;
62
+ const meta = git(`show --no-patch --format=%an%x1f%ae%x1f%s%x1f%ct ${sha}`, cwd).split("\x1f");
63
+ const files = git(`show --name-only --format= ${sha}`, cwd).split("\n").map((s) => s.trim()).filter(Boolean);
64
+ const diff = git(`show --format= --unified=0 ${sha}`, cwd);
65
+ return {
66
+ sha, author: `${meta[0] ?? "?"} <${meta[1] ?? "?"}>`, agent: detectAgent(),
67
+ subject: meta[2] ?? "", files, addedSecrets: countAddedSecrets(diff),
68
+ diffHash: createHash("sha256").update(diff).digest("hex"), ts: (Number(meta[3]) || 0) * 1000,
69
+ };
70
+ }
71
+ function chainPath(cwd) { return join(cwd, DIR, CHAIN); }
72
+ function readChain(cwd) {
73
+ const p = chainPath(cwd);
74
+ if (!existsSync(p))
75
+ return [];
76
+ return readFileSync(p, "utf8").trim().split("\n").filter(Boolean).map((l) => { try {
77
+ return JSON.parse(l);
78
+ }
79
+ catch {
80
+ return null;
81
+ } }).filter(Boolean);
82
+ }
83
+ export function registerAttestCommands(program) {
84
+ const a = program.command("attest").description("🧬 PROOF-CARRYING GIT COMMITS — sign each commit into a tamper-evident, offline-verifiable CANON audit trail (which AI made it · what changed · the screen that ran). `git log` becomes provable.");
85
+ a.command("commit")
86
+ .description("Attest a commit (default HEAD): build a signed CANON record + append to the chain. The post-commit hook calls this automatically.")
87
+ .option("--commit <ref>", "commit to attest", "HEAD")
88
+ .option("--json", "JSON output.")
89
+ .action((opts) => {
90
+ const cwd = process.cwd();
91
+ if (!existsSync(join(cwd, ".git"))) {
92
+ out("not a git repo");
93
+ process.exitCode = 2;
94
+ return;
95
+ }
96
+ const f = gatherFacts(cwd, opts.commit ?? "HEAD");
97
+ if (!f) {
98
+ out("could not read that commit");
99
+ process.exitCode = 2;
100
+ return;
101
+ }
102
+ const chain = readChain(cwd);
103
+ if (chain.some((e) => e.record.subject === `commit:${f.sha}`)) {
104
+ out(`already attested ${f.sha.slice(0, 10)}`);
105
+ return;
106
+ }
107
+ const prev = chain.length ? chain[chain.length - 1].record.recordId : null;
108
+ const entry = commitAttest.attestCommit(cwd, f, prev);
109
+ mkdirSync(join(cwd, DIR), { recursive: true });
110
+ appendFileSync(chainPath(cwd), JSON.stringify(entry) + "\n", "utf8");
111
+ if (opts.json) {
112
+ out(JSON.stringify(entry, null, 2));
113
+ return;
114
+ }
115
+ out(`🧬 attested ${f.sha.slice(0, 10)} · ${f.agent} · ${entry.record.verdict}${f.addedSecrets ? ` (⚠ ${f.addedSecrets} secret pattern(s))` : ""} · signed + chained`);
116
+ });
117
+ a.command("verify")
118
+ .description("Verify the WHOLE attestation trail OFFLINE: every record's Ed25519 signature + tamper-evident binding + chain lineage + that each commit still exists in git. Exit 2 if broken.")
119
+ .option("--json", "JSON output.")
120
+ .action((opts) => {
121
+ const cwd = process.cwd();
122
+ const chain = readChain(cwd);
123
+ if (!chain.length) {
124
+ out("no attestations yet — run `mneme attest commit` or install the hook");
125
+ return;
126
+ }
127
+ const v = commitAttest.verifyAttestChain(chain);
128
+ // also confirm each attested commit still exists in git history
129
+ const missing = chain.filter((e) => { const sha = e.record.subject.replace("commit:", ""); return !git(`cat-file -e ${sha}^{commit}`, cwd) && git(`cat-file -t ${sha}`, cwd) !== "commit"; }).length;
130
+ if (opts.json) {
131
+ out(JSON.stringify({ ...v, missingInGit: missing }, null, 2));
132
+ if (!v.ok)
133
+ process.exitCode = 2;
134
+ return;
135
+ }
136
+ out(`🧬 Commit attestation trail — ${v.valid}/${v.checked} signed records verified OFFLINE`);
137
+ out(` chain lineage: ${v.chainIntact ? "intact ✓" : "BROKEN ✗"} · by agent: ${Object.entries(v.agents).map(([k, n]) => `${k} ${n}`).join(" · ")}`);
138
+ if (v.broken.length)
139
+ for (const b of v.broken.slice(0, 8))
140
+ out(` ✗ ${b.sha.slice(0, 10)} — ${b.reason}`);
141
+ out(v.ok ? ` ✓ genuine + untampered — anyone can re-verify with the public key, no trust required` : ` ✗ trail has issues (see above)`);
142
+ if (!v.ok)
143
+ process.exitCode = 2;
144
+ });
145
+ a.command("log")
146
+ .description("The human-readable AI audit trail (newest first).")
147
+ .option("--limit <n>", "max entries", "20")
148
+ .action((opts) => {
149
+ const cwd = process.cwd();
150
+ const chain = readChain(cwd).reverse().slice(0, parseInt(opts.limit ?? "20", 10));
151
+ if (!chain.length) {
152
+ out("no attestations yet");
153
+ return;
154
+ }
155
+ out(`🧬 AI commit audit trail (${chain.length} shown):`);
156
+ for (const e of chain) {
157
+ const f = e.facts;
158
+ const sha = e.record.subject.replace("commit:", "").slice(0, 10);
159
+ out(` ${sha} · ${String(f.agent).padEnd(11)} · ${e.record.verdict.padEnd(7)} · ${f.fileCount ?? 0} file(s)${f.addedSecrets ? ` · ⚠${f.addedSecrets} secret` : ""} · ${String(f.subject).slice(0, 50)}`);
160
+ }
161
+ });
162
+ a.command("install-hook")
163
+ .description("Opt-in: install a post-commit hook so every FUTURE commit is auto-attested (Mneme never installs a hook for you).")
164
+ .action(() => {
165
+ const cwd = process.cwd();
166
+ const hooksDir = join(cwd, ".git", "hooks");
167
+ if (!existsSync(hooksDir)) {
168
+ out("not a git repo (.git/hooks missing)");
169
+ process.exitCode = 2;
170
+ return;
171
+ }
172
+ const hook = join(hooksDir, "post-commit");
173
+ const bin = process.env["MNEME_CLI_BIN"] ?? "mneme";
174
+ const SENTINEL = "# >>> mneme attest (auto-added) >>>";
175
+ const line = `${SENTINEL}\n${bin} attest commit --commit HEAD >/dev/null 2>&1 || true\n# <<< mneme attest <<<`;
176
+ let body = existsSync(hook) ? readFileSync(hook, "utf8") : "#!/bin/sh\n";
177
+ if (body.includes(SENTINEL)) {
178
+ out("post-commit hook already installs mneme attest ✓");
179
+ return;
180
+ }
181
+ body = body.trimEnd() + "\n\n" + line + "\n";
182
+ writeFileSync(hook, body, "utf8");
183
+ try {
184
+ chmodSync(hook, 0o755);
185
+ }
186
+ catch { /* windows */ }
187
+ out(`✓ installed post-commit hook → every commit is now auto-attested (signed + chained).`);
188
+ out(` verify anytime: mneme attest verify · remove: delete the mneme block in .git/hooks/post-commit`);
189
+ });
190
+ }
191
+ //# sourceMappingURL=attest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attest.js","sourceRoot":"","sources":["../../src/commands/attest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkLA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAklNvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmLA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmlNvD"}
package/dist/index.js CHANGED
@@ -96,6 +96,7 @@ import { registerMembraneCommands } from "./commands/membrane.js";
96
96
  import { registerTrustlessCommands } from "./commands/trustless.js";
97
97
  import { registerMatrixCommands } from "./commands/matrix.js";
98
98
  import { registerXrayCommands } from "./commands/xray.js";
99
+ import { registerAttestCommands } from "./commands/attest.js";
99
100
  import { registerAdamasCommands } from "./commands/adamas.js";
100
101
  import { registerPrismCommands } from "./commands/prism.js";
101
102
  import { registerGoldilocksCommands } from "./commands/goldilocks.js";
@@ -4759,6 +4760,7 @@ export async function run(argv) {
4759
4760
  registerTrustlessCommands(program);
4760
4761
  registerMatrixCommands(program);
4761
4762
  registerXrayCommands(program);
4763
+ registerAttestCommands(program);
4762
4764
  registerAdamasCommands(program);
4763
4765
  registerPrismCommands(program);
4764
4766
  registerGoldilocksCommands(program);