@mneme-ai/mcp 3.106.0 → 3.108.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=_morph_schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_morph_schema.test.d.ts","sourceRoot":"","sources":["../../src/tools/_morph_schema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * v3.108 — MORPH ⇄ live-schema verification. The novel guarantee: a router that
3
+ * checks its OWN output against the destination tool's ACTUAL input schema. Every
4
+ * INTENT_ARG / REQUIRED_ARGS entry in core must be a real input of the mapped MCP
5
+ * tool — so MORPH never hands an agent an arg name the tool doesn't accept.
6
+ */
7
+ import { describe, it, expect } from "vitest";
8
+ import { buildToolMap } from "./_registry.js";
9
+ import { morph } from "@mneme-ai/core";
10
+ describe("v3.108 · MORPH projected args match the LIVE MCP tool schemas", () => {
11
+ const tm = buildToolMap();
12
+ const schemaOf = (tool) => tm.get(tool)?.inputSchema;
13
+ it("every COMMAND_TO_MCP target is a real, registered tool", () => {
14
+ for (const tool of Object.values(morph.COMMAND_TO_MCP)) {
15
+ expect(tm.has(tool), tool).toBe(true);
16
+ }
17
+ });
18
+ it("INTENT_ARG fills a REAL input property of the mapped tool", () => {
19
+ for (const [command, arg] of Object.entries(morph.INTENT_ARG)) {
20
+ const tool = morph.toMcpTool(command);
21
+ const props = schemaOf(tool)?.properties ?? {};
22
+ expect(Object.keys(props), `${command} → ${tool}.${arg}`).toContain(arg);
23
+ }
24
+ });
25
+ it("REQUIRED_ARGS matches the tool's actual required list (no invented requirements)", () => {
26
+ for (const [command, reqs] of Object.entries(morph.REQUIRED_ARGS)) {
27
+ const tool = morph.toMcpTool(command);
28
+ const required = schemaOf(tool)?.required ?? [];
29
+ for (const r of reqs)
30
+ expect(required, `${command} → ${tool} requires ${r}`).toContain(r);
31
+ }
32
+ });
33
+ it("a routed shape's args are all valid input keys of the target tool", () => {
34
+ for (const q of ["is this claim actually true", "what do we know about the auth module", "review the whole codebase"]) {
35
+ const m = morph.morph(q);
36
+ if (m.verdict !== "MORPHED" || !m.capability?.mcpTool)
37
+ continue;
38
+ const props = Object.keys(schemaOf(m.capability.mcpTool)?.properties ?? {});
39
+ for (const k of Object.keys(m.shape?.args ?? {})) {
40
+ if (k === "intent")
41
+ continue; // generic hint (tool has no free-text arg)
42
+ expect(props, `${m.capability.mcpTool} arg ${k}`).toContain(k);
43
+ }
44
+ }
45
+ });
46
+ });
47
+ //# sourceMappingURL=_morph_schema.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_morph_schema.test.js","sourceRoot":"","sources":["../../src/tools/_morph_schema.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,QAAQ,CAAC,+DAA+D,EAAE,GAAG,EAAE;IAC7E,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WAAwF,CAAC;IAE1I,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAE,CAAC;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;YAC/C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,OAAO,MAAM,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,KAAK,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,uCAAuC,EAAE,2BAA2B,CAAC,EAAE,CAAC;YACtH,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO;gBAAE,SAAS;YAChE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;YAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,KAAK,QAAQ;oBAAE,SAAS,CAAC,2CAA2C;gBACzE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"_morph_tools.d.ts","sourceRoot":"","sources":["../../src/tools/_morph_tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,eAAO,MAAM,WAAW,EAAE,SAAS,EA0BlC,CAAC"}
1
+ {"version":3,"file":"_morph_tools.d.ts","sourceRoot":"","sources":["../../src/tools/_morph_tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAS7C,eAAO,MAAM,WAAW,EAAE,SAAS,EAgClC,CAAC"}
@@ -31,7 +31,7 @@ export const MORPH_TOOLS = [
31
31
  {
32
32
  name: "mneme.morph",
33
33
  category: "meta",
34
- description: "🧬 MORPH — the polymorphic plug. Instead of memorizing Mneme's 600+ tools, state your intent in free natural language (any language, EN/Thai) and MORPH resolves the RIGHT capability and returns the typed NEXT CALL: the concrete MCP tool to invoke, a runnable CLI, and args projected from your sentence (budget/forbidden/scope). It abstains (CLARIFY) rather than misfire, and never invents a capability the router didn't resolve. Self-attesting (offline-verifiable proof). Examples: 'is this claim true', 'who wrote this and why', 'ดูแลเรื่องงบ 5 หมื่น ห้ามโพสต์'.",
34
+ description: "🧬 MORPH — the polymorphic plug. Instead of memorizing Mneme's 600+ tools, state your intent in free natural language (any language, EN/Thai) and MORPH resolves the RIGHT capability and returns the typed NEXT CALL: the concrete MCP tool to invoke, a runnable CLI, and args projected from your sentence (budget/forbidden/scope). It abstains (CLARIFY) rather than misfire, and never invents a capability the router didn't resolve. A COMPOUND intent ('review the codebase AND tell me the riskiest part') is decomposed into an ordered `plan` of typed next-calls — walk them in order. Self-attesting (offline-verifiable proof). Examples: 'is this claim true', 'who wrote this and why', 'ดูแลเรื่องงบ 5 หมื่น ห้ามโพสต์'.",
35
35
  whenToUse: "FIRST call when you (an AI agent) want a Mneme capability but aren't sure which tool — describe the intent and MORPH hands back the exact tool + args to call next. The single front door for agents.",
36
36
  triggers: ["morph", "what mneme tool do i need", "which capability", "i want to but don't know the tool", "polymorphic", "shape the call for me", "ใช้ tool ไหนดี", "อยากทำ...แต่ไม่รู้ใช้อะไร"],
37
37
  inputSchema: { type: "object", required: ["intent"], properties: { intent: { type: "string", description: "what you want, in your own words (any language)" } } },
@@ -43,7 +43,13 @@ export const MORPH_TOOLS = [
43
43
  const intent = String(args["intent"] ?? "");
44
44
  if (!intent.trim())
45
45
  return low("morph needs an 'intent' — describe what you want in plain words.");
46
- const m = core.morph.morph(intent);
46
+ const plan = core.morph.morphPlan(intent);
47
+ const m = plan.steps[0]?.result ?? core.morph.morph(intent);
48
+ // compound intent → return the ordered pipeline
49
+ if (plan.multi && plan.plan.length > 1) {
50
+ const data = await attest(cwd, "morph:plan", { ...plan });
51
+ return { data, wisdom: `🧬 morph plan — ${plan.plan.length} steps: ${plan.plan.map((s) => s.mcpTool ?? s.command).join(" → ")}. Walk \`plan\` in order; each step is a typed next-call.`, followUp: plan.plan.map((s) => s.mcpTool).filter((t) => !!t), confidence: { level: "high" } };
52
+ }
47
53
  const data = await attest(cwd, `morph:${m.verdict}`, { ...m });
48
54
  const wisdom = m.verdict === "MORPHED" && m.capability
49
55
  ? `🧬 morphed → ${m.capability.command}${m.capability.mcpTool ? ` (call ${m.capability.mcpTool})` : ""} · confidence ${(m.confidence * 100).toFixed(0)}%. Next call is shaped in \`shape\` (mcpTool + cli + args).`
@@ -1 +1 @@
1
- {"version":3,"file":"_morph_tools.js","sourceRoot":"","sources":["../../src/tools/_morph_tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_morph_tools.js","sourceRoot":"","sources":["../../src/tools/_morph_tools.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": "3.106.0",
3
+ "version": "3.108.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",
@@ -45,9 +45,9 @@
45
45
  "node": ">=22.13.0 <25.0.0"
46
46
  },
47
47
  "dependencies": {
48
- "@mneme-ai/core": "3.106.0",
49
- "@mneme-ai/embeddings": "3.106.0",
50
- "@mneme-ai/xray": "3.106.0",
48
+ "@mneme-ai/core": "3.108.0",
49
+ "@mneme-ai/embeddings": "3.108.0",
50
+ "@mneme-ai/xray": "3.108.0",
51
51
  "@modelcontextprotocol/sdk": "^1.0.4"
52
52
  }
53
53
  }