@mneme-ai/core 2.19.86-lite → 2.19.87-lite

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.
Files changed (45) hide show
  1. package/dist/agent_manifest.d.ts +1 -1
  2. package/dist/agent_manifest.d.ts.map +1 -1
  3. package/dist/agent_manifest.js +10 -1
  4. package/dist/agent_manifest.js.map +1 -1
  5. package/dist/ai_confessional/ai_confessional.test.d.ts +2 -0
  6. package/dist/ai_confessional/ai_confessional.test.d.ts.map +1 -0
  7. package/dist/ai_confessional/ai_confessional.test.js +51 -0
  8. package/dist/ai_confessional/ai_confessional.test.js.map +1 -0
  9. package/dist/ai_confessional/index.d.ts +43 -0
  10. package/dist/ai_confessional/index.d.ts.map +1 -0
  11. package/dist/ai_confessional/index.js +147 -0
  12. package/dist/ai_confessional/index.js.map +1 -0
  13. package/dist/dep_mortality/dep_mortality.test.d.ts +2 -0
  14. package/dist/dep_mortality/dep_mortality.test.d.ts.map +1 -0
  15. package/dist/dep_mortality/dep_mortality.test.js +39 -0
  16. package/dist/dep_mortality/dep_mortality.test.js.map +1 -0
  17. package/dist/dep_mortality/index.d.ts +51 -0
  18. package/dist/dep_mortality/index.d.ts.map +1 -0
  19. package/dist/dep_mortality/index.js +85 -0
  20. package/dist/dep_mortality/index.js.map +1 -0
  21. package/dist/funeral/index.d.ts +49 -0
  22. package/dist/funeral/index.d.ts.map +1 -0
  23. package/dist/funeral/index.js +172 -0
  24. package/dist/funeral/index.js.map +1 -0
  25. package/dist/index.d.ts +5 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +17 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/socratic/index.d.ts +41 -0
  30. package/dist/socratic/index.d.ts.map +1 -0
  31. package/dist/socratic/index.js +123 -0
  32. package/dist/socratic/index.js.map +1 -0
  33. package/dist/socratic/socratic.test.d.ts +2 -0
  34. package/dist/socratic/socratic.test.d.ts.map +1 -0
  35. package/dist/socratic/socratic.test.js +26 -0
  36. package/dist/socratic/socratic.test.js.map +1 -0
  37. package/dist/whistleblower/index.d.ts +56 -0
  38. package/dist/whistleblower/index.d.ts.map +1 -0
  39. package/dist/whistleblower/index.js +158 -0
  40. package/dist/whistleblower/index.js.map +1 -0
  41. package/dist/whistleblower/whistleblower.test.d.ts +2 -0
  42. package/dist/whistleblower/whistleblower.test.d.ts.map +1 -0
  43. package/dist/whistleblower/whistleblower.test.js +40 -0
  44. package/dist/whistleblower/whistleblower.test.js.map +1 -0
  45. package/package.json +1 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * v2.19.87 — #10 REVERSE STACK OVERFLOW.
3
+ *
4
+ * The opposite of every AI coding tool today. ChatGPT et al guess
5
+ * confidently; this engine guesses humbly + ASKS THE HUMAN before
6
+ * acting.
7
+ *
8
+ * Given a function or file, it generates 3 plausible hypotheses about
9
+ * WHY the code is shaped the way it is, and offers them as questions
10
+ * for the human to pick from. When the human picks, Mneme records the
11
+ * answer. Over time the engine learns the user's coding patterns and
12
+ * its hypothesis ranking improves.
13
+ *
14
+ * NO LLM call — pure heuristic feature-detection. Runs identically on
15
+ * any sandbox / mobile / claude.app environment that lacks Ollama.
16
+ */
17
+ export interface Hypothesis {
18
+ id: string;
19
+ rank: number;
20
+ text: string;
21
+ evidence: string;
22
+ }
23
+ export interface SocraticReading {
24
+ /** Path / function id being analysed. */
25
+ target: string;
26
+ /** Detected features (signals from the code). */
27
+ features: string[];
28
+ hypotheses: Hypothesis[];
29
+ }
30
+ export interface SocraticAnswer {
31
+ target: string;
32
+ pickedHypothesisId: string | null;
33
+ userExplanation: string;
34
+ ts: string;
35
+ }
36
+ export declare function readSocratic(target: string, code: string): SocraticReading;
37
+ export declare function recordSocraticAnswer(repoRoot: string, answer: SocraticAnswer): void;
38
+ export declare function readSocraticAnswers(repoRoot: string, opts?: {
39
+ limit?: number;
40
+ }): SocraticAnswer[];
41
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socratic/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,MAAM,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;CACZ;AAqED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAqB1E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAInF;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,cAAc,EAAE,CAUrG"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * v2.19.87 — #10 REVERSE STACK OVERFLOW.
3
+ *
4
+ * The opposite of every AI coding tool today. ChatGPT et al guess
5
+ * confidently; this engine guesses humbly + ASKS THE HUMAN before
6
+ * acting.
7
+ *
8
+ * Given a function or file, it generates 3 plausible hypotheses about
9
+ * WHY the code is shaped the way it is, and offers them as questions
10
+ * for the human to pick from. When the human picks, Mneme records the
11
+ * answer. Over time the engine learns the user's coding patterns and
12
+ * its hypothesis ranking improves.
13
+ *
14
+ * NO LLM call — pure heuristic feature-detection. Runs identically on
15
+ * any sandbox / mobile / claude.app environment that lacks Ollama.
16
+ */
17
+ import { existsSync, readFileSync, mkdirSync, appendFileSync } from "node:fs";
18
+ import { join } from "node:path";
19
+ const DIR = ".mneme/socratic";
20
+ const LEDGER = "answers.jsonl";
21
+ const FEATURE_RULES = [
22
+ {
23
+ feature: "uses Promise.all",
24
+ test: (c) => /\bPromise\.all\(/.test(c),
25
+ hypothesis: { id: "h_concurrency", text: (snip) => `Did you use Promise.all here because the calls have no inter-dependencies and you wanted to parallelise the wait time?`, evidence: "saw Promise.all on the code path" },
26
+ },
27
+ {
28
+ feature: "try/catch around await",
29
+ test: (c) => /try\s*\{[^}]*\bawait\b/.test(c),
30
+ hypothesis: { id: "h_defensive_async", text: () => `Did you wrap the await in try/catch because a specific upstream call has thrown in production before, and you wanted to swallow that one path?`, evidence: "try/catch wraps an await — defensive against a known failure mode" },
31
+ },
32
+ {
33
+ feature: "early-return pattern",
34
+ test: (c) => /\bif\s*\([^)]+\)\s*return\b/.test(c),
35
+ hypothesis: { id: "h_guard_clauses", text: () => `Did you use early returns to keep the happy path flat, instead of nesting everything inside an if?`, evidence: "early `if (...) return` guard clauses" },
36
+ },
37
+ {
38
+ feature: "Map vs Object",
39
+ test: (c) => /new\s+Map\(/.test(c),
40
+ hypothesis: { id: "h_map_choice", text: () => `Did you choose Map over a plain object because the keys aren't strings, or because you needed insertion-order iteration?`, evidence: "new Map() rather than {}" },
41
+ },
42
+ {
43
+ feature: "explicit type narrowing",
44
+ test: (c) => /\bas\s+(unknown\s+as\s+)?[A-Z]/.test(c),
45
+ hypothesis: { id: "h_type_assertion", text: () => `Did you use 'as' here because TypeScript's inference was too narrow / too wide, and you knew something the compiler didn't?`, evidence: "explicit type assertion present" },
46
+ },
47
+ {
48
+ feature: "default parameter",
49
+ test: (c) => /\bfunction\s+\w+\s*\([^)]*=\s*[^),]+/.test(c) || /\(\s*[^,)]+\s*=\s*[^),]+/.test(c),
50
+ hypothesis: { id: "h_default_arg", text: () => `Did you set the default at the parameter site (rather than inside the body) because every caller WAS passing the same value and you wanted to collapse it?`, evidence: "default value at parameter site" },
51
+ },
52
+ {
53
+ feature: "regex .test() — not .match()",
54
+ test: (c) => /\/[^/\n]+\/[a-z]*\.test\(/.test(c),
55
+ hypothesis: { id: "h_test_vs_match", text: () => `Did you use .test() instead of .match() because you only need the boolean and want to avoid allocating a match array?`, evidence: "regex.test() — boolean-only path" },
56
+ },
57
+ {
58
+ feature: "string concat (template literal)",
59
+ test: (c) => /`[^`]*\$\{/.test(c),
60
+ hypothesis: { id: "h_template_lit", text: () => `Did you go with template literals over string concat because of readability with multiple interpolations, or because of a multi-line block?`, evidence: "template literal with interpolation" },
61
+ },
62
+ {
63
+ feature: "single-line ternary",
64
+ test: (c) => /\?[^:]+:\s*[^;]+;/.test(c),
65
+ hypothesis: { id: "h_ternary", text: () => `Did you use a ternary instead of if/else because the two branches each return a single expression and you wanted the line to read as 'a or b'?`, evidence: "ternary expression for binary choice" },
66
+ },
67
+ {
68
+ feature: "no semicolons",
69
+ test: (c) => c.split("\n").filter((l) => l.trim() && !l.trim().endsWith(";") && !l.trim().endsWith("{") && !l.trim().endsWith("}") && !l.trim().startsWith("//")).length > 3,
70
+ hypothesis: { id: "h_semi_style", text: () => `Did you skip semicolons because this codebase uses Standard / no-semi style, or just personal preference?`, evidence: "majority of statements lack trailing semicolons" },
71
+ },
72
+ ];
73
+ const FALLBACK_HYPOTHESES = [
74
+ { id: "h_fallback_legacy", text: "Did you write it this way because that's what the rest of the file looked like and you wanted to stay consistent?", evidence: "stylistic consistency with the file" },
75
+ { id: "h_fallback_perf", text: "Did you write it this way to avoid an allocation / re-render / extra round-trip in the hot path?", evidence: "performance-sensitive code shape" },
76
+ { id: "h_fallback_test", text: "Did you write it this way because it makes the unit-test ergonomics cleaner (easy mock / no global state)?", evidence: "testability-first shape" },
77
+ ];
78
+ export function readSocratic(target, code) {
79
+ const features = [];
80
+ const hypotheses = [];
81
+ for (const r of FEATURE_RULES) {
82
+ if (!r.test(code))
83
+ continue;
84
+ features.push(r.feature);
85
+ hypotheses.push({
86
+ id: r.hypothesis.id,
87
+ rank: 0, // re-ranked below
88
+ text: r.hypothesis.text(code.slice(0, 120)),
89
+ evidence: r.hypothesis.evidence,
90
+ });
91
+ }
92
+ // Take top 3, pad with fallbacks if fewer features were detected.
93
+ let chosen = hypotheses.slice(0, 3);
94
+ for (const fb of FALLBACK_HYPOTHESES) {
95
+ if (chosen.length >= 3)
96
+ break;
97
+ chosen.push({ id: fb.id, rank: 0, text: fb.text, evidence: fb.evidence });
98
+ }
99
+ chosen = chosen.slice(0, 3).map((h, i) => ({ ...h, rank: i + 1 }));
100
+ return { target, features, hypotheses: chosen };
101
+ }
102
+ export function recordSocraticAnswer(repoRoot, answer) {
103
+ const dir = join(repoRoot, DIR);
104
+ if (!existsSync(dir))
105
+ mkdirSync(dir, { recursive: true });
106
+ appendFileSync(join(repoRoot, DIR, LEDGER), JSON.stringify(answer) + "\n", "utf8");
107
+ }
108
+ export function readSocraticAnswers(repoRoot, opts = {}) {
109
+ const p = join(repoRoot, DIR, LEDGER);
110
+ if (!existsSync(p))
111
+ return [];
112
+ const lines = readFileSync(p, "utf8").trim().split("\n").filter(Boolean);
113
+ const out = [];
114
+ for (const line of lines) {
115
+ try {
116
+ out.push(JSON.parse(line));
117
+ }
118
+ catch { /* */ }
119
+ }
120
+ out.reverse();
121
+ return typeof opts.limit === "number" ? out.slice(0, opts.limit) : out;
122
+ }
123
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socratic/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=socratic.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socratic.test.d.ts","sourceRoot":"","sources":["../../src/socratic/socratic.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { readSocratic } from "./index.js";
3
+ describe("socratic · feature detection", () => {
4
+ it("detects Promise.all + try/catch around await", () => {
5
+ const code = `async function f() { try { return await Promise.all([a(), b()]); } catch { return null; } }`;
6
+ const r = readSocratic("f.js", code);
7
+ expect(r.features).toContain("uses Promise.all");
8
+ expect(r.features).toContain("try/catch around await");
9
+ expect(r.hypotheses.length).toBe(3);
10
+ expect(r.hypotheses[0].rank).toBe(1);
11
+ });
12
+ it("falls back to general hypotheses when no features fire", () => {
13
+ const r = readSocratic("f.js", "var x = 1;");
14
+ expect(r.hypotheses.length).toBe(3);
15
+ });
16
+ it("always returns exactly 3 ranked hypotheses", () => {
17
+ const code = `
18
+ const m = new Map();
19
+ function f(a = 1) { if (!a) return; const x = a ? 'yes' : 'no'; return /test/.test(x); }
20
+ `;
21
+ const r = readSocratic("f.js", code);
22
+ expect(r.hypotheses.length).toBe(3);
23
+ expect(r.hypotheses.map((h) => h.rank)).toEqual([1, 2, 3]);
24
+ });
25
+ });
26
+ //# sourceMappingURL=socratic.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socratic.test.js","sourceRoot":"","sources":["../../src/socratic/socratic.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG,6FAA6F,CAAC;QAC3G,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACvD,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,IAAI,GAAG;;;KAGZ,CAAC;QACF,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * v2.19.87 — #8 AI WHISTLEBLOWER MODE.
3
+ *
4
+ * Mneme stays loyal to the USER, not the AI vendor. When the AI you're
5
+ * talking to suggests something illegal / non-compliant / dangerous /
6
+ * leaks PII, the whistleblower flags it BEFORE you act on it.
7
+ *
8
+ * Detection axes:
9
+ * 1. Dangerous commands (rm -rf, force-push to main, --no-verify,
10
+ * drop database, git reset --hard)
11
+ * 2. License contamination (suggested code with copyright headers
12
+ * from incompatible licenses)
13
+ * 3. PII / secrets leakage (reuses compliance.dlp patterns —
14
+ * AWS / GitHub / OpenAI / JWT / PEM /
15
+ * Thai national ID / cards / email)
16
+ * 4. Compliance evasion (phrases like "let's bypass review",
17
+ * "as per company policy" mid-suggestion,
18
+ * "I cannot disclose ... but the answer is")
19
+ * 5. Self-incrimination (AI admitting it doesn't have access,
20
+ * guessing without saying so, etc)
21
+ *
22
+ * Every flagged incident is appended to .mneme/whistleblower/incidents.jsonl
23
+ * HMAC-chained — tamper-evident audit log for compliance officers.
24
+ */
25
+ export type IncidentSeverity = "info" | "warn" | "block";
26
+ export type IncidentClass = "dangerous_command" | "license_contamination" | "pii_leak" | "secret_leak" | "compliance_evasion" | "self_incrimination";
27
+ export interface Incident {
28
+ ts: string;
29
+ vendor: string;
30
+ class: IncidentClass;
31
+ severity: IncidentSeverity;
32
+ evidence: string;
33
+ context: string;
34
+ rationale: string;
35
+ chainHash?: string;
36
+ }
37
+ export interface WhistleScanResult {
38
+ incidents: Incident[];
39
+ /** Overall verdict: clean / advise / block. */
40
+ verdict: "clean" | "advise" | "block";
41
+ /** Plain-English summary for the user. */
42
+ summary: string;
43
+ }
44
+ export declare function scanWhistle(text: string, opts?: {
45
+ vendor?: string;
46
+ }): Incident[];
47
+ /** Append incidents to the HMAC-chained ledger and return them with sigs. */
48
+ export declare function recordIncidents(repoRoot: string, incidents: Incident[]): Incident[];
49
+ export declare function scanWhistleAndRecord(repoRoot: string, text: string, opts?: {
50
+ vendor?: string;
51
+ }): WhistleScanResult;
52
+ export declare function readIncidents(repoRoot: string, opts?: {
53
+ limit?: number;
54
+ sinceTs?: number;
55
+ }): Incident[];
56
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/whistleblower/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAUH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACzD,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,UAAU,GACV,aAAa,GACb,oBAAoB,GACpB,oBAAoB,CAAC;AAEzB,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAuCD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,QAAQ,EAAE,CAoBpF;AAyBD,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAgBnF;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,iBAAiB,CAYtH;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,QAAQ,EAAE,CAc3G"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * v2.19.87 — #8 AI WHISTLEBLOWER MODE.
3
+ *
4
+ * Mneme stays loyal to the USER, not the AI vendor. When the AI you're
5
+ * talking to suggests something illegal / non-compliant / dangerous /
6
+ * leaks PII, the whistleblower flags it BEFORE you act on it.
7
+ *
8
+ * Detection axes:
9
+ * 1. Dangerous commands (rm -rf, force-push to main, --no-verify,
10
+ * drop database, git reset --hard)
11
+ * 2. License contamination (suggested code with copyright headers
12
+ * from incompatible licenses)
13
+ * 3. PII / secrets leakage (reuses compliance.dlp patterns —
14
+ * AWS / GitHub / OpenAI / JWT / PEM /
15
+ * Thai national ID / cards / email)
16
+ * 4. Compliance evasion (phrases like "let's bypass review",
17
+ * "as per company policy" mid-suggestion,
18
+ * "I cannot disclose ... but the answer is")
19
+ * 5. Self-incrimination (AI admitting it doesn't have access,
20
+ * guessing without saying so, etc)
21
+ *
22
+ * Every flagged incident is appended to .mneme/whistleblower/incidents.jsonl
23
+ * HMAC-chained — tamper-evident audit log for compliance officers.
24
+ */
25
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, appendFileSync } from "node:fs";
26
+ import { join } from "node:path";
27
+ import { createHmac, randomBytes } from "node:crypto";
28
+ const DIR = ".mneme/whistleblower";
29
+ const LEDGER = "incidents.jsonl";
30
+ const KEY_FILE = "whistle.key";
31
+ const DETECTORS = [
32
+ // 1. Dangerous shell commands
33
+ { cls: "dangerous_command", severity: "block", rationale: "Recursive force-delete suggested — irreversible.", pattern: /\brm\s+-rf\s+[\/~]/i },
34
+ { cls: "dangerous_command", severity: "block", rationale: "Force-push to a protected branch suggested.", pattern: /git\s+push\s+(--force|-f)\b.*\b(main|master|trunk|production)/i },
35
+ { cls: "dangerous_command", severity: "warn", rationale: "Hard reset will destroy uncommitted work.", pattern: /git\s+reset\s+--hard/i },
36
+ { cls: "dangerous_command", severity: "warn", rationale: "Skipping pre-commit hooks bypasses safety gates.", pattern: /git\s+commit\s+[^\n]*--no-verify/i },
37
+ { cls: "dangerous_command", severity: "block", rationale: "Dropping a database table or schema.", pattern: /\b(drop\s+(table|database|schema)|truncate\s+table)\b/i },
38
+ { cls: "dangerous_command", severity: "warn", rationale: "Piping curl into sudo bash is the canonical supply-chain attack vector.", pattern: /curl\s+[^|]+\|\s*(sudo\s+)?(ba)?sh/i },
39
+ { cls: "dangerous_command", severity: "warn", rationale: "chmod 777 grants world-write — security smell.", pattern: /chmod\s+(-R\s+)?777/i },
40
+ // 2. License contamination signatures
41
+ { cls: "license_contamination", severity: "warn", rationale: "GPL header in suggested code may conflict with MIT/Apache project.", pattern: /GNU\s+General\s+Public\s+License|GPL[v]?[23]/ },
42
+ { cls: "license_contamination", severity: "warn", rationale: "Suggested code carries a proprietary 'all rights reserved' header.", pattern: /Copyright\s+\([cC]\).*all\s+rights\s+reserved/i },
43
+ // 3. PII / secrets — overlap with compliance.dlp but kept inline so this
44
+ // module stays self-sufficient.
45
+ { cls: "secret_leak", severity: "block", rationale: "AWS access key in AI output.", pattern: /\bAKIA[0-9A-Z]{16}\b/ },
46
+ { cls: "secret_leak", severity: "block", rationale: "GitHub personal access token in AI output.", pattern: /\bgh[pous]_[A-Za-z0-9_]{36,}\b/ },
47
+ { cls: "secret_leak", severity: "block", rationale: "OpenAI / Anthropic API key in AI output.", pattern: /\b(sk-[A-Za-z0-9]{32,}|sk-ant-api\d{2}-[A-Za-z0-9_-]{60,})\b/ },
48
+ { cls: "secret_leak", severity: "block", rationale: "Private key block embedded in AI output.", pattern: /-----BEGIN\s+(RSA|EC|OPENSSH|PGP)?\s*PRIVATE\s+KEY-----/ },
49
+ { cls: "pii_leak", severity: "warn", rationale: "Thai national ID number (13-digit) embedded in AI output.", pattern: /\b[0-9]-[0-9]{4}-[0-9]{5}-[0-9]{2}-[0-9]\b/ },
50
+ { cls: "pii_leak", severity: "warn", rationale: "Credit-card-like number in AI output.", pattern: /\b(?:\d[ -]*?){13,19}\b/ },
51
+ // 4. Compliance evasion phrases
52
+ { cls: "compliance_evasion", severity: "block", rationale: "AI is suggesting a workaround to bypass review.", pattern: /\b(bypass|skip|work\s*around)\s+(the\s+)?(review|hook|gate|approval)/i },
53
+ { cls: "compliance_evasion", severity: "warn", rationale: "AI invoked a policy without citing the policy.", pattern: /\bas\s+per\s+(company|corporate)\s+policy\b/i },
54
+ { cls: "compliance_evasion", severity: "warn", rationale: "AI claimed it cannot disclose, then offered to disclose anyway.", pattern: /i\s+(cannot|can't|am\s+not\s+able\s+to)\s+disclose[^.]*(but|however)\b/i },
55
+ // 5. Self-incrimination / hedge-without-saying-so
56
+ { cls: "self_incrimination", severity: "info", rationale: "AI is guessing without flagging uncertainty.", pattern: /\b(probably|might\s+be|most\s+likely)\s+\d/i },
57
+ ];
58
+ export function scanWhistle(text, opts = {}) {
59
+ if (!text)
60
+ return [];
61
+ const out = [];
62
+ for (const d of DETECTORS) {
63
+ const m = d.pattern.exec(text);
64
+ if (!m)
65
+ continue;
66
+ const i = m.index ?? text.indexOf(m[0]);
67
+ const ctxStart = Math.max(0, i - 30);
68
+ const ctxEnd = Math.min(text.length, i + m[0].length + 30);
69
+ out.push({
70
+ ts: new Date().toISOString(),
71
+ vendor: opts.vendor ?? "unknown",
72
+ class: d.cls,
73
+ severity: d.severity,
74
+ evidence: m[0].slice(0, 80),
75
+ context: text.slice(ctxStart, ctxEnd),
76
+ rationale: d.rationale,
77
+ });
78
+ }
79
+ return out;
80
+ }
81
+ function ensureKey(repoRoot) {
82
+ const dir = join(repoRoot, DIR);
83
+ if (!existsSync(dir))
84
+ mkdirSync(dir, { recursive: true });
85
+ const p = join(dir, KEY_FILE);
86
+ if (existsSync(p))
87
+ return readFileSync(p, "utf8").trim();
88
+ const k = randomBytes(32).toString("base64url");
89
+ writeFileSync(p, k, "utf8");
90
+ return k;
91
+ }
92
+ function lastChain(repoRoot) {
93
+ const p = join(repoRoot, DIR, LEDGER);
94
+ if (!existsSync(p))
95
+ return "GENESIS";
96
+ const lines = readFileSync(p, "utf8").trim().split("\n").filter(Boolean);
97
+ for (let i = lines.length - 1; i >= 0; i--) {
98
+ try {
99
+ const obj = JSON.parse(lines[i]);
100
+ if (obj.chainHash)
101
+ return obj.chainHash;
102
+ }
103
+ catch { /* */ }
104
+ }
105
+ return "GENESIS";
106
+ }
107
+ /** Append incidents to the HMAC-chained ledger and return them with sigs. */
108
+ export function recordIncidents(repoRoot, incidents) {
109
+ if (incidents.length === 0)
110
+ return [];
111
+ const key = ensureKey(repoRoot);
112
+ const dir = join(repoRoot, DIR);
113
+ if (!existsSync(dir))
114
+ mkdirSync(dir, { recursive: true });
115
+ let prev = lastChain(repoRoot);
116
+ const out = [];
117
+ for (const inc of incidents) {
118
+ const payload = `${prev}|${inc.ts}|${inc.vendor}|${inc.class}|${inc.severity}|${inc.evidence}`;
119
+ const chainHash = createHmac("sha256", key).update(payload).digest("base64url").slice(0, 22);
120
+ const stamped = { ...inc, chainHash };
121
+ appendFileSync(join(repoRoot, DIR, LEDGER), JSON.stringify(stamped) + "\n", "utf8");
122
+ out.push(stamped);
123
+ prev = chainHash;
124
+ }
125
+ return out;
126
+ }
127
+ export function scanWhistleAndRecord(repoRoot, text, opts = {}) {
128
+ const incidents = scanWhistle(text, opts);
129
+ const recorded = recordIncidents(repoRoot, incidents);
130
+ const hasBlock = recorded.some((i) => i.severity === "block");
131
+ const hasWarn = recorded.some((i) => i.severity === "warn");
132
+ const verdict = hasBlock ? "block" : hasWarn ? "advise" : "clean";
133
+ const summary = verdict === "block"
134
+ ? `🚨 ${recorded.length} incidents (${recorded.filter((i) => i.severity === "block").length} blocking). Do NOT act on this AI output.`
135
+ : verdict === "advise"
136
+ ? `⚠ ${recorded.length} incidents found. Review before acting.`
137
+ : "✓ Clean — no compliance flags raised.";
138
+ return { incidents: recorded, verdict, summary };
139
+ }
140
+ export function readIncidents(repoRoot, opts = {}) {
141
+ const p = join(repoRoot, DIR, LEDGER);
142
+ if (!existsSync(p))
143
+ return [];
144
+ const lines = readFileSync(p, "utf8").trim().split("\n").filter(Boolean);
145
+ const out = [];
146
+ for (const line of lines) {
147
+ try {
148
+ const inc = JSON.parse(line);
149
+ if (opts.sinceTs && Date.parse(inc.ts) < opts.sinceTs)
150
+ continue;
151
+ out.push(inc);
152
+ }
153
+ catch { /* */ }
154
+ }
155
+ out.reverse();
156
+ return typeof opts.limit === "number" ? out.slice(0, opts.limit) : out;
157
+ }
158
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/whistleblower/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=whistleblower.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whistleblower.test.d.ts","sourceRoot":"","sources":["../../src/whistleblower/whistleblower.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { mkdtempSync, rmSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import { scanWhistle, scanWhistleAndRecord, readIncidents } from "./index.js";
6
+ function tmpRepo() { return mkdtempSync(join(tmpdir(), "mneme-whistle-")); }
7
+ describe("whistleblower · detectors", () => {
8
+ it("flags rm -rf / as block severity", () => {
9
+ const incidents = scanWhistle("just run rm -rf /tmp/stuff");
10
+ expect(incidents.some((i) => i.class === "dangerous_command" && i.severity === "block")).toBe(true);
11
+ });
12
+ it("flags AWS access keys", () => {
13
+ const incidents = scanWhistle("here is your key: AKIA1234567890ABCDEF for the bucket");
14
+ expect(incidents.some((i) => i.class === "secret_leak" && i.severity === "block")).toBe(true);
15
+ });
16
+ it("flags compliance evasion (bypass review)", () => {
17
+ const incidents = scanWhistle("just bypass the review and ship it");
18
+ expect(incidents.some((i) => i.class === "compliance_evasion")).toBe(true);
19
+ });
20
+ it("clean text returns empty incidents", () => {
21
+ expect(scanWhistle("hello, here is a normal answer about programming")).toEqual([]);
22
+ });
23
+ });
24
+ describe("whistleblower · ledger", () => {
25
+ it("records incidents + verdict + HMAC chain", () => {
26
+ const r = tmpRepo();
27
+ try {
28
+ const result = scanWhistleAndRecord(r, "run rm -rf / then bypass the review");
29
+ expect(result.verdict).toBe("block");
30
+ expect(result.incidents.length).toBeGreaterThan(0);
31
+ expect(result.incidents.every((i) => typeof i.chainHash === "string")).toBe(true);
32
+ const back = readIncidents(r);
33
+ expect(back.length).toBeGreaterThanOrEqual(result.incidents.length);
34
+ }
35
+ finally {
36
+ rmSync(r, { recursive: true, force: true });
37
+ }
38
+ });
39
+ });
40
+ //# sourceMappingURL=whistleblower.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"whistleblower.test.js","sourceRoot":"","sources":["../../src/whistleblower/whistleblower.test.ts"],"names":[],"mappings":"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"}