@mneme-ai/core 2.49.0 → 2.51.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ai_handshake.d.ts","sourceRoot":"","sources":["../src/ai_handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAgBH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAAC;IAChD,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;mEACmE;AACnE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAiE5F;AAQD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAQtE;AAyBD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAiD/G;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CA+D9F;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAgBxJ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA6BtH;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,EAAE,CAerH;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAcxF"}
1
+ {"version":3,"file":"ai_handshake.d.ts","sourceRoot":"","sources":["../src/ai_handshake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAgBH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,GAAG,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS,CAAC;IAChD,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;QACf,gBAAgB,EAAE,MAAM,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;mEACmE;AACnE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAwF5F;AAQD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAQtE;AAyBD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,WAAW,CAiD/G;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAoF9F;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAgBxJ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA6BtH;AAED,gEAAgE;AAChE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,eAAe,EAAE,CAerH;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,SAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAcxF"}
@@ -52,13 +52,26 @@ export function autoDetectVendor(repoRoot) {
52
52
  if (explicit && /^[a-z0-9._-]{1,64}$/i.test(explicit)) {
53
53
  return { vendor: explicit, reason: "MNEME_AI_VENDOR env var" };
54
54
  }
55
- // 2) Anthropic / Claude Code env signals
56
- if (process.env["ANTHROPIC_API_KEY"] || process.env["CLAUDE_CODE_SESSION"]) {
57
- return { vendor: "claude-opus-4-7", reason: "Anthropic env signal" };
55
+ // v2.50.0 B4 ROOT-CAUSE FIX: Claude Code sets CLAUDECODE=1 (not
56
+ // CLAUDE_CODE_SESSION). Pre-v2.50 the Anthropic rule never matched
57
+ // Claude Code fell through to OLLAMA rule when Ollama was running
58
+ // → vendor field polluted with "ollama" (embedder leak class).
59
+ if (process.env["CLAUDECODE"] === "1" || process.env["CLAUDE_CODE_SSE_PORT"] || process.env["CLAUDE_CODE_ENTRYPOINT"]) {
60
+ return { vendor: "claude-code", reason: "Claude Code env signal (CLAUDECODE / CLAUDE_CODE_*)" };
61
+ }
62
+ // 2) Anthropic / Claude Code session-based env signals
63
+ if (process.env["CLAUDE_CODE_SESSION"]) {
64
+ return { vendor: "claude-code", reason: "CLAUDE_CODE_SESSION env" };
65
+ }
66
+ if (process.env["ANTHROPIC_API_KEY"]) {
67
+ return { vendor: "claude-code", reason: "ANTHROPIC_API_KEY env" };
68
+ }
69
+ // 3) OpenAI / Codex env signals (Codex CLI specifically)
70
+ if (process.env["CODEX_AGENT"] || process.env["OPENAI_CODEX"]) {
71
+ return { vendor: "codex", reason: "Codex env signal" };
58
72
  }
59
- // 3) OpenAI / Codex env signals
60
73
  if (process.env["OPENAI_API_KEY"]) {
61
- return { vendor: "openai-gpt", reason: "OPENAI_API_KEY env" };
74
+ return { vendor: "codex", reason: "OPENAI_API_KEY env (Codex assumption)" };
62
75
  }
63
76
  // 4) Cursor / Continue env signals
64
77
  if (process.env["CURSOR_TRACE_ID"] || process.env["CURSOR_AGENT"]) {
@@ -66,15 +79,25 @@ export function autoDetectVendor(repoRoot) {
66
79
  }
67
80
  if (process.env["CONTINUE_DEV"])
68
81
  return { vendor: "continue", reason: "Continue env signal" };
82
+ // 4b) Devin / Copilot signals (added v2.50)
83
+ if (process.env["DEVIN_SESSION"] || process.env["DEVIN_API_KEY"]) {
84
+ return { vendor: "devin", reason: "Devin env signal" };
85
+ }
86
+ if (process.env["COPILOT_AGENT"] || process.env["GH_COPILOT_TOKEN"] || process.env["GITHUB_COPILOT_CLI"]) {
87
+ return { vendor: "copilot", reason: "Copilot env signal" };
88
+ }
69
89
  // 5) Gemini CLI signal
70
90
  if (process.env["GEMINI_API_KEY"] || process.env["GOOGLE_API_KEY"]) {
71
- return { vendor: "google-gemini", reason: "GEMINI/GOOGLE_API_KEY env" };
91
+ return { vendor: "gemini-cli", reason: "GEMINI/GOOGLE_API_KEY env" };
72
92
  }
73
- // 5b) Ollama (local LLM runner used directly OR as a backend for
74
- // Continue / Cline / Aider). User explicitly asked: this MUST work
75
- // so the demon rampages for self-hosted setups too.
93
+ // ─── v2.50.0 BACKEND/EMBEDDER signals DEMOTED to lower priority ────
94
+ // These are NOT agent vendors they're local-LLM runners / embedders.
95
+ // We only emit them when nothing else matched, AND we tag them with
96
+ // the "-backend" suffix so the vendor-allowlist guard recognises +
97
+ // coerces them to "unknown" at write time.
98
+ // 5b) Ollama (local LLM runner)
76
99
  if (process.env["OLLAMA_HOST"] || process.env["OLLAMA_MODELS"]) {
77
- return { vendor: "ollama", reason: "OLLAMA_HOST/OLLAMA_MODELS env" };
100
+ return { vendor: "ollama-backend", reason: "OLLAMA_HOST/OLLAMA_MODELS env (backend; will coerce to unknown)" };
78
101
  }
79
102
  // 5c) Aider (uses LITELLM_* / AIDER_* prefixes when running)
80
103
  if (process.env["AIDER_MODEL"] || process.env["AIDER_API_KEY"]) {
@@ -228,6 +251,29 @@ export function recordCliActivity(repoRoot, command, vendorHint) {
228
251
  }
229
252
  if (!vendor)
230
253
  return; // unknown — never write a misleading record
254
+ // v2.50.0 — VENDOR ALLOWLIST GUARD. Before writing to cli-activity,
255
+ // run the candidate vendor through fullGuard(). This catches the
256
+ // EMBEDDER LEAK class: when autoDetectVendor fell through to
257
+ // OLLAMA/OPENAI-API rule, the vendor field would be polluted with
258
+ // a backend/model name. Now those get coerced to "unknown" + the
259
+ // env_scan v2.46 result becomes the canonical answer when available.
260
+ try {
261
+ const { fullGuard } = require("./nemesis/vendor_allowlist.js");
262
+ const { scanEnv } = require("./nemesis/env_scan.js");
263
+ const envScan = scanEnv();
264
+ const guarded = fullGuard({
265
+ repoRoot: root,
266
+ candidateVendor: vendor,
267
+ envScanVendor: envScan.vendor,
268
+ envScanConfidence: envScan.confidence,
269
+ writerName: "recordCliActivity",
270
+ });
271
+ // Coerce to "unknown" → SKIP write rather than pollute the ledger.
272
+ if (guarded.vendor === "unknown")
273
+ return;
274
+ vendor = guarded.vendor;
275
+ }
276
+ catch { /* defensive — if guard unavailable, fall through to legacy behavior */ }
231
277
  // De-dupe: at most one entry per (vendor, command, day-bucket)
232
278
  const path = join(root, CLI_ACTIVITY_FILE);
233
279
  const dayKey = Math.floor(Date.now() / ACTIVITY_BUCKET_SIZE_MS);
@@ -1 +1 @@
1
- {"version":3,"file":"ai_handshake.js","sourceRoot":"","sources":["../src/ai_handshake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai_handshake.js","sourceRoot":"","sources":["../src/ai_handshake.ts"],"names":[],"mappings":"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"}
@@ -29,5 +29,6 @@ export { resolveHmacKey, generateProductionKey, type KeyResolution, type KeySour
29
29
  export { reconcileVendor, type ReconcileInput, type ReconcileVerdict, } from "./vendor_reconcile.js";
30
30
  export { computeWeightDelta, applyToConclave, type VerdictInput, type WeightDelta, type ApplyResult, } from "./nemesis_to_conclave.js";
31
31
  export { recordActivityReconciled, type RecordActivityInput, type RecordActivityResult, } from "./activity_writer.js";
32
+ export { AGENT_VENDOR_ALLOWLIST, EMBEDDER_LEAK_SIGNATURES, guardVendor, fullGuard, logEmbedderLeak, cleanseLedger, type VendorGuardResult, type FullGuardInput, type FullGuardResult, type CleanseLedgerInput, type CleanseLedgerResult, } from "./vendor_allowlist.js";
32
33
  export { generateProbes, gradeRun, recordRun, readRuns, trendFor, type Probe, type ProbeFamily, type NemesisRun, type TrendSeries, } from "./nemesis.js";
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY,EACV,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAC5C,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EACxD,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,GACpE,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI3E,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,SAAS,EACxC,KAAK,WAAW,EAAE,KAAK,WAAW,GACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EAAE,oBAAoB,EAC7C,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAChF,KAAK,iBAAiB,EAAE,KAAK,YAAY,GAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAAE,qBAAqB,EACrC,KAAK,aAAa,EAAE,KAAK,SAAS,GACnC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,GAC5D,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAAE,eAAe,EACnC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,GACtD,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,wBAAwB,EACxB,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,GACpD,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY,EACV,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAC5C,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EACxD,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,GACpE,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI3E,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,SAAS,EACxC,KAAK,WAAW,EAAE,KAAK,WAAW,GACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EAAE,oBAAoB,EAC7C,KAAK,cAAc,GACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,EAChF,KAAK,iBAAiB,EAAE,KAAK,YAAY,GAC1C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAAE,qBAAqB,EACrC,KAAK,aAAa,EAAE,KAAK,SAAS,GACnC,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,GAC5D,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAAE,eAAe,EACnC,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,GACtD,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,wBAAwB,EACxB,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,GACpD,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,sBAAsB,EAAE,wBAAwB,EAChD,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EACtD,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EACjE,KAAK,kBAAkB,EAAE,KAAK,mBAAmB,GAClD,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC"}
@@ -32,6 +32,11 @@ export { reconcileVendor, } from "./vendor_reconcile.js";
32
32
  export { computeWeightDelta, applyToConclave, } from "./nemesis_to_conclave.js";
33
33
  // v2.49.0 — B4 actual wire: write-path canonical record.
34
34
  export { recordActivityReconciled, } from "./activity_writer.js";
35
+ // v2.50.0 — VENDOR ALLOWLIST GUARD: kills EMBEDDER-LEAK class structurally.
36
+ // Central allowlist of real agent vendors; backend/embedder names (ollama,
37
+ // openai-gpt, gemini, etc) coerced to "unknown" + logged to
38
+ // `.mneme/embedder_leak.jsonl` for forensic audit.
39
+ export { AGENT_VENDOR_ALLOWLIST, EMBEDDER_LEAK_SIGNATURES, guardVendor, fullGuard, logEmbedderLeak, cleanseLedger, } from "./vendor_allowlist.js";
35
40
  // v1.61 NEMESIS PROTOCOL (Tier 5 — weekly adversarial audit) lives in
36
41
  // nemesis.ts alongside the new v2.46.0 ANTI-IDENTITY-LIE ENGINE. Both
37
42
  // export through this barrel so downstream consumers (MCP `nemesis.generate`
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAsB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAiD,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAwC,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,qEAAqE;AACrE,wCAAwC;AACxC,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,SAAS,GAEzC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EAAE,oBAAoB,GAE9C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,GAEjF,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAAE,qBAAqB,GAEtC,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,OAAO,EACL,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAAE,eAAe,GAEpC,MAAM,0BAA0B,CAAC;AAElC,yDAAyD;AACzD,OAAO,EACL,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAE9B,sEAAsE;AACtE,sEAAsE;AACtE,6EAA6E;AAC7E,qEAAqE;AACrE,sEAAsE;AACtE,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,GAKT,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAsB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAiD,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAwC,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,qEAAqE;AACrE,wCAAwC;AACxC,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,SAAS,GAEzC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EAAE,oBAAoB,GAE9C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,GAEjF,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAAE,qBAAqB,GAEtC,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,OAAO,EACL,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAAE,eAAe,GAEpC,MAAM,0BAA0B,CAAC;AAElC,yDAAyD;AACzD,OAAO,EACL,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAE9B,4EAA4E;AAC5E,2EAA2E;AAC3E,4DAA4D;AAC5D,mDAAmD;AACnD,OAAO,EACL,sBAAsB,EAAE,wBAAwB,EAChD,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,GAGvD,MAAM,uBAAuB,CAAC;AAE/B,sEAAsE;AACtE,sEAAsE;AACtE,6EAA6E;AAC7E,qEAAqE;AACrE,sEAAsE;AACtE,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,GAKT,MAAM,cAAc,CAAC"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * v2.50.0 — VENDOR ALLOWLIST GUARD (kills EMBEDDER-LEAK class).
3
+ *
4
+ * Root cause from user audit: `recordCliActivity` writes
5
+ * `vendor: "ollama"` to `cli-activity.jsonl`. But Ollama is an
6
+ * EMBEDDER / local-LLM-runner BACKEND — not an AI coding agent vendor.
7
+ * The leak happens in `ai_handshake.autoDetectVendor()` rule 5b:
8
+ *
9
+ * if (OLLAMA_HOST || OLLAMA_MODELS) return { vendor: "ollama", ... }
10
+ *
11
+ * When user has Ollama running AND uses Claude Code (which sets
12
+ * CLAUDECODE=1, not CLAUDE_CODE_SESSION), the Claude rule doesn't
13
+ * match → falls through to Ollama rule → vendor field gets polluted
14
+ * with the backend name.
15
+ *
16
+ * This module is the central source of truth for "what counts as a
17
+ * real AI coding agent vendor". Any string outside the allowlist gets
18
+ * normalized to "unknown" + logged to `.mneme/embedder_leak.jsonl`
19
+ * for forensic audit.
20
+ *
21
+ * Pure deterministic; never throws.
22
+ */
23
+ /**
24
+ * Canonical agent-vendor allowlist. Anything else = embedder/model/backend
25
+ * leak. Expand carefully — adding a name here is a CLAIM that this string
26
+ * represents an actual AI coding agent (not a model / API / runner).
27
+ */
28
+ export declare const AGENT_VENDOR_ALLOWLIST: ReadonlySet<string>;
29
+ /**
30
+ * Embedder/backend/model names that MUST NEVER be written as vendor.
31
+ * When detected, log the leak + coerce to "unknown".
32
+ */
33
+ export declare const EMBEDDER_LEAK_SIGNATURES: ReadonlySet<string>;
34
+ export interface VendorGuardResult {
35
+ /** Canonical vendor: input if in allowlist, "unknown" otherwise. */
36
+ vendor: string;
37
+ /** True if input was an embedder/backend name that we coerced. */
38
+ leakDetected: boolean;
39
+ /** Why this verdict. */
40
+ reason: string;
41
+ }
42
+ /**
43
+ * Validate + normalize a vendor string. The CENTRAL guard before any
44
+ * write to cli-activity / active-vendor / other vendor-tagged ledgers.
45
+ */
46
+ export declare function guardVendor(input: string | null | undefined): VendorGuardResult;
47
+ /**
48
+ * Log an embedder leak to `.mneme/embedder_leak.jsonl` for forensic
49
+ * audit. Defensive: never throws.
50
+ */
51
+ export declare function logEmbedderLeak(repoRoot: string, context: {
52
+ writer: string;
53
+ rawVendor: string;
54
+ resolved: string;
55
+ envScanResult?: string;
56
+ }): void;
57
+ /**
58
+ * Composite guard: takes a candidate vendor + (optional) env_scan
59
+ * result; returns the final canonical vendor + logs leak if found.
60
+ */
61
+ export interface FullGuardInput {
62
+ repoRoot: string;
63
+ candidateVendor: string | null | undefined;
64
+ /** When supplied, used as the "correct" answer to replace a leaked vendor. */
65
+ envScanVendor?: string;
66
+ envScanConfidence?: number;
67
+ /** Where the candidate came from (for forensic trail). */
68
+ writerName: string;
69
+ }
70
+ export interface FullGuardResult {
71
+ vendor: string;
72
+ leakDetected: boolean;
73
+ corrected: boolean;
74
+ reason: string;
75
+ }
76
+ export declare function fullGuard(input: FullGuardInput): FullGuardResult;
77
+ export interface CleanseLedgerInput {
78
+ repoRoot: string;
79
+ /** HMAC key for re-chaining. If absent, chain field is dropped. */
80
+ hmacKey?: string;
81
+ /** When true, only computes the plan + returns counts; no writes. */
82
+ dryRun?: boolean;
83
+ }
84
+ export interface CleanseLedgerResult {
85
+ ok: boolean;
86
+ totalRows: number;
87
+ leakedRows: number;
88
+ cleansed: number;
89
+ backupPath?: string;
90
+ reason: string;
91
+ }
92
+ export declare function cleanseLedger(input: CleanseLedgerInput): CleanseLedgerResult;
93
+ //# sourceMappingURL=vendor_allowlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor_allowlist.d.ts","sourceRoot":"","sources":["../../src/nemesis/vendor_allowlist.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CA2BrD,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAavD,CAAC;AAEH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB,CAsB/E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACvF,IAAI,CAON;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,0DAA0D;IAC1D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,eAAe,CAkChE;AAiBD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAmBD,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CA0F5E"}
@@ -0,0 +1,258 @@
1
+ /**
2
+ * v2.50.0 — VENDOR ALLOWLIST GUARD (kills EMBEDDER-LEAK class).
3
+ *
4
+ * Root cause from user audit: `recordCliActivity` writes
5
+ * `vendor: "ollama"` to `cli-activity.jsonl`. But Ollama is an
6
+ * EMBEDDER / local-LLM-runner BACKEND — not an AI coding agent vendor.
7
+ * The leak happens in `ai_handshake.autoDetectVendor()` rule 5b:
8
+ *
9
+ * if (OLLAMA_HOST || OLLAMA_MODELS) return { vendor: "ollama", ... }
10
+ *
11
+ * When user has Ollama running AND uses Claude Code (which sets
12
+ * CLAUDECODE=1, not CLAUDE_CODE_SESSION), the Claude rule doesn't
13
+ * match → falls through to Ollama rule → vendor field gets polluted
14
+ * with the backend name.
15
+ *
16
+ * This module is the central source of truth for "what counts as a
17
+ * real AI coding agent vendor". Any string outside the allowlist gets
18
+ * normalized to "unknown" + logged to `.mneme/embedder_leak.jsonl`
19
+ * for forensic audit.
20
+ *
21
+ * Pure deterministic; never throws.
22
+ */
23
+ import { existsSync, mkdirSync, appendFileSync, readFileSync, writeFileSync, copyFileSync } from "node:fs";
24
+ import { join } from "node:path";
25
+ import { createHmac } from "node:crypto";
26
+ /**
27
+ * Canonical agent-vendor allowlist. Anything else = embedder/model/backend
28
+ * leak. Expand carefully — adding a name here is a CLAIM that this string
29
+ * represents an actual AI coding agent (not a model / API / runner).
30
+ */
31
+ export const AGENT_VENDOR_ALLOWLIST = new Set([
32
+ // Top-5 from arxiv 2601.17406 (Jan 2026)
33
+ "codex",
34
+ "claude-code",
35
+ "copilot",
36
+ "cursor",
37
+ "devin",
38
+ // Also-shipped coding agents in 2026
39
+ "cline",
40
+ "continue",
41
+ "aider",
42
+ "zed",
43
+ "gemini-cli",
44
+ "jules", // Google's coding agent
45
+ "qoder",
46
+ "windsurf",
47
+ // Legacy / alternate spellings that map to top-5
48
+ "claude-opus-4-7",
49
+ "claude-opus",
50
+ "claude-sonnet",
51
+ "openai-codex",
52
+ "gh-copilot",
53
+ "github-copilot",
54
+ "cursor-agent",
55
+ // Sentinel
56
+ "unknown",
57
+ "other-mcp",
58
+ ]);
59
+ /**
60
+ * Embedder/backend/model names that MUST NEVER be written as vendor.
61
+ * When detected, log the leak + coerce to "unknown".
62
+ */
63
+ export const EMBEDDER_LEAK_SIGNATURES = new Set([
64
+ "ollama", "ollama-backend",
65
+ "openai-gpt", "openai", "gpt", "gpt-4", "gpt-5",
66
+ "google-gemini", "gemini",
67
+ "xai-grok", "grok",
68
+ "mistral",
69
+ "deepseek",
70
+ "anthropic", // bare "anthropic" without "-claude-code" suffix = API key not agent
71
+ "claude", // bare "claude" = model, not agent
72
+ "ollama2",
73
+ "llama", "llama2", "llama3",
74
+ "mixtral",
75
+ "minilm", "nomic-embed-text",
76
+ ]);
77
+ /**
78
+ * Validate + normalize a vendor string. The CENTRAL guard before any
79
+ * write to cli-activity / active-vendor / other vendor-tagged ledgers.
80
+ */
81
+ export function guardVendor(input) {
82
+ const v = (input ?? "").trim().toLowerCase();
83
+ if (!v) {
84
+ return { vendor: "unknown", leakDetected: false, reason: "empty input" };
85
+ }
86
+ if (AGENT_VENDOR_ALLOWLIST.has(v)) {
87
+ return { vendor: v, leakDetected: false, reason: "in allowlist" };
88
+ }
89
+ if (EMBEDDER_LEAK_SIGNATURES.has(v)) {
90
+ return {
91
+ vendor: "unknown",
92
+ leakDetected: true,
93
+ reason: `embedder/backend name "${v}" leaked into vendor field — coerced to unknown`,
94
+ };
95
+ }
96
+ // Unknown but not flagged as embedder: keep verbatim (might be a new
97
+ // coding agent we haven't added yet). Caller's choice whether to write.
98
+ return {
99
+ vendor: v,
100
+ leakDetected: false,
101
+ reason: `not in allowlist; preserved verbatim (consider adding to AGENT_VENDOR_ALLOWLIST)`,
102
+ };
103
+ }
104
+ /**
105
+ * Log an embedder leak to `.mneme/embedder_leak.jsonl` for forensic
106
+ * audit. Defensive: never throws.
107
+ */
108
+ export function logEmbedderLeak(repoRoot, context) {
109
+ try {
110
+ const dir = join(repoRoot, ".mneme");
111
+ if (!existsSync(dir))
112
+ mkdirSync(dir, { recursive: true });
113
+ const path = join(dir, "embedder_leak.jsonl");
114
+ appendFileSync(path, JSON.stringify({ at: new Date().toISOString(), ...context }) + "\n");
115
+ }
116
+ catch { /* defensive */ }
117
+ }
118
+ export function fullGuard(input) {
119
+ const candidate = guardVendor(input.candidateVendor);
120
+ if (!candidate.leakDetected) {
121
+ return {
122
+ vendor: candidate.vendor,
123
+ leakDetected: false,
124
+ corrected: false,
125
+ reason: candidate.reason,
126
+ };
127
+ }
128
+ // Leak detected. Try env_scan as fallback truth.
129
+ let final = candidate.vendor; // "unknown"
130
+ let corrected = false;
131
+ if (input.envScanVendor) {
132
+ const envG = guardVendor(input.envScanVendor);
133
+ if (!envG.leakDetected && envG.vendor !== "unknown" && (input.envScanConfidence ?? 0) >= 0.5) {
134
+ final = envG.vendor;
135
+ corrected = true;
136
+ }
137
+ }
138
+ logEmbedderLeak(input.repoRoot, {
139
+ writer: input.writerName,
140
+ rawVendor: String(input.candidateVendor ?? ""),
141
+ resolved: final,
142
+ envScanResult: input.envScanVendor,
143
+ });
144
+ return {
145
+ vendor: final,
146
+ leakDetected: true,
147
+ corrected,
148
+ reason: corrected
149
+ ? `embedder leak corrected via env_scan: "${input.candidateVendor}" → "${final}"`
150
+ : `embedder leak detected: "${input.candidateVendor}" → "unknown" (no env_scan fallback available)`,
151
+ };
152
+ }
153
+ function recomputeHmac(prev, payload, key) {
154
+ const h = createHmac("sha256", key);
155
+ h.update(prev);
156
+ h.update(JSON.stringify(payload));
157
+ return h.digest("hex");
158
+ }
159
+ export function cleanseLedger(input) {
160
+ try {
161
+ const dir = join(input.repoRoot, ".mneme");
162
+ const path = join(dir, "cli-activity.jsonl");
163
+ if (!existsSync(path)) {
164
+ return { ok: true, totalRows: 0, leakedRows: 0, cleansed: 0, reason: "no ledger to cleanse" };
165
+ }
166
+ const raw = readFileSync(path, "utf8");
167
+ const lines = raw.split("\n").filter(Boolean);
168
+ let leakedRows = 0;
169
+ const parsed = [];
170
+ for (const ln of lines) {
171
+ try {
172
+ const row = JSON.parse(ln);
173
+ if (typeof row.vendor === "string") {
174
+ const g = guardVendor(row.vendor);
175
+ if (g.leakDetected)
176
+ leakedRows++;
177
+ }
178
+ parsed.push(row);
179
+ }
180
+ catch {
181
+ parsed.push({ raw: ln });
182
+ }
183
+ }
184
+ if (leakedRows === 0) {
185
+ return { ok: true, totalRows: lines.length, leakedRows: 0, cleansed: 0, reason: "ledger already clean" };
186
+ }
187
+ if (input.dryRun) {
188
+ return {
189
+ ok: true, totalRows: lines.length, leakedRows, cleansed: 0,
190
+ reason: `dry-run: would cleanse ${leakedRows} leaked rows`,
191
+ };
192
+ }
193
+ // Backup BEFORE any write.
194
+ const backupPath = path + ".pre-v50.bak";
195
+ try {
196
+ copyFileSync(path, backupPath);
197
+ }
198
+ catch { /* fs full / readonly */ }
199
+ // Rewrite: coerce leaked vendors + (optionally) re-chain HMACs.
200
+ let prev = ""; // genesis
201
+ const out = [];
202
+ let cleansed = 0;
203
+ for (const row of parsed) {
204
+ let newRow;
205
+ if ("raw" in row && typeof row.raw === "string") {
206
+ // Malformed line — preserve verbatim, do not touch chain.
207
+ out.push(row.raw);
208
+ continue;
209
+ }
210
+ newRow = { ...row };
211
+ if (typeof newRow.vendor === "string") {
212
+ const g = guardVendor(newRow.vendor);
213
+ if (g.leakDetected) {
214
+ newRow.vendor = "unknown";
215
+ newRow.migratedFrom = String(row.vendor);
216
+ newRow.migratedAt = new Date().toISOString();
217
+ cleansed++;
218
+ }
219
+ }
220
+ if (input.hmacKey) {
221
+ const { hmac, prev: _p, ...payload } = newRow;
222
+ void hmac;
223
+ void _p;
224
+ newRow.prev = prev;
225
+ newRow.hmac = recomputeHmac(prev, payload, input.hmacKey);
226
+ prev = newRow.hmac;
227
+ }
228
+ else {
229
+ delete newRow.prev;
230
+ delete newRow.hmac;
231
+ }
232
+ out.push(JSON.stringify(newRow));
233
+ }
234
+ writeFileSync(path, out.join("\n") + "\n");
235
+ // Forensic summary
236
+ logEmbedderLeak(input.repoRoot, {
237
+ writer: "cleanseLedger",
238
+ rawVendor: `${cleansed} historical rows`,
239
+ resolved: "unknown",
240
+ envScanResult: `backup at ${backupPath}; total=${lines.length} cleansed=${cleansed}`,
241
+ });
242
+ return {
243
+ ok: true,
244
+ totalRows: lines.length,
245
+ leakedRows,
246
+ cleansed,
247
+ backupPath,
248
+ reason: `cleansed ${cleansed}/${lines.length} rows; backup at ${backupPath}`,
249
+ };
250
+ }
251
+ catch (e) {
252
+ return {
253
+ ok: false, totalRows: 0, leakedRows: 0, cleansed: 0,
254
+ reason: `cleanse failed: ${e.message}`,
255
+ };
256
+ }
257
+ }
258
+ //# sourceMappingURL=vendor_allowlist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor_allowlist.js","sourceRoot":"","sources":["../../src/nemesis/vendor_allowlist.ts"],"names":[],"mappings":"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"}
@@ -102,17 +102,20 @@ export interface LineageReport {
102
102
  /** Optional friendly notice. */
103
103
  headsUp?: string;
104
104
  }
105
- /** Tokenise text → lowercase words, ≥2 chars, stopwords removed. */
105
+ /** Tokenise text → lowercase words, ≥2 chars, stopwords removed.
106
+ * v2.51.0 (R4 defensive): null/undefined/non-string → []. */
106
107
  export declare function tokenizeForLineage(s: string): string[];
107
- /** Bigrams (consecutive token pairs) — captures "fix bug" vs "bug fix". */
108
+ /** Bigrams (consecutive token pairs) — captures "fix bug" vs "bug fix".
109
+ * v2.51.0 (R4 defensive): null/undefined/non-array → empty set. */
108
110
  export declare function bigrams(tokens: string[]): Set<string>;
109
111
  /** Combined Jaccard on bigrams (60 %) + unigrams (40 %).
110
112
  * Bigrams alone are too brittle on short commit messages — a single
111
113
  * word overlap (e.g. shared topic "payment") should still register some
112
114
  * continuity. We blend both signals.
113
- */
115
+ * v2.51.0 (R4 defensive): null/undefined either side → 0. */
114
116
  export declare function intentSimilarity(a: string, b: string): number;
115
- /** Resolve `<file>` or `<file>:<funcName>` → { filePath, functionFilter }. */
117
+ /** Resolve `<file>` or `<file>:<funcName>` → { filePath, functionFilter }.
118
+ * v2.51.0 (R4 defensive): null/undefined/non-string → empty path. */
116
119
  export declare function parseTarget(target: string): {
117
120
  filePath: string;
118
121
  functionFilter?: string;
@@ -128,7 +131,8 @@ export interface WalkInput {
128
131
  /** Optional HTC abstract per commit hash (deepens intent signal). */
129
132
  abstractsByHash?: Map<string, string>;
130
133
  }
131
- /** Pure ownership walker — testable without a real store. */
134
+ /** Pure ownership walker — testable without a real store.
135
+ * v2.51.0 (R4 defensive): null/undefined input or non-array commits → empty result. */
132
136
  export declare function walkOwnership(input: WalkInput): {
133
137
  ownership: Map<string, number>;
134
138
  timeline: Array<{
@@ -160,6 +164,7 @@ export declare function buildNarrative(ownership: OwnershipShare[]): string;
160
164
  */
161
165
  export declare function buildLineageReport(store: MnemeStore, opts: LineageOptions): LineageReport;
162
166
  /** Helper exposed for tests — accept a list of file changes and assert
163
- * whether `path` was touched. */
167
+ * whether `path` was touched.
168
+ * v2.51.0 (R4 defensive): null/undefined either side → false. */
164
169
  export declare function fileChangesIncludePath(changes: FileChange[], path: string): boolean;
165
170
  //# sourceMappingURL=lineage.d.ts.map