@vheins/local-memory-mcp 0.8.0 → 0.8.2
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/mcp/server.js
CHANGED
|
@@ -42,7 +42,7 @@ import {
|
|
|
42
42
|
setLogLevel,
|
|
43
43
|
updateSessionFromInitialize,
|
|
44
44
|
updateSessionRoots
|
|
45
|
-
} from "../chunk-
|
|
45
|
+
} from "../chunk-MC6NSQJ6.js";
|
|
46
46
|
|
|
47
47
|
// src/mcp/server.ts
|
|
48
48
|
import readline from "readline";
|
|
@@ -1875,68 +1875,73 @@ function createRouter(db2, vectors2, options) {
|
|
|
1875
1875
|
throw new Error(`Unsupported method: ${method}`);
|
|
1876
1876
|
}
|
|
1877
1877
|
}
|
|
1878
|
+
const WRITE_TOOLS = /* @__PURE__ */ new Set([
|
|
1879
|
+
"memory-store",
|
|
1880
|
+
"memory-acknowledge",
|
|
1881
|
+
"memory-update",
|
|
1882
|
+
"memory-delete",
|
|
1883
|
+
"memory-bulk-delete",
|
|
1884
|
+
"memory-summarize",
|
|
1885
|
+
"task-create",
|
|
1886
|
+
"task-create-interactive",
|
|
1887
|
+
"task-update",
|
|
1888
|
+
"task-delete"
|
|
1889
|
+
]);
|
|
1878
1890
|
async function handleToolCall(params, signal, onProgress) {
|
|
1879
1891
|
const { name } = params || {};
|
|
1880
1892
|
const args = normalizeToolArguments(params?.arguments, getSessionContext?.());
|
|
1881
1893
|
const toolName = String(name).replace(/\./g, "-");
|
|
1882
1894
|
let result;
|
|
1883
1895
|
const repo = args?.repo || args?.scope?.repo || "unknown";
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
result = await handleTaskList(args, db2);
|
|
1934
|
-
break;
|
|
1935
|
-
case "task-detail":
|
|
1936
|
-
result = await handleTaskGet(args, db2);
|
|
1937
|
-
break;
|
|
1938
|
-
default:
|
|
1939
|
-
throw new Error(`Unknown tool: ${name}`);
|
|
1896
|
+
const isWrite = WRITE_TOOLS.has(toolName);
|
|
1897
|
+
const executeToolLogic = async () => {
|
|
1898
|
+
switch (toolName) {
|
|
1899
|
+
case "memory-store":
|
|
1900
|
+
return await handleMemoryStore(args, db2, vectors2);
|
|
1901
|
+
case "memory-acknowledge":
|
|
1902
|
+
return await handleMemoryAcknowledge(args, db2);
|
|
1903
|
+
case "memory-update":
|
|
1904
|
+
return await handleMemoryUpdate(args, db2, vectors2);
|
|
1905
|
+
case "memory-recap":
|
|
1906
|
+
return await handleMemoryRecap(args, db2);
|
|
1907
|
+
case "memory-search":
|
|
1908
|
+
return await handleMemorySearch(args, db2, vectors2);
|
|
1909
|
+
case "memory-summarize":
|
|
1910
|
+
return await handleMemorySummarize(args, db2);
|
|
1911
|
+
case "memory-synthesize":
|
|
1912
|
+
return await handleMemorySynthesize(args, db2, vectors2, {
|
|
1913
|
+
session: getSessionContext?.(),
|
|
1914
|
+
sampleMessage: options?.sampleMessage,
|
|
1915
|
+
elicit: options?.elicit
|
|
1916
|
+
});
|
|
1917
|
+
case "memory-delete":
|
|
1918
|
+
case "memory-bulk-delete":
|
|
1919
|
+
return await handleMemoryDelete(args, db2, vectors2, onProgress);
|
|
1920
|
+
case "memory-detail":
|
|
1921
|
+
return await handleMemoryDetail(args, db2);
|
|
1922
|
+
case "task-create":
|
|
1923
|
+
return await handleTaskCreate(args, db2);
|
|
1924
|
+
case "task-create-interactive":
|
|
1925
|
+
return await handleTaskCreateInteractive(args, db2, {
|
|
1926
|
+
session: getSessionContext?.(),
|
|
1927
|
+
elicit: options?.elicit
|
|
1928
|
+
});
|
|
1929
|
+
case "task-update":
|
|
1930
|
+
return await handleTaskUpdate(args, db2, vectors2);
|
|
1931
|
+
case "task-delete":
|
|
1932
|
+
return await handleTaskDelete(args, db2);
|
|
1933
|
+
case "task-list":
|
|
1934
|
+
return await handleTaskList(args, db2);
|
|
1935
|
+
case "task-detail":
|
|
1936
|
+
return await handleTaskGet(args, db2);
|
|
1937
|
+
default:
|
|
1938
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
1939
|
+
}
|
|
1940
|
+
};
|
|
1941
|
+
if (isWrite) {
|
|
1942
|
+
result = await db2.withWrite(executeToolLogic);
|
|
1943
|
+
} else {
|
|
1944
|
+
result = await executeToolLogic();
|
|
1940
1945
|
}
|
|
1941
1946
|
try {
|
|
1942
1947
|
const actionType = toolName.split("-")[1] || toolName;
|
|
@@ -1949,7 +1954,11 @@ function createRouter(db2, vectors2, options) {
|
|
|
1949
1954
|
taskId: args?.id || args?.task_id || sc?.id,
|
|
1950
1955
|
resultCount: Array.isArray(sc?.results) ? sc.results.length : sc?.count || 0
|
|
1951
1956
|
};
|
|
1952
|
-
|
|
1957
|
+
if (isWrite) {
|
|
1958
|
+
db2.actions.logAction(actionType, repo, logOptions);
|
|
1959
|
+
} else {
|
|
1960
|
+
await db2.withWrite(() => db2.actions.logAction(actionType, repo, logOptions));
|
|
1961
|
+
}
|
|
1953
1962
|
} catch (e) {
|
|
1954
1963
|
logger.error("Failed to log action", { toolName, error: String(e) });
|
|
1955
1964
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vheins/local-memory-mcp",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "MCP Local Memory Service for coding copilot agents",
|
|
5
5
|
"mcpName": "io.github.vheins/local-memory-mcp",
|
|
6
6
|
"type": "module",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"format": "prettier --write \"src/**/*.{ts,js,svelte}\""
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
+
"@types/proper-lockfile": "^4.1.4",
|
|
47
48
|
"@xenova/transformers": "^2.17.2",
|
|
48
49
|
"better-sqlite3": "^12.9.0",
|
|
49
50
|
"chart.js": "^4.5.1",
|
|
@@ -51,6 +52,7 @@
|
|
|
51
52
|
"express": "^5.2.1",
|
|
52
53
|
"gray-matter": "^4.0.3",
|
|
53
54
|
"marked": "^18.0.0",
|
|
55
|
+
"proper-lockfile": "^4.1.2",
|
|
54
56
|
"qs": "^6.15.0",
|
|
55
57
|
"zod": "^4.3.5"
|
|
56
58
|
},
|