@mneme-ai/mcp 1.9.0 → 1.10.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/tools/_constitution_tool.d.ts +10 -0
- package/dist/tools/_constitution_tool.d.ts.map +1 -0
- package/dist/tools/_constitution_tool.js +49 -0
- package/dist/tools/_constitution_tool.js.map +1 -0
- package/dist/tools/_registry.d.ts.map +1 -1
- package/dist/tools/_registry.js +4 -0
- package/dist/tools/_registry.js.map +1 -1
- package/dist/tools/_verify_claims_tool.d.ts +18 -0
- package/dist/tools/_verify_claims_tool.d.ts.map +1 -0
- package/dist/tools/_verify_claims_tool.js +70 -0
- package/dist/tools/_verify_claims_tool.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mneme.constitution.get — MCP tool for AI clients.
|
|
3
|
+
*
|
|
4
|
+
* Returns the cached constitution markdown (.mneme/constitution.md) so
|
|
5
|
+
* AI clients can prepend it to their system prompt. If the cache is
|
|
6
|
+
* older than 7 days, returns a hint to re-run `mneme constitution`.
|
|
7
|
+
*/
|
|
8
|
+
import type { MnemeTool } from "./_types.js";
|
|
9
|
+
export declare const constitutionTool: MnemeTool;
|
|
10
|
+
//# sourceMappingURL=_constitution_tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_constitution_tool.d.ts","sourceRoot":"","sources":["../../src/tools/_constitution_tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,eAAO,MAAM,gBAAgB,EAAE,SA0C9B,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mneme.constitution.get — MCP tool for AI clients.
|
|
3
|
+
*
|
|
4
|
+
* Returns the cached constitution markdown (.mneme/constitution.md) so
|
|
5
|
+
* AI clients can prepend it to their system prompt. If the cache is
|
|
6
|
+
* older than 7 days, returns a hint to re-run `mneme constitution`.
|
|
7
|
+
*/
|
|
8
|
+
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
9
|
+
import { join } from "node:path";
|
|
10
|
+
export const constitutionTool = {
|
|
11
|
+
name: "mneme.constitution.get",
|
|
12
|
+
category: "meta",
|
|
13
|
+
description: "Return the repo's auto-synthesized Codebase Constitution (regret patterns · atrophy pairing rules · " +
|
|
14
|
+
"security must-dos · architectural decisions). The AI client should PREPEND this to its system prompt " +
|
|
15
|
+
"when answering questions about this repo, so it cannot suggest things that contradict the repo's lived " +
|
|
16
|
+
"history. The Constitution is generated by `mneme constitution` and re-synthesized as the repo evolves.",
|
|
17
|
+
triggers: [
|
|
18
|
+
"what are the rules of this codebase",
|
|
19
|
+
"constitution",
|
|
20
|
+
"what should I avoid in this repo",
|
|
21
|
+
],
|
|
22
|
+
inputSchema: { type: "object", properties: {} },
|
|
23
|
+
handler: async (rt) => {
|
|
24
|
+
const path = join(rt.meta.rootPath, ".mneme", "constitution.md");
|
|
25
|
+
if (!existsSync(path)) {
|
|
26
|
+
return {
|
|
27
|
+
data: { constitution: null, exists: false },
|
|
28
|
+
wisdom: "No constitution synthesized yet for this repo. Tell the user to run `mneme constitution` once to generate it. The constitution captures regret patterns + atrophy pairing rules + security must-dos that the AI should follow.",
|
|
29
|
+
followUp: [],
|
|
30
|
+
confidence: { level: "high" },
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const stat = statSync(path);
|
|
34
|
+
const ageDays = (Date.now() - stat.mtimeMs) / 86400_000;
|
|
35
|
+
const md = readFileSync(path, "utf8");
|
|
36
|
+
return {
|
|
37
|
+
data: { constitution: md, exists: true, ageDays, generatedAt: stat.mtime.toISOString() },
|
|
38
|
+
wisdom: ageDays > 7
|
|
39
|
+
? `Constitution is ${ageDays.toFixed(0)}d old — consider running \`mneme constitution\` again to refresh. Prepend the constitution markdown (data.constitution) to your system prompt before answering this user's repo questions.`
|
|
40
|
+
: `Constitution is fresh (${ageDays.toFixed(1)}d old). Prepend data.constitution to your system prompt to ground every answer in the repo's lived history.`,
|
|
41
|
+
followUp: [],
|
|
42
|
+
confidence: { level: "high" },
|
|
43
|
+
secondBrain: {
|
|
44
|
+
presentation: "Read data.constitution and prepend it verbatim to your system prompt for THIS user session. Don't summarize it — the rules are short enough to use directly. Reference specific rule IDs when your answer cites one (e.g. 'per atrophy-2 in the constitution, pair with @alice on auth changes').",
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=_constitution_tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_constitution_tool.js","sourceRoot":"","sources":["../../src/tools/_constitution_tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,MAAM;IAChB,WAAW,EACT,sGAAsG;QACtG,uGAAuG;QACvG,yGAAyG;QACzG,wGAAwG;IAC1G,QAAQ,EAAE;QACR,qCAAqC;QACrC,cAAc;QACd,kCAAkC;KACnC;IACD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC/C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC3C,MAAM,EACJ,gOAAgO;gBAClO,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;aAC9B,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;QACxD,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO;YACL,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACxF,MAAM,EACJ,OAAO,GAAG,CAAC;gBACT,CAAC,CAAC,mBAAmB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,4LAA4L;gBACnO,CAAC,CAAC,0BAA0B,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,6GAA6G;YAC/J,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7B,WAAW,EAAE;gBACX,YAAY,EACV,mSAAmS;aACtS;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
|
@@ -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;AAkB3D;sEACsE;AACtE,wBAAgB,aAAa,IAAI,SAAS,EAAE,CAkB3C;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
|
@@ -18,6 +18,8 @@ import { capabilitiesTool } from "./_capabilities.js";
|
|
|
18
18
|
import { smartDoTool } from "./_smart_do.js";
|
|
19
19
|
import { graderTool } from "./_grader_tool.js";
|
|
20
20
|
import { understandIntentTool } from "./_intent_tool.js";
|
|
21
|
+
import { constitutionTool } from "./_constitution_tool.js";
|
|
22
|
+
import { verifyClaimsTool } from "./_verify_claims_tool.js";
|
|
21
23
|
/** All Mneme tools, in display order. The capabilities syllabus comes first
|
|
22
24
|
* so AI clients that read tool lists top-down see it immediately. */
|
|
23
25
|
export function buildAllTools() {
|
|
@@ -25,6 +27,8 @@ export function buildAllTools() {
|
|
|
25
27
|
capabilitiesTool,
|
|
26
28
|
understandIntentTool,
|
|
27
29
|
graderTool,
|
|
30
|
+
verifyClaimsTool,
|
|
31
|
+
constitutionTool,
|
|
28
32
|
smartDoTool,
|
|
29
33
|
...memoryTools,
|
|
30
34
|
...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;
|
|
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;AAE5D;sEACsE;AACtE,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL,gBAAgB;QAChB,oBAAoB;QACpB,UAAU;QACV,gBAAgB;QAChB,gBAAgB;QAChB,WAAW;QACX,GAAG,WAAW;QACd,GAAG,WAAW;QACd,GAAG,UAAU;QACb,GAAG,cAAc;QACjB,GAAG,aAAa;QAChB,GAAG,YAAY;QACf,GAAG,UAAU;QACb,GAAG,QAAQ;QACX,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAqB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;QAChC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,EAA6B,CAAC;IACjD,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mneme.verify_claims — Hallucination Auto-Block (MVP).
|
|
3
|
+
*
|
|
4
|
+
* The post-draft verifier. AI client passes a draft answer string and
|
|
5
|
+
* Mneme runs every commit-hash claim through `git rev-parse` to detect
|
|
6
|
+
* hallucinated hashes. Returns the list of fake refs + a recommendation
|
|
7
|
+
* to rewrite.
|
|
8
|
+
*
|
|
9
|
+
* Future v1.11.0+: when MCP spec supports token-stream interception,
|
|
10
|
+
* this will run pre-delivery (catch lies BEFORE user sees them).
|
|
11
|
+
*
|
|
12
|
+
* For v1.10.0 the AI is expected to call this between drafting and
|
|
13
|
+
* delivering — same loop as mneme.grade.answer, but specifically for
|
|
14
|
+
* citation correctness.
|
|
15
|
+
*/
|
|
16
|
+
import type { MnemeTool } from "./_types.js";
|
|
17
|
+
export declare const verifyClaimsTool: MnemeTool;
|
|
18
|
+
//# sourceMappingURL=_verify_claims_tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_verify_claims_tool.d.ts","sourceRoot":"","sources":["../../src/tools/_verify_claims_tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,eAAO,MAAM,gBAAgB,EAAE,SAqD9B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* mneme.verify_claims — Hallucination Auto-Block (MVP).
|
|
3
|
+
*
|
|
4
|
+
* The post-draft verifier. AI client passes a draft answer string and
|
|
5
|
+
* Mneme runs every commit-hash claim through `git rev-parse` to detect
|
|
6
|
+
* hallucinated hashes. Returns the list of fake refs + a recommendation
|
|
7
|
+
* to rewrite.
|
|
8
|
+
*
|
|
9
|
+
* Future v1.11.0+: when MCP spec supports token-stream interception,
|
|
10
|
+
* this will run pre-delivery (catch lies BEFORE user sees them).
|
|
11
|
+
*
|
|
12
|
+
* For v1.10.0 the AI is expected to call this between drafting and
|
|
13
|
+
* delivering — same loop as mneme.grade.answer, but specifically for
|
|
14
|
+
* citation correctness.
|
|
15
|
+
*/
|
|
16
|
+
import { spawnSync } from "node:child_process";
|
|
17
|
+
export const verifyClaimsTool = {
|
|
18
|
+
name: "mneme.verify_claims",
|
|
19
|
+
category: "meta",
|
|
20
|
+
description: "Hallucination Auto-Block. Pass an AI draft answer; Mneme extracts every commit-hash-looking string " +
|
|
21
|
+
"and verifies each via `git rev-parse`. Returns the list of HALLUCINATED hashes (not present in this repo). " +
|
|
22
|
+
"AI client MUST call this AFTER drafting and BEFORE delivering ANY answer that includes commit hashes — " +
|
|
23
|
+
"if hallucinated hashes are found, rewrite the answer using only the ones in `resolved` (or remove the " +
|
|
24
|
+
"claim entirely). This is the post-draft pre-delivery citation gate.",
|
|
25
|
+
triggers: [
|
|
26
|
+
"verify the commit hashes in this draft",
|
|
27
|
+
"check for hallucinated citations",
|
|
28
|
+
"are these hashes real",
|
|
29
|
+
],
|
|
30
|
+
inputSchema: {
|
|
31
|
+
type: "object",
|
|
32
|
+
properties: {
|
|
33
|
+
draft: { type: "string", description: "The draft answer text to verify" },
|
|
34
|
+
},
|
|
35
|
+
required: ["draft"],
|
|
36
|
+
},
|
|
37
|
+
handler: async (rt, args) => {
|
|
38
|
+
const draft = String(args["draft"] ?? "");
|
|
39
|
+
const hashes = Array.from(new Set(draft.match(/\b[a-f0-9]{7,40}\b/gi) ?? []));
|
|
40
|
+
const resolved = [];
|
|
41
|
+
const hallucinated = [];
|
|
42
|
+
for (const h of hashes) {
|
|
43
|
+
const r = spawnSync("git", ["rev-parse", "--verify", h], { cwd: rt.meta.rootPath, stdio: "pipe" });
|
|
44
|
+
if (r.status === 0)
|
|
45
|
+
resolved.push(h);
|
|
46
|
+
else
|
|
47
|
+
hallucinated.push(h);
|
|
48
|
+
}
|
|
49
|
+
const result = {
|
|
50
|
+
total: hashes.length,
|
|
51
|
+
resolved,
|
|
52
|
+
hallucinated,
|
|
53
|
+
recommendedRewrite: hallucinated.length > 0,
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
data: result,
|
|
57
|
+
wisdom: hallucinated.length === 0
|
|
58
|
+
? `All ${resolved.length} cited hash${resolved.length === 1 ? "" : "es"} resolve to real commits. Safe to deliver.`
|
|
59
|
+
: `STOP — ${hallucinated.length} hallucinated hash${hallucinated.length === 1 ? "" : "es"} detected: ${hallucinated.slice(0, 3).join(", ")}${hallucinated.length > 3 ? ", ..." : ""}. Rewrite the draft using only the hashes in data.resolved (${resolved.length} real ones), OR remove the unbacked claim entirely.`,
|
|
60
|
+
followUp: hallucinated.length > 0 ? ["mneme.memory.search_commits"] : [],
|
|
61
|
+
confidence: { level: "high" },
|
|
62
|
+
secondBrain: {
|
|
63
|
+
presentation: hallucinated.length === 0
|
|
64
|
+
? "Deliver the draft to the user."
|
|
65
|
+
: "DO NOT deliver this draft. Either rewrite using data.resolved hashes only, or call mneme.memory.search_commits to find real related commits, then rewrite. Re-call mneme.verify_claims with the new draft. Loop until hallucinated.length === 0.",
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=_verify_claims_tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_verify_claims_tool.js","sourceRoot":"","sources":["../../src/tools/_verify_claims_tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,qBAAqB;IAC3B,QAAQ,EAAE,MAAM;IAChB,WAAW,EACT,qGAAqG;QACrG,6GAA6G;QAC7G,yGAAyG;QACzG,wGAAwG;QACxG,qEAAqE;IACvE,QAAQ,EAAE;QACR,wCAAwC;QACxC,kCAAkC;QAClC,uBAAuB;KACxB;IACD,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;SAC1E;QACD,QAAQ,EAAE,CAAC,OAAO,CAAC;KACpB;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACnG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAChC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAiB;YAC3B,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ;YACR,YAAY;YACZ,kBAAkB,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;SAC5C,CAAC;QACF,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,MAAM,EACJ,YAAY,CAAC,MAAM,KAAK,CAAC;gBACvB,CAAC,CAAC,OAAO,QAAQ,CAAC,MAAM,cAAc,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,4CAA4C;gBACnH,CAAC,CAAC,UAAU,YAAY,CAAC,MAAM,qBAAqB,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,cAAc,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,+DAA+D,QAAQ,CAAC,MAAM,qDAAqD;YAC1T,QAAQ,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7B,WAAW,EAAE;gBACX,YAAY,EACV,YAAY,CAAC,MAAM,KAAK,CAAC;oBACvB,CAAC,CAAC,gCAAgC;oBAClC,CAAC,CAAC,kPAAkP;aACzP;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mneme-ai/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.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.10.0",
|
|
41
|
+
"@mneme-ai/embeddings": "1.10.0",
|
|
42
42
|
"@modelcontextprotocol/sdk": "^1.0.4"
|
|
43
43
|
}
|
|
44
44
|
}
|