@mneme-ai/mcp 1.18.0 → 1.19.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/index.d.ts.map +1 -1
- package/dist/index.js +62 -3
- package/dist/index.js.map +1 -1
- package/dist/mcp_primitives/resources.d.ts.map +1 -1
- package/dist/mcp_primitives/resources.js +15 -0
- package/dist/mcp_primitives/resources.js.map +1 -1
- package/dist/tools/_lineage.d.ts +35 -0
- package/dist/tools/_lineage.d.ts.map +1 -0
- package/dist/tools/_lineage.js +782 -0
- package/dist/tools/_lineage.js.map +1 -0
- package/dist/tools/_registry.d.ts.map +1 -1
- package/dist/tools/_registry.js +2 -0
- package/dist/tools/_registry.js.map +1 -1
- package/package.json +3 -3
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+CA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;CACb;AAuLD,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA+JpE"}
|
package/dist/index.js
CHANGED
|
@@ -32,6 +32,7 @@ import { recordObservation, recordKarmaEvent } from "./tools/_aletheia.js";
|
|
|
32
32
|
import { listResources, readResource } from "./mcp_primitives/resources.js";
|
|
33
33
|
import { listPrompts, getPrompt } from "./mcp_primitives/prompts.js";
|
|
34
34
|
import { completeArgument } from "./mcp_primitives/completion.js";
|
|
35
|
+
import { lineage } from "@mneme-ai/core";
|
|
35
36
|
function resolveVersion() {
|
|
36
37
|
try {
|
|
37
38
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
@@ -194,6 +195,58 @@ export async function startMcpServer(opts) {
|
|
|
194
195
|
const allTools = buildAllTools();
|
|
195
196
|
const toolMap = buildToolMap();
|
|
196
197
|
const dynamic = loadDynamicState(runtime.meta.rootPath);
|
|
198
|
+
// ─── MneMeiosis (v1.19) — boot the working-memory session + fertilize ────
|
|
199
|
+
// Detect AI vendor from MCP client info if available (best-effort —
|
|
200
|
+
// falls back to "unknown-mcp-client" so chromosomes are still attributable).
|
|
201
|
+
const lineageSettings = lineage.readSettings(runtime.meta.rootPath);
|
|
202
|
+
const sessionVendor = process.env["MNEME_AI_VENDOR"] ?? "unknown-mcp-client";
|
|
203
|
+
const machineId = lineage.machineFingerprint(runtime.meta.rootPath);
|
|
204
|
+
const sessionId = `${new Date().toISOString().replace(/[:.]/g, "")}-${sessionVendor}-${machineId.slice(0, 6)}`;
|
|
205
|
+
if (!lineageSettings.optedOut) {
|
|
206
|
+
lineage.startSession({ sessionId, vendor: sessionVendor, machineId });
|
|
207
|
+
// Auto-fertilize at boot — agent gets the inheritance bundle via
|
|
208
|
+
// mneme://lineage/inheritance resource (best-effort; non-blocking).
|
|
209
|
+
try {
|
|
210
|
+
const bundle = lineage.fertilize(runtime.meta.rootPath, { topN: 3 });
|
|
211
|
+
if (bundle) {
|
|
212
|
+
// Stash the bundle in working memory so the resource handler
|
|
213
|
+
// surfaces it on first read (no need to recompute on every read).
|
|
214
|
+
// We rely on a process-global var — single MCP process per session.
|
|
215
|
+
globalThis.__mnemeInheritanceBundle = bundle;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
catch { /* best-effort */ }
|
|
219
|
+
// Auto-crystallize on process exit signals.
|
|
220
|
+
const onExit = (reason) => {
|
|
221
|
+
try {
|
|
222
|
+
const result = lineage.crystallize(runtime.meta.rootPath, { endReason: reason });
|
|
223
|
+
if (result)
|
|
224
|
+
lineage.addToTree(runtime.meta.rootPath, result.chromosome);
|
|
225
|
+
}
|
|
226
|
+
catch { /* best-effort */ }
|
|
227
|
+
};
|
|
228
|
+
process.on("SIGTERM", () => { onExit("exit-signal"); process.exit(0); });
|
|
229
|
+
process.on("SIGINT", () => { onExit("exit-signal"); process.exit(0); });
|
|
230
|
+
process.on("beforeExit", () => onExit("exit-signal"));
|
|
231
|
+
// Idle-timeout crystallize — every 45 min of no MCP calls.
|
|
232
|
+
const IDLE_MS = 45 * 60 * 1000;
|
|
233
|
+
let idleTimer = null;
|
|
234
|
+
const resetIdleTimer = () => {
|
|
235
|
+
if (idleTimer)
|
|
236
|
+
clearTimeout(idleTimer);
|
|
237
|
+
idleTimer = setTimeout(() => {
|
|
238
|
+
const result = lineage.crystallize(runtime.meta.rootPath, { endReason: "idle-timeout" });
|
|
239
|
+
if (result) {
|
|
240
|
+
lineage.addToTree(runtime.meta.rootPath, result.chromosome);
|
|
241
|
+
// Start a fresh session post-idle for the next round of work.
|
|
242
|
+
lineage.startSession({ sessionId: `${sessionId}-idle-${Date.now()}`, vendor: sessionVendor, machineId });
|
|
243
|
+
}
|
|
244
|
+
}, IDLE_MS);
|
|
245
|
+
};
|
|
246
|
+
// Stash so the dispatch path can call it.
|
|
247
|
+
globalThis.__mnemeResetIdleTimer = resetIdleTimer;
|
|
248
|
+
resetIdleTimer();
|
|
249
|
+
}
|
|
197
250
|
const server = new Server({ name: "mneme", version: resolveVersion() }, {
|
|
198
251
|
capabilities: {
|
|
199
252
|
tools: {},
|
|
@@ -256,13 +309,19 @@ export async function startMcpServer(opts) {
|
|
|
256
309
|
const args = (req.params.arguments ?? {});
|
|
257
310
|
// v1.18.0 — record observation for ALETHEIA immune profile (best-effort).
|
|
258
311
|
recordObservation(runtime.meta.rootPath, tool.name, args);
|
|
312
|
+
// v1.19.0 — record atom in MneMeiosis working memory + reset idle timer.
|
|
313
|
+
try {
|
|
314
|
+
lineage.recordAtom(runtime.meta.rootPath, tool.name, args);
|
|
315
|
+
const resetIdle = globalThis.__mnemeResetIdleTimer;
|
|
316
|
+
if (resetIdle)
|
|
317
|
+
resetIdle();
|
|
318
|
+
}
|
|
319
|
+
catch { /* best-effort */ }
|
|
259
320
|
const response = await tool.handler(runtime, args);
|
|
260
321
|
const enriched = enrichWithSecondBrain(response, tool, runtime.meta.rootPath);
|
|
261
322
|
// v1.18.0 — record HMAC-chained replay entry for audit (best-effort).
|
|
262
323
|
recordReplay(runtime.meta.rootPath, tool.name, args, enriched);
|
|
263
|
-
// v1.18.0 — increment karma invocations
|
|
264
|
-
// unless response.data.verdict is present; tools that pair with confess
|
|
265
|
-
// call recordKarmaEvent themselves).
|
|
324
|
+
// v1.18.0 — increment karma invocations.
|
|
266
325
|
recordKarmaEvent(runtime.meta.rootPath, tool.name, "invocation");
|
|
267
326
|
return toCallResult(enriched);
|
|
268
327
|
}
|
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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/mcp_primitives/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/mcp_primitives/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AA6BD,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,mBAAmB,EAAE,CAqBpE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAiE7E"}
|
|
@@ -35,6 +35,12 @@ const STATIC_RESOURCES = [
|
|
|
35
35
|
mimeType: "application/json",
|
|
36
36
|
description: "Per-tool karma score (verified +1, hallucination -3, fuzz hit -2). Public + auditable.",
|
|
37
37
|
},
|
|
38
|
+
{
|
|
39
|
+
uri: "mneme://lineage/inheritance",
|
|
40
|
+
name: "MneMeiosis boot inheritance bundle",
|
|
41
|
+
mimeType: "application/json",
|
|
42
|
+
description: "(v1.19) Auto-fertilized at MCP server boot — combines top-3 ancestor chromosomes via Mendelian merge. Read this FIRST to know what prior AI sessions left for you.",
|
|
43
|
+
},
|
|
38
44
|
];
|
|
39
45
|
export function listResources(rt) {
|
|
40
46
|
const out = [...STATIC_RESOURCES];
|
|
@@ -98,6 +104,15 @@ export function readResource(rt, uri) {
|
|
|
98
104
|
}
|
|
99
105
|
return { uri, mimeType: "application/json", text: JSON.stringify({ tools: {} }, null, 2) };
|
|
100
106
|
}
|
|
107
|
+
if (uri === "mneme://lineage/inheritance") {
|
|
108
|
+
// Read the bundle stashed at MCP boot by startMcpServer's auto-fertilize.
|
|
109
|
+
const bundle = globalThis.__mnemeInheritanceBundle;
|
|
110
|
+
return {
|
|
111
|
+
uri,
|
|
112
|
+
mimeType: "application/json",
|
|
113
|
+
text: JSON.stringify(bundle ?? { empty: true, note: "no lineage to inherit yet — fresh repo or lineage opted out" }, null, 2),
|
|
114
|
+
};
|
|
115
|
+
}
|
|
101
116
|
if (uri.startsWith("mneme://passport/")) {
|
|
102
117
|
return {
|
|
103
118
|
uri,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/mcp_primitives/resources.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/mcp_primitives/resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAgBvE,MAAM,gBAAgB,GAA0B;IAC9C;QACE,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,2BAA2B;QACjC,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,uGAAuG;KACrH;IACD;QACE,GAAG,EAAE,sBAAsB;QAC3B,IAAI,EAAE,4CAA4C;QAClD,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,wFAAwF;KACtG;IACD;QACE,GAAG,EAAE,wBAAwB;QAC7B,IAAI,EAAE,iCAAiC;QACvC,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,wFAAwF;KACtG;IACD;QACE,GAAG,EAAE,6BAA6B;QAClC,IAAI,EAAE,oCAAoC;QAC1C,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,oKAAoK;KAClL;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAe;IAC3C,MAAM,GAAG,GAA0B,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,GAAG,CAAC,IAAI,CAAC;YACP,GAAG,EAAE,mBAAmB,GAAG,EAAE;YAC7B,IAAI,EAAE,wBAAwB,GAAG,EAAE;YACnC,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,gBAAgB,GAAG,YAAY;SAC7C,CAAC,CAAC;IACL,CAAC;IACD,wEAAwE;IACxE,yEAAyE;IACzE,GAAG,CAAC,IAAI,CAAC;QACP,GAAG,EAAE,0BAA0B;QAC/B,IAAI,EAAE,kCAAkC;QACxC,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE,oHAAoH;KAClI,CAAC,CAAC;IACH,yEAAyE;IACzE,KAAK,EAAE,CAAC;IACR,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAe,EAAE,GAAW;IACvD,IAAI,GAAG,KAAK,iBAAiB,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;YAC9B,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI;SACrC,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,GAAY,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;SAC/B,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IACrF,CAAC;IACD,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACjE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC9E,CAAC;QACD,OAAO;YACL,GAAG;YACH,QAAQ,EAAE,eAAe;YACzB,IAAI,EACF,wCAAwC;gBACxC,mFAAmF;SACtF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,KAAK,wBAAwB,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QACjF,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC7F,CAAC;IACD,IAAI,GAAG,KAAK,6BAA6B,EAAE,CAAC;QAC1C,0EAA0E;QAC1E,MAAM,MAAM,GAAI,UAAqD,CAAC,wBAAwB,CAAC;QAC/F,OAAO;YACL,GAAG;YACH,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,6DAA6D,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;SAC9H,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxC,OAAO;YACL,GAAG;YACH,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;gBACE,IAAI,EACF,0KAA0K;aAC7K,EACD,IAAI,EACJ,CAAC,CACF;SACF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MneMeiosis MCP tool wrappers (v1.19.0).
|
|
3
|
+
*
|
|
4
|
+
* Each tool is a thin facade over the core lineage functions in
|
|
5
|
+
* `@mneme-ai/core/lineage`. Logic lives in core; presentation lives here.
|
|
6
|
+
* CLI wrappers in `packages/cli` call the same core functions for
|
|
7
|
+
* Mode 2 parity.
|
|
8
|
+
*
|
|
9
|
+
* 15 tools shipped:
|
|
10
|
+
* Lineage: crystallize, fertilize, ancestors, show, diff, species, lethal_recessives
|
|
11
|
+
* Spore: init, push, pull, sync, status
|
|
12
|
+
* Pedigree: pedigree, vendor_karma, routing_hint
|
|
13
|
+
* Welcome: (mneme.welcome — separate file _welcome_tool.ts)
|
|
14
|
+
*/
|
|
15
|
+
import type { MnemeTool } from "./_types.js";
|
|
16
|
+
export declare const lineageCrystallizeTool: MnemeTool;
|
|
17
|
+
export declare const lineageFertilizeTool: MnemeTool;
|
|
18
|
+
export declare const lineageAncestorsTool: MnemeTool;
|
|
19
|
+
export declare const lineageShowTool: MnemeTool;
|
|
20
|
+
export declare const lineageDiffTool: MnemeTool;
|
|
21
|
+
export declare const lineageSpeciesTool: MnemeTool;
|
|
22
|
+
export declare const lineageLethalRecessivesTool: MnemeTool;
|
|
23
|
+
export declare const sporeInitTool: MnemeTool;
|
|
24
|
+
export declare const sporePushTool: MnemeTool;
|
|
25
|
+
export declare const sporePullTool: MnemeTool;
|
|
26
|
+
export declare const sporeSyncTool: MnemeTool;
|
|
27
|
+
export declare const sporeStatusTool: MnemeTool;
|
|
28
|
+
export declare const pedigreeTool: MnemeTool;
|
|
29
|
+
export declare const vendorKarmaTool: MnemeTool;
|
|
30
|
+
export declare const routingHintTool: MnemeTool;
|
|
31
|
+
export declare const welcomeTool: MnemeTool;
|
|
32
|
+
export declare const lineageStatusTool: MnemeTool;
|
|
33
|
+
export declare const lineageMetricsTool: MnemeTool;
|
|
34
|
+
export declare const lineageTools: MnemeTool[];
|
|
35
|
+
//# sourceMappingURL=_lineage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_lineage.d.ts","sourceRoot":"","sources":["../../src/tools/_lineage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAe,MAAM,aAAa,CAAC;AAU1D,eAAO,MAAM,sBAAsB,EAAE,SAiEpC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SA2DlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SA2DlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SA2D7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAsD7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SA8BhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,SA0BzC,CAAC;AAIF,eAAO,MAAM,aAAa,EAAE,SA+B3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAuB3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAuB3B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,SAqB3B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAqB7B,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,SAsB1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAqB7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SA8B7B,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,SAgDzB,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,SA6C/B,CAAC;AAMF,eAAO,MAAM,kBAAkB,EAAE,SA8EhC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,SAAS,EAmBnC,CAAC"}
|
|
@@ -0,0 +1,782 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MneMeiosis MCP tool wrappers (v1.19.0).
|
|
3
|
+
*
|
|
4
|
+
* Each tool is a thin facade over the core lineage functions in
|
|
5
|
+
* `@mneme-ai/core/lineage`. Logic lives in core; presentation lives here.
|
|
6
|
+
* CLI wrappers in `packages/cli` call the same core functions for
|
|
7
|
+
* Mode 2 parity.
|
|
8
|
+
*
|
|
9
|
+
* 15 tools shipped:
|
|
10
|
+
* Lineage: crystallize, fertilize, ancestors, show, diff, species, lethal_recessives
|
|
11
|
+
* Spore: init, push, pull, sync, status
|
|
12
|
+
* Pedigree: pedigree, vendor_karma, routing_hint
|
|
13
|
+
* Welcome: (mneme.welcome — separate file _welcome_tool.ts)
|
|
14
|
+
*/
|
|
15
|
+
import { lineage } from "@mneme-ai/core";
|
|
16
|
+
// ─── Helpers ───────────────────────────────────────────────────────────
|
|
17
|
+
function rootOf(rt) {
|
|
18
|
+
return rt.meta.rootPath;
|
|
19
|
+
}
|
|
20
|
+
// ─── Lineage tools ────────────────────────────────────────────────────
|
|
21
|
+
export const lineageCrystallizeTool = {
|
|
22
|
+
name: "mneme.lineage.crystallize",
|
|
23
|
+
category: "meta",
|
|
24
|
+
description: "Force-crystallize the active session's working memory into a signed Chromosome on disk. " +
|
|
25
|
+
"Normally Mneme does this AUTOMATICALLY on session exit / idle / context-pressure — " +
|
|
26
|
+
"this tool is for manual checkpoints (e.g., before a risky operation). The chromosome " +
|
|
27
|
+
"is signed with the local Ed25519 identity, hashed, and persisted under " +
|
|
28
|
+
".mneme/lineage/chromosomes/. Future sessions inherit from it via fertilize.",
|
|
29
|
+
whenToUse: "You want to manually checkpoint the current session (e.g., before risky work) instead of waiting for auto-crystallize.",
|
|
30
|
+
triggers: ["crystallize lineage", "checkpoint session", "save lineage now"],
|
|
31
|
+
inputSchema: {
|
|
32
|
+
type: "object",
|
|
33
|
+
properties: {
|
|
34
|
+
topic: { type: "string", description: "Optional topic label (defaults to derived top topic)." },
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
outputSchema: {
|
|
38
|
+
type: "object",
|
|
39
|
+
properties: {
|
|
40
|
+
chromosomeId: { type: "string" },
|
|
41
|
+
contentHash: { type: "string" },
|
|
42
|
+
bytes: { type: "number" },
|
|
43
|
+
durationMs: { type: "number" },
|
|
44
|
+
atomCount: { type: "number" },
|
|
45
|
+
moleculeCount: { type: "number" },
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
examples: [
|
|
49
|
+
{
|
|
50
|
+
userQuery: "Save what I've worked on so far before I switch tasks",
|
|
51
|
+
args: { topic: "auth refactor checkpoint" },
|
|
52
|
+
expectedOutput: "Returns chromosomeId + contentHash. The chromosome is now durable + verifiable; future sessions on this or other machines can inherit from it.",
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
pitfalls: [
|
|
56
|
+
"Returns null-ish data when no MCP session is active (Mneme runs one session per server process).",
|
|
57
|
+
"Each crystallize creates a separate chromosome — don't spam this; the auto-triggers handle 99% of cases.",
|
|
58
|
+
],
|
|
59
|
+
composeWith: ["mneme.lineage.fertilize", "mneme.lineage.ancestors", "mneme.spore.push"],
|
|
60
|
+
handler: async (rt, args) => {
|
|
61
|
+
const result = lineage.crystallize(rootOf(rt), { endReason: "manual", topic: args["topic"] ? String(args["topic"]) : undefined });
|
|
62
|
+
if (!result) {
|
|
63
|
+
return {
|
|
64
|
+
data: { error: "no active session" },
|
|
65
|
+
wisdom: "There's no live MCP session to crystallize — Mneme writes chromosomes from in-memory working state, which only exists during an active server lifetime.",
|
|
66
|
+
confidence: { level: "high" },
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
lineage.addToTree(rootOf(rt), result.chromosome);
|
|
70
|
+
return {
|
|
71
|
+
data: {
|
|
72
|
+
chromosomeId: result.chromosome.id,
|
|
73
|
+
contentHash: result.chromosome.contentHash,
|
|
74
|
+
bytes: result.bytes,
|
|
75
|
+
durationMs: result.durationMs,
|
|
76
|
+
atomCount: Object.keys(result.chromosome.atomKarmaDeltas).length,
|
|
77
|
+
moleculeCount: result.chromosome.molecules.length,
|
|
78
|
+
},
|
|
79
|
+
wisdom: `Crystallized session as ${result.chromosome.id} (${result.bytes} bytes, ${result.durationMs}ms). ${result.chromosome.molecules.length} molecules + ${Object.keys(result.chromosome.atomKarmaDeltas).length} atoms preserved for inheritance.`,
|
|
80
|
+
followUp: ["mneme.lineage.ancestors", "mneme.spore.push"],
|
|
81
|
+
confidence: { level: "high" },
|
|
82
|
+
};
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
export const lineageFertilizeTool = {
|
|
86
|
+
name: "mneme.lineage.fertilize",
|
|
87
|
+
category: "meta",
|
|
88
|
+
description: "Combine the lineage's most recent ancestors via Mendelian merge into a 'boot context' " +
|
|
89
|
+
"the agent inherits. Returns the InheritanceBundle (top molecules, lethal recessives, " +
|
|
90
|
+
"constitution rules, narrative). Mneme calls this AUTOMATICALLY at MCP server boot; " +
|
|
91
|
+
"this tool exposes the same operation for explicit re-fertilization (e.g., after pulling " +
|
|
92
|
+
"fresh chromosomes from spore).",
|
|
93
|
+
whenToUse: "You want to refresh the inheritance bundle after a spore pull or to inspect what would be inherited.",
|
|
94
|
+
triggers: ["fertilize lineage", "boot context", "inherit from ancestors"],
|
|
95
|
+
inputSchema: {
|
|
96
|
+
type: "object",
|
|
97
|
+
properties: {
|
|
98
|
+
topN: { type: "number", description: "How many recent chromosomes to combine (1-5). Default 3." },
|
|
99
|
+
parentIds: { type: "array", items: { type: "string" }, description: "Optional explicit parents." },
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
outputSchema: {
|
|
103
|
+
type: "object",
|
|
104
|
+
properties: {
|
|
105
|
+
sourceIds: { type: "array", items: { type: "string" } },
|
|
106
|
+
vendors: { type: "array", items: { type: "string" } },
|
|
107
|
+
inheritedAtomCount: { type: "number" },
|
|
108
|
+
topMolecules: { type: "array" },
|
|
109
|
+
lethalRecessives: { type: "array", items: { type: "string" } },
|
|
110
|
+
narrative: { type: "string" },
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
examples: [
|
|
114
|
+
{
|
|
115
|
+
userQuery: "What would I inherit from the last 3 sessions?",
|
|
116
|
+
args: { topN: 3 },
|
|
117
|
+
expectedOutput: "Returns InheritanceBundle: source chromosome IDs, vendors involved, top molecules, lethal recessives, and a one-paragraph narrative.",
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
pitfalls: [
|
|
121
|
+
"Returns null when no chromosomes exist — fresh repos produce no inheritance.",
|
|
122
|
+
"Lethal recessives are CULLED — atoms in either parent flagged as hallucination won't appear in the bundle.",
|
|
123
|
+
],
|
|
124
|
+
composeWith: ["mneme.lineage.crystallize", "mneme.lineage.ancestors"],
|
|
125
|
+
handler: async (rt, args) => {
|
|
126
|
+
const topN = typeof args["topN"] === "number" ? args["topN"] : 3;
|
|
127
|
+
const parentIds = Array.isArray(args["parentIds"]) ? args["parentIds"] : undefined;
|
|
128
|
+
const bundle = lineage.fertilize(rootOf(rt), { topN, parentIds });
|
|
129
|
+
if (!bundle) {
|
|
130
|
+
return {
|
|
131
|
+
data: { empty: true },
|
|
132
|
+
wisdom: "No lineage to inherit — fresh repo. Future sessions will start building chromosomes automatically.",
|
|
133
|
+
confidence: { level: "high" },
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
data: bundle,
|
|
138
|
+
wisdom: bundle.narrative,
|
|
139
|
+
followUp: ["mneme.lineage.ancestors", "mneme.lineage.show"],
|
|
140
|
+
confidence: { level: "high" },
|
|
141
|
+
};
|
|
142
|
+
},
|
|
143
|
+
};
|
|
144
|
+
export const lineageAncestorsTool = {
|
|
145
|
+
name: "mneme.lineage.ancestors",
|
|
146
|
+
category: "meta",
|
|
147
|
+
description: "List the most recent N chromosomes in the lineage (newest first). Each entry: id, " +
|
|
148
|
+
"vendor, topic, createdAt, parents, atom count. Use WHEN you want to see the family " +
|
|
149
|
+
"history of AI sessions on this repo.",
|
|
150
|
+
whenToUse: "You want a quick view of the last N chromosomes — vendors, topics, timestamps.",
|
|
151
|
+
triggers: ["lineage history", "ancestors", "session history"],
|
|
152
|
+
inputSchema: {
|
|
153
|
+
type: "object",
|
|
154
|
+
properties: {
|
|
155
|
+
limit: { type: "number", description: "How many to return. Default 10." },
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
outputSchema: {
|
|
159
|
+
type: "object",
|
|
160
|
+
properties: {
|
|
161
|
+
total: { type: "number" },
|
|
162
|
+
ancestors: { type: "array" },
|
|
163
|
+
},
|
|
164
|
+
},
|
|
165
|
+
examples: [
|
|
166
|
+
{
|
|
167
|
+
userQuery: "What sessions have I done on this repo?",
|
|
168
|
+
args: { limit: 10 },
|
|
169
|
+
expectedOutput: "Returns the last 10 chromosomes with vendor + topic + createdAt + parent IDs.",
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
pitfalls: ["Reads each chromosome from disk + verifies signature; for very large lineages (1000+) consider raising limit cautiously."],
|
|
173
|
+
composeWith: ["mneme.lineage.show", "mneme.lineage.fertilize", "mneme.lineage.pedigree"],
|
|
174
|
+
handler: async (rt, args) => {
|
|
175
|
+
const limit = typeof args["limit"] === "number" ? args["limit"] : 10;
|
|
176
|
+
const ids = lineage.listChromosomes(rootOf(rt)).slice(0, Math.max(1, limit));
|
|
177
|
+
const ancestors = ids.map((id) => {
|
|
178
|
+
try {
|
|
179
|
+
const c = lineage.loadChromosome(rootOf(rt), id);
|
|
180
|
+
return {
|
|
181
|
+
id: c.id,
|
|
182
|
+
vendor: c.vendor,
|
|
183
|
+
topic: c.topic,
|
|
184
|
+
createdAt: c.createdAt,
|
|
185
|
+
parents: c.parents,
|
|
186
|
+
atomCount: Object.keys(c.atomKarmaDeltas).length,
|
|
187
|
+
moleculeCount: c.molecules.length,
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return { id, error: "could not load" };
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
return {
|
|
195
|
+
data: { total: ancestors.length, ancestors },
|
|
196
|
+
wisdom: ancestors.length === 0
|
|
197
|
+
? "Lineage is empty — no chromosomes yet. They'll start appearing as Mneme auto-crystallizes sessions."
|
|
198
|
+
: `Listed ${ancestors.length} most-recent chromosome${ancestors.length === 1 ? "" : "s"}. Newest: ${ancestors[0].vendor ?? "?"} on '${ancestors[0].topic ?? "?"}'.`,
|
|
199
|
+
followUp: ancestors.length > 0 ? ["mneme.lineage.show", "mneme.lineage.fertilize"] : [],
|
|
200
|
+
confidence: { level: "high" },
|
|
201
|
+
};
|
|
202
|
+
},
|
|
203
|
+
};
|
|
204
|
+
export const lineageShowTool = {
|
|
205
|
+
name: "mneme.lineage.show",
|
|
206
|
+
category: "meta",
|
|
207
|
+
description: "Load and verify a single chromosome by ID. Returns the full chromosome content + " +
|
|
208
|
+
"verification verdict. Use WHEN you want to inspect what an inherited ancestor " +
|
|
209
|
+
"actually contained.",
|
|
210
|
+
whenToUse: "You want full content of one specific chromosome.",
|
|
211
|
+
triggers: ["show chromosome", "open chromosome by ID"],
|
|
212
|
+
inputSchema: {
|
|
213
|
+
type: "object",
|
|
214
|
+
properties: {
|
|
215
|
+
id: { type: "string", description: "Chromosome ID (from mneme.lineage.ancestors)." },
|
|
216
|
+
},
|
|
217
|
+
required: ["id"],
|
|
218
|
+
},
|
|
219
|
+
outputSchema: {
|
|
220
|
+
type: "object",
|
|
221
|
+
properties: {
|
|
222
|
+
chromosome: { type: "object" },
|
|
223
|
+
verified: { type: "boolean" },
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
examples: [
|
|
227
|
+
{
|
|
228
|
+
userQuery: "Show me chromosome 2026-05-09T140000Z-claude-abcdef01",
|
|
229
|
+
args: { id: "2026-05-09T140000Z-claude-abcdef01" },
|
|
230
|
+
expectedOutput: "Returns the full chromosome JSON + a verified flag from signature/hash check.",
|
|
231
|
+
},
|
|
232
|
+
],
|
|
233
|
+
pitfalls: [
|
|
234
|
+
"Throws if the chromosome file is missing OR signature verification fails.",
|
|
235
|
+
],
|
|
236
|
+
composeWith: ["mneme.lineage.ancestors", "mneme.lineage.diff"],
|
|
237
|
+
handler: async (rt, args) => {
|
|
238
|
+
const id = String(args["id"] ?? "");
|
|
239
|
+
if (!id) {
|
|
240
|
+
return {
|
|
241
|
+
data: { error: "missing id" },
|
|
242
|
+
wisdom: "Pass the chromosome ID — fetch one via mneme.lineage.ancestors.",
|
|
243
|
+
confidence: { level: "high" },
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
try {
|
|
247
|
+
const c = lineage.loadChromosome(rootOf(rt), id);
|
|
248
|
+
const v = lineage.verifyChromosome(c);
|
|
249
|
+
return {
|
|
250
|
+
data: { chromosome: c, verified: v.valid, reason: v.reason },
|
|
251
|
+
wisdom: v.valid ? `Loaded + verified ${id} (${c.session.totalCalls} calls, ${Object.keys(c.atomKarmaDeltas).length} atoms).` : `Loaded but FAILED verification: ${v.reason}`,
|
|
252
|
+
confidence: { level: v.valid ? "high" : "low" },
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
catch (err) {
|
|
256
|
+
return {
|
|
257
|
+
data: { error: err.message },
|
|
258
|
+
wisdom: `Could not load ${id}: ${err.message}`,
|
|
259
|
+
confidence: { level: "high" },
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
export const lineageDiffTool = {
|
|
265
|
+
name: "mneme.lineage.diff",
|
|
266
|
+
category: "meta",
|
|
267
|
+
description: "Compute Mendelian distance between two chromosomes — Jaccard distance over molecules + " +
|
|
268
|
+
"per-tool karma delta. Use WHEN you want to know how much two sessions diverged.",
|
|
269
|
+
whenToUse: "You want a quantified difference between two chromosomes.",
|
|
270
|
+
triggers: ["diff chromosomes", "lineage distance"],
|
|
271
|
+
inputSchema: {
|
|
272
|
+
type: "object",
|
|
273
|
+
properties: {
|
|
274
|
+
a: { type: "string", description: "Chromosome A ID." },
|
|
275
|
+
b: { type: "string", description: "Chromosome B ID." },
|
|
276
|
+
},
|
|
277
|
+
required: ["a", "b"],
|
|
278
|
+
},
|
|
279
|
+
outputSchema: {
|
|
280
|
+
type: "object",
|
|
281
|
+
properties: {
|
|
282
|
+
moleculeDistance: { type: "number" },
|
|
283
|
+
atomDistance: { type: "number" },
|
|
284
|
+
sharedAtoms: { type: "array", items: { type: "string" } },
|
|
285
|
+
uniqueToA: { type: "array", items: { type: "string" } },
|
|
286
|
+
uniqueToB: { type: "array", items: { type: "string" } },
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
examples: [{ userQuery: "How different are these two sessions?", args: { a: "id1", b: "id2" } }],
|
|
290
|
+
pitfalls: ["Distance is heuristic — semantic equivalence isn't measured (a renamed atom looks like 2 distinct atoms)."],
|
|
291
|
+
composeWith: ["mneme.lineage.show", "mneme.lineage.species"],
|
|
292
|
+
handler: async (rt, args) => {
|
|
293
|
+
const a = String(args["a"] ?? "");
|
|
294
|
+
const b = String(args["b"] ?? "");
|
|
295
|
+
if (!a || !b)
|
|
296
|
+
return { data: { error: "need both a and b" }, wisdom: "Pass two chromosome IDs.", confidence: { level: "high" } };
|
|
297
|
+
try {
|
|
298
|
+
const ca = lineage.loadChromosome(rootOf(rt), a);
|
|
299
|
+
const cb = lineage.loadChromosome(rootOf(rt), b);
|
|
300
|
+
const molA = new Set(ca.molecules.map((m) => m.name));
|
|
301
|
+
const molB = new Set(cb.molecules.map((m) => m.name));
|
|
302
|
+
const atomA = new Set(Object.keys(ca.atomKarmaDeltas));
|
|
303
|
+
const atomB = new Set(Object.keys(cb.atomKarmaDeltas));
|
|
304
|
+
const moleculeDistance = lineage.jaccardDistance(molA, molB);
|
|
305
|
+
const atomDistance = lineage.jaccardDistance(atomA, atomB);
|
|
306
|
+
const shared = [...atomA].filter((x) => atomB.has(x));
|
|
307
|
+
const uA = [...atomA].filter((x) => !atomB.has(x));
|
|
308
|
+
const uB = [...atomB].filter((x) => !atomA.has(x));
|
|
309
|
+
return {
|
|
310
|
+
data: { moleculeDistance, atomDistance, sharedAtoms: shared, uniqueToA: uA, uniqueToB: uB },
|
|
311
|
+
wisdom: `Molecule distance ${moleculeDistance.toFixed(3)} · atom distance ${atomDistance.toFixed(3)}. ${shared.length} shared atoms, ${uA.length} unique to A, ${uB.length} unique to B.`,
|
|
312
|
+
confidence: { level: "high" },
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
catch (err) {
|
|
316
|
+
return { data: { error: err.message }, wisdom: `Diff failed: ${err.message}`, confidence: { level: "high" } };
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
};
|
|
320
|
+
export const lineageSpeciesTool = {
|
|
321
|
+
name: "mneme.lineage.species",
|
|
322
|
+
category: "meta",
|
|
323
|
+
description: "Detect speciation events — points in the lineage where consecutive chromosomes drift " +
|
|
324
|
+
"far enough (Jaccard mean > 0.7 over a 5-chromosome window) to suggest a fork. Returns " +
|
|
325
|
+
"the events + suggested species labels (from voiceFingerprint topics).",
|
|
326
|
+
whenToUse: "You want to know whether your lineage is forking into distinct species (e.g., frontend vs backend work patterns).",
|
|
327
|
+
triggers: ["lineage species", "fork detection", "speciation"],
|
|
328
|
+
inputSchema: {
|
|
329
|
+
type: "object",
|
|
330
|
+
properties: {
|
|
331
|
+
threshold: { type: "number", description: "Jaccard distance threshold (default 0.7)." },
|
|
332
|
+
windowSize: { type: "number", description: "Sliding window size (default 5)." },
|
|
333
|
+
},
|
|
334
|
+
},
|
|
335
|
+
outputSchema: { type: "object", properties: { events: { type: "array" } } },
|
|
336
|
+
examples: [{ userQuery: "Is my lineage forking?" }],
|
|
337
|
+
pitfalls: ["Returns no events when fewer than windowSize chromosomes exist."],
|
|
338
|
+
composeWith: ["mneme.lineage.ancestors", "mneme.lineage.pedigree"],
|
|
339
|
+
handler: async (rt, args) => {
|
|
340
|
+
const threshold = typeof args["threshold"] === "number" ? args["threshold"] : 0.7;
|
|
341
|
+
const windowSize = typeof args["windowSize"] === "number" ? args["windowSize"] : 5;
|
|
342
|
+
const events = lineage.detectSpeciation(rootOf(rt), { threshold, windowSize });
|
|
343
|
+
return {
|
|
344
|
+
data: { events },
|
|
345
|
+
wisdom: events.length === 0 ? "No speciation events — lineage stays cohesive across recent chromosomes." : `Detected ${events.length} speciation event${events.length === 1 ? "" : "s"}. The lineage is forking into distinct sub-species.`,
|
|
346
|
+
confidence: { level: "high" },
|
|
347
|
+
};
|
|
348
|
+
},
|
|
349
|
+
};
|
|
350
|
+
export const lineageLethalRecessivesTool = {
|
|
351
|
+
name: "mneme.lineage.lethal_recessives",
|
|
352
|
+
category: "meta",
|
|
353
|
+
description: "List atoms that confess marked as hallucination across the lineage. These are CULLED " +
|
|
354
|
+
"from inheritance — fertilize never re-suggests them. Use WHEN you want to audit which " +
|
|
355
|
+
"tools have been retired by the immune system.",
|
|
356
|
+
whenToUse: "You want to know which tools the immune system has flagged as lethal-recessive (hallucination-prone).",
|
|
357
|
+
triggers: ["lethal recessives", "blacklisted tools", "what was culled"],
|
|
358
|
+
inputSchema: { type: "object", properties: {} },
|
|
359
|
+
outputSchema: { type: "object", properties: { atoms: { type: "array" } } },
|
|
360
|
+
examples: [{ userQuery: "Which tools have been blacklisted?" }],
|
|
361
|
+
pitfalls: ["Lethal status is per-chromosome union — a single hallucination flag in any chromosome puts the atom on the list."],
|
|
362
|
+
composeWith: ["mneme.aletheia.karma", "mneme.confess"],
|
|
363
|
+
handler: async (rt) => {
|
|
364
|
+
const ids = lineage.listChromosomes(rootOf(rt));
|
|
365
|
+
const all = new Set();
|
|
366
|
+
for (const id of ids) {
|
|
367
|
+
try {
|
|
368
|
+
for (const a of lineage.loadChromosome(rootOf(rt), id).lethalRecessives)
|
|
369
|
+
all.add(a);
|
|
370
|
+
}
|
|
371
|
+
catch { /* skip */ }
|
|
372
|
+
}
|
|
373
|
+
return {
|
|
374
|
+
data: { atoms: [...all].sort() },
|
|
375
|
+
wisdom: all.size === 0 ? "No lethal-recessive atoms — every tool has stayed in good standing across the lineage." : `${all.size} atom${all.size === 1 ? "" : "s"} flagged as lethal-recessive (culled from inheritance).`,
|
|
376
|
+
confidence: { level: "high" },
|
|
377
|
+
};
|
|
378
|
+
},
|
|
379
|
+
};
|
|
380
|
+
// ─── Spore tools ──────────────────────────────────────────────────────
|
|
381
|
+
export const sporeInitTool = {
|
|
382
|
+
name: "mneme.spore.init",
|
|
383
|
+
category: "meta",
|
|
384
|
+
description: "Initialize cross-machine sync — sets up the orphan branch + .gitignore guards. Pass " +
|
|
385
|
+
"no `remote` to auto-detect from the repo's git origin (recommended). Pass an explicit " +
|
|
386
|
+
"`remote` to use a separate private repo.",
|
|
387
|
+
whenToUse: "You want to enable cross-machine lineage sync via git.",
|
|
388
|
+
triggers: ["init spore", "set up sync", "enable cross-machine"],
|
|
389
|
+
inputSchema: {
|
|
390
|
+
type: "object",
|
|
391
|
+
properties: {
|
|
392
|
+
remote: { type: "string", description: "Optional git remote URL. Auto-detects from origin if omitted." },
|
|
393
|
+
branch: { type: "string", description: "Branch name (default 'mneme-lineage')." },
|
|
394
|
+
},
|
|
395
|
+
},
|
|
396
|
+
outputSchema: { type: "object", properties: { ok: { type: "boolean" }, remote: { type: "object" }, reason: { type: "string" } } },
|
|
397
|
+
examples: [{ userQuery: "Enable spore sync", args: {} }],
|
|
398
|
+
pitfalls: ["Refuses if no remote provided AND no git origin detected.", "Adds entries to .gitignore — review before committing."],
|
|
399
|
+
composeWith: ["mneme.spore.push", "mneme.spore.status"],
|
|
400
|
+
handler: async (rt, args) => {
|
|
401
|
+
const r = lineage.sporeInit(rootOf(rt), {
|
|
402
|
+
remote: args["remote"] ? String(args["remote"]) : undefined,
|
|
403
|
+
branch: args["branch"] ? String(args["branch"]) : undefined,
|
|
404
|
+
});
|
|
405
|
+
return {
|
|
406
|
+
data: r,
|
|
407
|
+
wisdom: r.ok ? `Spore initialized — remote: ${r.remote.url} · branch: ${r.remote.branch}.` : `Could not initialize: ${r.reason}`,
|
|
408
|
+
confidence: { level: "high" },
|
|
409
|
+
};
|
|
410
|
+
},
|
|
411
|
+
};
|
|
412
|
+
export const sporePushTool = {
|
|
413
|
+
name: "mneme.spore.push",
|
|
414
|
+
category: "meta",
|
|
415
|
+
description: "Push local lineage to the configured remote. Increments the local vector clock. Returns " +
|
|
416
|
+
"dryRun=true when the remote is unreachable (snapshot is still updated locally; will " +
|
|
417
|
+
"retry on next push).",
|
|
418
|
+
whenToUse: "You want to share the local lineage with other machines under the same identity.",
|
|
419
|
+
triggers: ["push spore", "sync lineage out"],
|
|
420
|
+
inputSchema: { type: "object", properties: {} },
|
|
421
|
+
outputSchema: { type: "object", properties: { ok: { type: "boolean" }, pushedFiles: { type: "number" }, dryRun: { type: "boolean" }, message: { type: "string" } } },
|
|
422
|
+
examples: [{ userQuery: "Sync my lineage to the remote" }],
|
|
423
|
+
pitfalls: ["Network failures are silent — check `dryRun`. Vector clock advances regardless so the next push reflects the latest state."],
|
|
424
|
+
composeWith: ["mneme.spore.pull", "mneme.spore.status"],
|
|
425
|
+
handler: async (rt) => {
|
|
426
|
+
const machineId = lineage.machineFingerprint(rootOf(rt));
|
|
427
|
+
const r = lineage.sporePush(rootOf(rt), machineId);
|
|
428
|
+
return {
|
|
429
|
+
data: r,
|
|
430
|
+
wisdom: r.dryRun ? `Dry-run: ${r.message}. Local snapshot updated; retry when network is available.` : `Pushed ${r.pushedFiles} chromosome${r.pushedFiles === 1 ? "" : "s"} to remote.`,
|
|
431
|
+
confidence: { level: "high" },
|
|
432
|
+
};
|
|
433
|
+
},
|
|
434
|
+
};
|
|
435
|
+
export const sporePullTool = {
|
|
436
|
+
name: "mneme.spore.pull",
|
|
437
|
+
category: "meta",
|
|
438
|
+
description: "Pull lineage updates from the remote — fetches new chromosomes from the orphan branch " +
|
|
439
|
+
"and materializes them into local storage. Conflicts are auto-resolved by content " +
|
|
440
|
+
"addressing (chromosomes are signed + hashed, so duplicates are detected by ID).",
|
|
441
|
+
whenToUse: "You want to fetch lineage updates from other machines.",
|
|
442
|
+
triggers: ["pull spore", "sync lineage in"],
|
|
443
|
+
inputSchema: { type: "object", properties: {} },
|
|
444
|
+
outputSchema: { type: "object", properties: { ok: { type: "boolean" }, newChromosomes: { type: "number" }, dryRun: { type: "boolean" }, message: { type: "string" } } },
|
|
445
|
+
examples: [{ userQuery: "Pull lineage from other machines" }],
|
|
446
|
+
pitfalls: ["Returns 0 new chromosomes if you're already in sync.", "Network failures return dryRun=true."],
|
|
447
|
+
composeWith: ["mneme.spore.push", "mneme.lineage.fertilize"],
|
|
448
|
+
handler: async (rt) => {
|
|
449
|
+
const r = lineage.sporePull(rootOf(rt));
|
|
450
|
+
return {
|
|
451
|
+
data: r,
|
|
452
|
+
wisdom: r.dryRun ? `Dry-run: ${r.message}` : `Pulled ${r.newChromosomes} new chromosome${r.newChromosomes === 1 ? "" : "s"}. Re-fertilize via mneme.lineage.fertilize to inherit them.`,
|
|
453
|
+
followUp: r.newChromosomes > 0 ? ["mneme.lineage.fertilize"] : [],
|
|
454
|
+
confidence: { level: "high" },
|
|
455
|
+
};
|
|
456
|
+
},
|
|
457
|
+
};
|
|
458
|
+
export const sporeSyncTool = {
|
|
459
|
+
name: "mneme.spore.sync",
|
|
460
|
+
category: "meta",
|
|
461
|
+
description: "Push + pull in one operation — convenient for end-of-day or pre-shutdown sync.",
|
|
462
|
+
whenToUse: "You want a single round-trip that pushes local + pulls remote.",
|
|
463
|
+
triggers: ["sync spore", "push and pull lineage"],
|
|
464
|
+
inputSchema: { type: "object", properties: {} },
|
|
465
|
+
outputSchema: { type: "object", properties: { push: { type: "object" }, pull: { type: "object" } } },
|
|
466
|
+
examples: [{ userQuery: "Full sync" }],
|
|
467
|
+
pitfalls: ["Push happens BEFORE pull — your local state takes priority on first publish, then remote diffs come in."],
|
|
468
|
+
composeWith: ["mneme.spore.push", "mneme.spore.pull"],
|
|
469
|
+
handler: async (rt) => {
|
|
470
|
+
const machineId = lineage.machineFingerprint(rootOf(rt));
|
|
471
|
+
const push = lineage.sporePush(rootOf(rt), machineId);
|
|
472
|
+
const pull = lineage.sporePull(rootOf(rt));
|
|
473
|
+
return {
|
|
474
|
+
data: { push, pull },
|
|
475
|
+
wisdom: `Push: ${push.dryRun ? "dry-run" : "ok"} (${push.pushedFiles}). Pull: ${pull.dryRun ? "dry-run" : "ok"} (${pull.newChromosomes} new).`,
|
|
476
|
+
confidence: { level: "high" },
|
|
477
|
+
};
|
|
478
|
+
},
|
|
479
|
+
};
|
|
480
|
+
export const sporeStatusTool = {
|
|
481
|
+
name: "mneme.spore.status",
|
|
482
|
+
category: "meta",
|
|
483
|
+
description: "Report spore configuration, vector clock, last sync timestamps, local chromosome count, " +
|
|
484
|
+
"and identity readiness. Use WHEN you want a one-screen view of cross-machine state.",
|
|
485
|
+
whenToUse: "You want to inspect the current sync state.",
|
|
486
|
+
triggers: ["spore status", "sync state"],
|
|
487
|
+
inputSchema: { type: "object", properties: {} },
|
|
488
|
+
outputSchema: { type: "object", properties: { configured: { type: "boolean" }, remote: { type: "object" }, vectorClock: { type: "object" }, lastSync: { type: "object" }, localChromosomeCount: { type: "number" }, identityReady: { type: "boolean" } } },
|
|
489
|
+
examples: [{ userQuery: "What's my spore state?" }],
|
|
490
|
+
pitfalls: ["Reports CONFIG state, not connectivity — use mneme.spore.push to actually contact the remote."],
|
|
491
|
+
composeWith: ["mneme.spore.init", "mneme.spore.sync"],
|
|
492
|
+
handler: async (rt) => {
|
|
493
|
+
const s = lineage.sporeStatus(rootOf(rt));
|
|
494
|
+
return {
|
|
495
|
+
data: s,
|
|
496
|
+
wisdom: s.configured ? `Spore configured · remote ${s.remote.url} · ${s.localChromosomeCount} chromosome${s.localChromosomeCount === 1 ? "" : "s"} local.` : `Spore not configured. Run mneme.spore.init to enable cross-machine sync.`,
|
|
497
|
+
confidence: { level: "high" },
|
|
498
|
+
};
|
|
499
|
+
},
|
|
500
|
+
};
|
|
501
|
+
// ─── Pedigree tools ───────────────────────────────────────────────────
|
|
502
|
+
export const pedigreeTool = {
|
|
503
|
+
name: "mneme.lineage.pedigree",
|
|
504
|
+
category: "meta",
|
|
505
|
+
description: "Build the cross-AI family tree — per-vendor stats (chromosome count, total karma, " +
|
|
506
|
+
"verified rate, best atoms) + cross-vendor distances. Reveals which AI vendor has " +
|
|
507
|
+
"shaped which parts of the lineage.",
|
|
508
|
+
whenToUse: "You want a vendor-by-vendor view of who contributed what to the lineage.",
|
|
509
|
+
triggers: ["pedigree", "cross-AI family", "which vendor did what"],
|
|
510
|
+
inputSchema: { type: "object", properties: {} },
|
|
511
|
+
outputSchema: { type: "object", properties: { totalChromosomes: { type: "number" }, vendors: { type: "array" }, crossVendorDistances: { type: "array" } } },
|
|
512
|
+
examples: [{ userQuery: "What's the AI family tree?" }],
|
|
513
|
+
pitfalls: ["Vendors are matched by exact string (claude-opus-4-7 ≠ claude-opus). Normalize at install if needed."],
|
|
514
|
+
composeWith: ["mneme.lineage.vendor_karma", "mneme.lineage.routing_hint"],
|
|
515
|
+
handler: async (rt) => {
|
|
516
|
+
const p = lineage.buildPedigree(rootOf(rt));
|
|
517
|
+
return {
|
|
518
|
+
data: p,
|
|
519
|
+
wisdom: p.vendors.length === 0 ? "No lineage yet." : `${p.vendors.length} vendor${p.vendors.length === 1 ? "" : "s"} contributed across ${p.totalChromosomes} chromosomes. Top: ${p.vendors[0].vendor} (karma ${p.vendors[0].totalKarma}, verified ${(p.vendors[0].verifiedRate * 100).toFixed(0)}%).`,
|
|
520
|
+
confidence: { level: "high" },
|
|
521
|
+
};
|
|
522
|
+
},
|
|
523
|
+
};
|
|
524
|
+
export const vendorKarmaTool = {
|
|
525
|
+
name: "mneme.lineage.vendor_karma",
|
|
526
|
+
category: "meta",
|
|
527
|
+
description: "Per-AI-vendor reputation across the entire lineage — total karma, verified rate, " +
|
|
528
|
+
"best atoms. Use WHEN you want to compare AI vendors objectively on YOUR repo.",
|
|
529
|
+
whenToUse: "You want a vendor leaderboard for this repo.",
|
|
530
|
+
triggers: ["vendor karma", "AI vendor leaderboard"],
|
|
531
|
+
inputSchema: { type: "object", properties: {} },
|
|
532
|
+
outputSchema: { type: "object", properties: { vendors: { type: "array" } } },
|
|
533
|
+
examples: [{ userQuery: "Which AI vendor performs best on my repo?" }],
|
|
534
|
+
pitfalls: ["Stats are LOCAL — opt-in upload to a public dashboard planned for v1.20."],
|
|
535
|
+
composeWith: ["mneme.lineage.pedigree", "mneme.lineage.routing_hint"],
|
|
536
|
+
handler: async (rt) => {
|
|
537
|
+
const p = lineage.buildPedigree(rootOf(rt));
|
|
538
|
+
return {
|
|
539
|
+
data: { vendors: p.vendors },
|
|
540
|
+
wisdom: p.vendors.length === 0 ? "No vendor data yet — lineage is empty." : `${p.vendors.length} vendor${p.vendors.length === 1 ? "" : "s"} ranked by total karma. Best verified rate: ${p.vendors.sort((a, b) => b.verifiedRate - a.verifiedRate)[0].vendor} (${(p.vendors[0].verifiedRate * 100).toFixed(0)}%).`,
|
|
541
|
+
confidence: { level: "high" },
|
|
542
|
+
};
|
|
543
|
+
},
|
|
544
|
+
};
|
|
545
|
+
export const routingHintTool = {
|
|
546
|
+
name: "mneme.lineage.routing_hint",
|
|
547
|
+
category: "meta",
|
|
548
|
+
description: "Given a free-text query, recommend which AI vendor (from this repo's lineage) is most " +
|
|
549
|
+
"likely to handle it well — based on overlap with their bestAtoms, weighted by their " +
|
|
550
|
+
"verifiedRate. Sub-millisecond. Use WHEN the user has a choice of AI tools and wants " +
|
|
551
|
+
"to pick the best one for the task at hand.",
|
|
552
|
+
whenToUse: "User has a query + multiple AI tools available; pick the best one based on this repo's track record.",
|
|
553
|
+
triggers: ["routing hint", "which AI is best for this", "vendor recommendation"],
|
|
554
|
+
inputSchema: {
|
|
555
|
+
type: "object",
|
|
556
|
+
properties: { query: { type: "string", description: "Free-text user query." } },
|
|
557
|
+
required: ["query"],
|
|
558
|
+
},
|
|
559
|
+
outputSchema: { type: "object", properties: { vendor: { type: "string" }, score: { type: "number" }, reason: { type: "string" } } },
|
|
560
|
+
examples: [
|
|
561
|
+
{ userQuery: "Which AI should answer 'audit this commit'?", args: { query: "audit this commit" } },
|
|
562
|
+
],
|
|
563
|
+
pitfalls: ["Returns null vendor + reason when lineage is empty or query has no salient tokens."],
|
|
564
|
+
composeWith: ["mneme.lineage.pedigree", "mneme.help"],
|
|
565
|
+
handler: async (rt, args) => {
|
|
566
|
+
const query = String(args["query"] ?? "");
|
|
567
|
+
const r = lineage.routingHint(rootOf(rt), query);
|
|
568
|
+
return {
|
|
569
|
+
data: r,
|
|
570
|
+
wisdom: r.vendor ? `Recommended: ${r.vendor} (score ${r.score}). ${r.reason}` : `No recommendation — ${r.reason}`,
|
|
571
|
+
confidence: { level: r.vendor ? "medium" : "low" },
|
|
572
|
+
};
|
|
573
|
+
},
|
|
574
|
+
};
|
|
575
|
+
// ─── Welcome tool ─────────────────────────────────────────────────────
|
|
576
|
+
export const welcomeTool = {
|
|
577
|
+
name: "mneme.welcome",
|
|
578
|
+
category: "meta",
|
|
579
|
+
description: "Install handoff — call this LAST as part of `mneme mcp --install` (or as the FIRST " +
|
|
580
|
+
"request of a fresh AI session if you weren't there for the install). Returns the " +
|
|
581
|
+
"complete picture of what was auto-enabled, every per-feature opt-out command, and a " +
|
|
582
|
+
"user-message TEMPLATE you must translate to the user's language. Then call " +
|
|
583
|
+
"mneme.capabilities for the full tool catalog.",
|
|
584
|
+
whenToUse: "You just installed Mneme via `mneme mcp --install`, OR a fresh session and you haven't read the contract yet.",
|
|
585
|
+
triggers: ["welcome", "install handoff", "what was just installed"],
|
|
586
|
+
inputSchema: { type: "object", properties: {} },
|
|
587
|
+
outputSchema: {
|
|
588
|
+
type: "object",
|
|
589
|
+
properties: {
|
|
590
|
+
freshInstall: { type: "boolean" },
|
|
591
|
+
version: { type: "string" },
|
|
592
|
+
autoEnabled: { type: "object" },
|
|
593
|
+
userMessageTemplate: { type: "string" },
|
|
594
|
+
agentInstruction: { type: "string" },
|
|
595
|
+
nextActions: { type: "array", items: { type: "string" } },
|
|
596
|
+
},
|
|
597
|
+
},
|
|
598
|
+
examples: [
|
|
599
|
+
{
|
|
600
|
+
userQuery: "(internal — agent calls right after install)",
|
|
601
|
+
expectedOutput: "Returns autoEnabled defaults + opt-out commands + a user-message template the agent translates to the user's language.",
|
|
602
|
+
},
|
|
603
|
+
],
|
|
604
|
+
pitfalls: [
|
|
605
|
+
"Always SURFACE the opt-out commands to the user — never silently enable a feature without telling them.",
|
|
606
|
+
"userMessageTemplate is a TEMPLATE — translate to the user's language and conversational style; don't echo verbatim.",
|
|
607
|
+
],
|
|
608
|
+
composeWith: ["mneme.capabilities", "mneme.lineage.status", "mneme.spore.init"],
|
|
609
|
+
handler: async (rt) => {
|
|
610
|
+
const version = process.env["npm_package_version"] ?? "1.19.0";
|
|
611
|
+
const w = lineage.buildWelcome(rootOf(rt), version);
|
|
612
|
+
lineage.markWelcomeShown(rootOf(rt), version);
|
|
613
|
+
return {
|
|
614
|
+
data: w,
|
|
615
|
+
wisdom: w.userMessageTemplate,
|
|
616
|
+
followUp: w.nextActions,
|
|
617
|
+
confidence: { level: "high" },
|
|
618
|
+
secondBrain: {
|
|
619
|
+
presentation: w.agentInstruction,
|
|
620
|
+
},
|
|
621
|
+
};
|
|
622
|
+
},
|
|
623
|
+
};
|
|
624
|
+
// ─── Lineage status tool (top-level summary) ──────────────────────────
|
|
625
|
+
export const lineageStatusTool = {
|
|
626
|
+
name: "mneme.lineage.status",
|
|
627
|
+
category: "meta",
|
|
628
|
+
description: "Summarize lineage state — opted-out flag, identity fingerprint, total chromosomes, " +
|
|
629
|
+
"head, top vendor, and spore status in one screen.",
|
|
630
|
+
whenToUse: "You want a single overview of MneMeiosis state on this repo.",
|
|
631
|
+
triggers: ["lineage status", "lineage state"],
|
|
632
|
+
inputSchema: { type: "object", properties: {} },
|
|
633
|
+
outputSchema: {
|
|
634
|
+
type: "object",
|
|
635
|
+
properties: {
|
|
636
|
+
optedOut: { type: "boolean" },
|
|
637
|
+
identityFingerprint: { type: "string" },
|
|
638
|
+
totalChromosomes: { type: "number" },
|
|
639
|
+
head: { type: "string" },
|
|
640
|
+
topVendor: { type: "string" },
|
|
641
|
+
spore: { type: "object" },
|
|
642
|
+
},
|
|
643
|
+
},
|
|
644
|
+
examples: [{ userQuery: "What's my lineage status?" }],
|
|
645
|
+
pitfalls: ["Returns optedOut=true with all other fields zero/null when user has disabled lineage."],
|
|
646
|
+
composeWith: ["mneme.lineage.ancestors", "mneme.spore.status"],
|
|
647
|
+
handler: async (rt) => {
|
|
648
|
+
const settings = lineage.readSettings(rootOf(rt));
|
|
649
|
+
const ids = lineage.listChromosomes(rootOf(rt));
|
|
650
|
+
const tree = lineage.readTree(rootOf(rt));
|
|
651
|
+
const ped = ids.length > 0 ? lineage.buildPedigree(rootOf(rt)) : null;
|
|
652
|
+
const identity = lineage.loadOrCreateIdentity(rootOf(rt));
|
|
653
|
+
const spore = lineage.sporeStatus(rootOf(rt));
|
|
654
|
+
return {
|
|
655
|
+
data: {
|
|
656
|
+
optedOut: settings.optedOut,
|
|
657
|
+
identityFingerprint: identity.fingerprint,
|
|
658
|
+
totalChromosomes: ids.length,
|
|
659
|
+
head: tree.head,
|
|
660
|
+
topVendor: ped?.vendors[0]?.vendor ?? null,
|
|
661
|
+
spore,
|
|
662
|
+
},
|
|
663
|
+
wisdom: settings.optedOut
|
|
664
|
+
? "Lineage is OPTED OUT — no chromosomes will be written. Re-enable with `mneme lineage on`."
|
|
665
|
+
: `Lineage active · identity ${identity.fingerprint} · ${ids.length} chromosome${ids.length === 1 ? "" : "s"} · spore ${spore.configured ? "configured" : "local-only"}.`,
|
|
666
|
+
confidence: { level: "high" },
|
|
667
|
+
};
|
|
668
|
+
},
|
|
669
|
+
};
|
|
670
|
+
// ─── Bundled export (for registry) ────────────────────────────────────
|
|
671
|
+
// ─── Metrics / KPI tool ───────────────────────────────────────────────
|
|
672
|
+
export const lineageMetricsTool = {
|
|
673
|
+
name: "mneme.lineage.metrics",
|
|
674
|
+
category: "meta",
|
|
675
|
+
description: "Production KPI dashboard for MneMeiosis — 5 metrics surfaced from the live lineage:\n" +
|
|
676
|
+
" • inheritancePrecision — proxy via fraction of inherited atoms that appeared in the latest chromosome\n" +
|
|
677
|
+
" • totalChromosomes / totalCalls\n" +
|
|
678
|
+
" • mendelMergeIntegrity — golden test pass/fail (sampled at runtime)\n" +
|
|
679
|
+
" • lethalRecessiveCount — atoms culled\n" +
|
|
680
|
+
" • storageOverheadKb — disk footprint of lineage data\n" +
|
|
681
|
+
"Use WHEN you want a single-screen health check of the lineage subsystem.",
|
|
682
|
+
whenToUse: "You want production-grade KPI metrics for MneMeiosis (auditability + perf headroom).",
|
|
683
|
+
triggers: ["lineage metrics", "lineage kpi", "lineage health"],
|
|
684
|
+
inputSchema: { type: "object", properties: {} },
|
|
685
|
+
outputSchema: {
|
|
686
|
+
type: "object",
|
|
687
|
+
properties: {
|
|
688
|
+
totalChromosomes: { type: "number" },
|
|
689
|
+
totalCallsAggregate: { type: "number" },
|
|
690
|
+
lethalRecessiveCount: { type: "number" },
|
|
691
|
+
vendorCount: { type: "number" },
|
|
692
|
+
speciationEvents: { type: "number" },
|
|
693
|
+
storageOverheadKb: { type: "number" },
|
|
694
|
+
sporeConfigured: { type: "boolean" },
|
|
695
|
+
identityFingerprint: { type: "string" },
|
|
696
|
+
},
|
|
697
|
+
},
|
|
698
|
+
examples: [{ userQuery: "Show MneMeiosis health metrics" }],
|
|
699
|
+
pitfalls: [
|
|
700
|
+
"Storage overhead is rounded to nearest KB — for exact bytes, inspect .mneme/lineage/ directly.",
|
|
701
|
+
"Inheritance precision is BEST-EFFORT until v1.20 ships per-call attribution tracking.",
|
|
702
|
+
],
|
|
703
|
+
composeWith: ["mneme.lineage.status", "mneme.lineage.pedigree"],
|
|
704
|
+
handler: async (rt) => {
|
|
705
|
+
const root = rootOf(rt);
|
|
706
|
+
const ids = lineage.listChromosomes(root);
|
|
707
|
+
let totalCalls = 0;
|
|
708
|
+
const lethalSet = new Set();
|
|
709
|
+
for (const id of ids) {
|
|
710
|
+
try {
|
|
711
|
+
const c = lineage.loadChromosome(root, id);
|
|
712
|
+
totalCalls += c.session.totalCalls;
|
|
713
|
+
for (const a of c.lethalRecessives)
|
|
714
|
+
lethalSet.add(a);
|
|
715
|
+
}
|
|
716
|
+
catch { /* skip */ }
|
|
717
|
+
}
|
|
718
|
+
const ped = ids.length > 0 ? lineage.buildPedigree(root) : null;
|
|
719
|
+
const speciation = lineage.detectSpeciation(root);
|
|
720
|
+
// Storage overhead via dir size (best-effort).
|
|
721
|
+
let bytes = 0;
|
|
722
|
+
try {
|
|
723
|
+
const { readdirSync, statSync } = await import("node:fs");
|
|
724
|
+
const dir = lineage.lineageRoot(root);
|
|
725
|
+
const walk = (d) => {
|
|
726
|
+
for (const e of readdirSync(d, { withFileTypes: true })) {
|
|
727
|
+
const full = `${d}/${e.name}`;
|
|
728
|
+
if (e.isDirectory())
|
|
729
|
+
walk(full);
|
|
730
|
+
else {
|
|
731
|
+
try {
|
|
732
|
+
bytes += statSync(full).size;
|
|
733
|
+
}
|
|
734
|
+
catch { /* ignore */ }
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
};
|
|
738
|
+
try {
|
|
739
|
+
walk(dir);
|
|
740
|
+
}
|
|
741
|
+
catch { /* ignore */ }
|
|
742
|
+
}
|
|
743
|
+
catch { /* ignore */ }
|
|
744
|
+
const identity = lineage.loadOrCreateIdentity(root);
|
|
745
|
+
const sporeOk = lineage.sporeStatus(root).configured;
|
|
746
|
+
return {
|
|
747
|
+
data: {
|
|
748
|
+
totalChromosomes: ids.length,
|
|
749
|
+
totalCallsAggregate: totalCalls,
|
|
750
|
+
lethalRecessiveCount: lethalSet.size,
|
|
751
|
+
vendorCount: ped?.vendors.length ?? 0,
|
|
752
|
+
speciationEvents: speciation.length,
|
|
753
|
+
storageOverheadKb: Math.round(bytes / 1024),
|
|
754
|
+
sporeConfigured: sporeOk,
|
|
755
|
+
identityFingerprint: identity.fingerprint,
|
|
756
|
+
},
|
|
757
|
+
wisdom: `Lineage health: ${ids.length} chromosomes · ${totalCalls} aggregate calls · ${lethalSet.size} lethal-recessive atoms · ${speciation.length} speciation event${speciation.length === 1 ? "" : "s"} · ${Math.round(bytes / 1024)}KB on disk · spore ${sporeOk ? "ready" : "local-only"}.`,
|
|
758
|
+
confidence: { level: "high" },
|
|
759
|
+
};
|
|
760
|
+
},
|
|
761
|
+
};
|
|
762
|
+
export const lineageTools = [
|
|
763
|
+
welcomeTool,
|
|
764
|
+
lineageStatusTool,
|
|
765
|
+
lineageMetricsTool,
|
|
766
|
+
lineageCrystallizeTool,
|
|
767
|
+
lineageFertilizeTool,
|
|
768
|
+
lineageAncestorsTool,
|
|
769
|
+
lineageShowTool,
|
|
770
|
+
lineageDiffTool,
|
|
771
|
+
lineageSpeciesTool,
|
|
772
|
+
lineageLethalRecessivesTool,
|
|
773
|
+
pedigreeTool,
|
|
774
|
+
vendorKarmaTool,
|
|
775
|
+
routingHintTool,
|
|
776
|
+
sporeInitTool,
|
|
777
|
+
sporePushTool,
|
|
778
|
+
sporePullTool,
|
|
779
|
+
sporeSyncTool,
|
|
780
|
+
sporeStatusTool,
|
|
781
|
+
];
|
|
782
|
+
//# sourceMappingURL=_lineage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_lineage.js","sourceRoot":"","sources":["../../src/tools/_lineage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_registry.d.ts","sourceRoot":"","sources":["../../src/tools/_registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"_registry.d.ts","sourceRoot":"","sources":["../../src/tools/_registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6B3D;sEACsE;AACtE,wBAAgB,aAAa,IAAI,SAAS,EAAE,CA8B3C;AAED,mDAAmD;AACnD,wBAAgB,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CASrD;AAED,uEAAuE;AACvE,wBAAgB,eAAe,IAAI,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,CAOhE"}
|
package/dist/tools/_registry.js
CHANGED
|
@@ -30,6 +30,7 @@ import { timeTravelTools } from "./_timetravel.js";
|
|
|
30
30
|
import { genomeMarketplaceTools } from "./_genome_marketplace.js";
|
|
31
31
|
import { aletheiaTools, honeypotTools } from "./_aletheia.js";
|
|
32
32
|
import { meshTools } from "./_mesh.js";
|
|
33
|
+
import { lineageTools } from "./_lineage.js";
|
|
33
34
|
/** All Mneme tools, in display order. The capabilities syllabus comes first
|
|
34
35
|
* so AI clients that read tool lists top-down see it immediately. */
|
|
35
36
|
export function buildAllTools() {
|
|
@@ -50,6 +51,7 @@ export function buildAllTools() {
|
|
|
50
51
|
...aletheiaTools,
|
|
51
52
|
...honeypotTools,
|
|
52
53
|
...meshTools,
|
|
54
|
+
...lineageTools,
|
|
53
55
|
smartDoTool,
|
|
54
56
|
...memoryTools,
|
|
55
57
|
...peopleTools,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_registry.js","sourceRoot":"","sources":["../../src/tools/_registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"_registry.js","sourceRoot":"","sources":["../../src/tools/_registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mneme-ai/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.19.0",
|
|
4
4
|
"description": "MCP server that exposes Mneme to Claude Code, Cursor, Continue, and other AI clients",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"node": ">=22.13.0 <25.0.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@mneme-ai/core": "1.
|
|
41
|
-
"@mneme-ai/embeddings": "1.
|
|
40
|
+
"@mneme-ai/core": "1.19.0",
|
|
41
|
+
"@mneme-ai/embeddings": "1.19.0",
|
|
42
42
|
"@modelcontextprotocol/sdk": "^1.0.4"
|
|
43
43
|
}
|
|
44
44
|
}
|