@vheins/local-memory-mcp 0.4.12 → 0.5.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/README.md +21 -0
- package/bin/mcp-memory-server.js +1 -1
- package/dist/dashboard/public/assets/index-KxrQ6fPK.css +1 -0
- package/dist/dashboard/public/assets/index-Lu37nzOi.js +72 -0
- package/dist/dashboard/public/index.html +11 -1772
- package/dist/dashboard/server.js +115 -5
- package/dist/dashboard/server.js.map +1 -1
- package/dist/mcp/capabilities.d.ts +22 -0
- package/dist/mcp/capabilities.d.ts.map +1 -0
- package/dist/mcp/capabilities.js +38 -0
- package/dist/mcp/capabilities.js.map +1 -0
- package/dist/mcp/client.js +3 -3
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/completion.d.ts +25 -0
- package/dist/mcp/completion.d.ts.map +1 -0
- package/dist/mcp/completion.js +127 -0
- package/dist/mcp/completion.js.map +1 -0
- package/dist/mcp/prompts/registry.d.ts +314 -0
- package/dist/mcp/prompts/registry.d.ts.map +1 -0
- package/dist/mcp/prompts/registry.js +936 -0
- package/dist/mcp/prompts/registry.js.map +1 -0
- package/dist/mcp/resources/index.d.ts +68 -0
- package/dist/mcp/resources/index.d.ts.map +1 -0
- package/dist/mcp/resources/index.js +323 -0
- package/dist/mcp/resources/index.js.map +1 -0
- package/dist/mcp/router.d.ts +14 -0
- package/dist/mcp/router.d.ts.map +1 -0
- package/dist/mcp/router.js +242 -0
- package/dist/mcp/router.js.map +1 -0
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +338 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/storage/sqlite.d.ts +83 -0
- package/dist/mcp/storage/sqlite.d.ts.map +1 -0
- package/dist/mcp/storage/sqlite.js +1237 -0
- package/dist/mcp/storage/sqlite.js.map +1 -0
- package/dist/mcp/storage/vectors.d.ts +19 -0
- package/dist/mcp/storage/vectors.d.ts.map +1 -0
- package/dist/mcp/storage/vectors.js +74 -0
- package/dist/mcp/storage/vectors.js.map +1 -0
- package/dist/mcp/storage/vectors.stub.d.ts +12 -0
- package/dist/mcp/storage/vectors.stub.d.ts.map +1 -0
- package/dist/mcp/storage/vectors.stub.js +88 -0
- package/dist/mcp/storage/vectors.stub.js.map +1 -0
- package/dist/mcp/tests/client.test.d.ts +2 -0
- package/dist/mcp/tests/client.test.d.ts.map +1 -0
- package/dist/mcp/tests/client.test.js +130 -0
- package/dist/mcp/tests/client.test.js.map +1 -0
- package/dist/mcp/tests/dashboard.test.d.ts +2 -0
- package/dist/mcp/tests/dashboard.test.d.ts.map +1 -0
- package/dist/mcp/tests/dashboard.test.js +370 -0
- package/dist/mcp/tests/dashboard.test.js.map +1 -0
- package/dist/mcp/tests/e2e.test.d.ts +2 -0
- package/dist/mcp/tests/e2e.test.d.ts.map +1 -0
- package/dist/mcp/tests/e2e.test.js +250 -0
- package/dist/mcp/tests/e2e.test.js.map +1 -0
- package/dist/mcp/tests/index.test.d.ts +2 -0
- package/dist/mcp/tests/index.test.d.ts.map +1 -0
- package/dist/mcp/tests/index.test.js +185 -0
- package/dist/mcp/tests/index.test.js.map +1 -0
- package/dist/mcp/tests/logger.test.d.ts +2 -0
- package/dist/mcp/tests/logger.test.d.ts.map +1 -0
- package/dist/mcp/tests/logger.test.js +104 -0
- package/dist/mcp/tests/logger.test.js.map +1 -0
- package/dist/mcp/tests/memory.bulk.test.d.ts +2 -0
- package/dist/mcp/tests/memory.bulk.test.d.ts.map +1 -0
- package/dist/mcp/tests/memory.bulk.test.js +52 -0
- package/dist/mcp/tests/memory.bulk.test.js.map +1 -0
- package/dist/mcp/tests/memory.search.test.d.ts +2 -0
- package/dist/mcp/tests/memory.search.test.d.ts.map +1 -0
- package/dist/mcp/tests/memory.search.test.js +181 -0
- package/dist/mcp/tests/memory.search.test.js.map +1 -0
- package/dist/mcp/tests/normalize.test.d.ts +2 -0
- package/dist/mcp/tests/normalize.test.d.ts.map +1 -0
- package/dist/mcp/tests/normalize.test.js +181 -0
- package/dist/mcp/tests/normalize.test.js.map +1 -0
- package/dist/mcp/tests/query-expander.test.d.ts +2 -0
- package/dist/mcp/tests/query-expander.test.d.ts.map +1 -0
- package/dist/mcp/tests/query-expander.test.js +33 -0
- package/dist/mcp/tests/query-expander.test.js.map +1 -0
- package/dist/mcp/tests/router.test.d.ts +2 -0
- package/dist/mcp/tests/router.test.d.ts.map +1 -0
- package/dist/mcp/tests/router.test.js +470 -0
- package/dist/mcp/tests/router.test.js.map +1 -0
- package/dist/mcp/tests/sqlite.test.d.ts +2 -0
- package/dist/mcp/tests/sqlite.test.d.ts.map +1 -0
- package/dist/mcp/tests/sqlite.test.js +367 -0
- package/dist/mcp/tests/sqlite.test.js.map +1 -0
- package/dist/mcp/tests/tasks-search.test.d.ts +2 -0
- package/dist/mcp/tests/tasks-search.test.d.ts.map +1 -0
- package/dist/mcp/tests/tasks-search.test.js +154 -0
- package/dist/mcp/tests/tasks-search.test.js.map +1 -0
- package/dist/mcp/tests/tasks-transition.test.d.ts +2 -0
- package/dist/mcp/tests/tasks-transition.test.d.ts.map +1 -0
- package/dist/mcp/tests/tasks-transition.test.js +174 -0
- package/dist/mcp/tests/tasks-transition.test.js.map +1 -0
- package/dist/mcp/tests/tasks.bulk.test.d.ts +2 -0
- package/dist/mcp/tests/tasks.bulk.test.d.ts.map +1 -0
- package/dist/mcp/tests/tasks.bulk.test.js +254 -0
- package/dist/mcp/tests/tasks.bulk.test.js.map +1 -0
- package/dist/mcp/tests/tasks.e2e.test.d.ts +2 -0
- package/dist/mcp/tests/tasks.e2e.test.d.ts.map +1 -0
- package/dist/mcp/tests/tasks.e2e.test.js +289 -0
- package/dist/mcp/tests/tasks.e2e.test.js.map +1 -0
- package/dist/mcp/tests/tasks.pending-limit-refined.test.d.ts +2 -0
- package/dist/mcp/tests/tasks.pending-limit-refined.test.d.ts.map +1 -0
- package/dist/mcp/tests/tasks.pending-limit-refined.test.js +72 -0
- package/dist/mcp/tests/tasks.pending-limit-refined.test.js.map +1 -0
- package/dist/mcp/tests/v2-features.test.d.ts +2 -0
- package/dist/mcp/tests/v2-features.test.d.ts.map +1 -0
- package/dist/mcp/tests/v2-features.test.js +209 -0
- package/dist/mcp/tests/v2-features.test.js.map +1 -0
- package/dist/mcp/tools/memory.acknowledge.d.ts +4 -0
- package/dist/mcp/tools/memory.acknowledge.d.ts.map +1 -0
- package/dist/mcp/tools/memory.acknowledge.js +30 -0
- package/dist/mcp/tools/memory.acknowledge.js.map +1 -0
- package/dist/mcp/tools/memory.bulk-delete.d.ts +4 -0
- package/dist/mcp/tools/memory.bulk-delete.d.ts.map +1 -0
- package/dist/mcp/tools/memory.bulk-delete.js +39 -0
- package/dist/mcp/tools/memory.bulk-delete.js.map +1 -0
- package/dist/mcp/tools/memory.delete.d.ts +9 -0
- package/dist/mcp/tools/memory.delete.d.ts.map +1 -0
- package/dist/mcp/tools/memory.delete.js +39 -0
- package/dist/mcp/tools/memory.delete.js.map +1 -0
- package/dist/mcp/tools/memory.recap.d.ts +4 -0
- package/dist/mcp/tools/memory.recap.d.ts.map +1 -0
- package/dist/mcp/tools/memory.recap.js +90 -0
- package/dist/mcp/tools/memory.recap.js.map +1 -0
- package/dist/mcp/tools/memory.search.d.ts +5 -0
- package/dist/mcp/tools/memory.search.d.ts.map +1 -0
- package/dist/mcp/tools/memory.search.js +134 -0
- package/dist/mcp/tools/memory.search.js.map +1 -0
- package/dist/mcp/tools/memory.store.d.ts +5 -0
- package/dist/mcp/tools/memory.store.d.ts.map +1 -0
- package/dist/mcp/tools/memory.store.js +117 -0
- package/dist/mcp/tools/memory.store.js.map +1 -0
- package/dist/mcp/tools/memory.summarize.d.ts +4 -0
- package/dist/mcp/tools/memory.summarize.d.ts.map +1 -0
- package/dist/mcp/tools/memory.summarize.js +31 -0
- package/dist/mcp/tools/memory.summarize.js.map +1 -0
- package/dist/mcp/tools/memory.synthesize.d.ts +14 -0
- package/dist/mcp/tools/memory.synthesize.d.ts.map +1 -0
- package/dist/mcp/tools/memory.synthesize.js +228 -0
- package/dist/mcp/tools/memory.synthesize.js.map +1 -0
- package/dist/mcp/tools/memory.update.d.ts +5 -0
- package/dist/mcp/tools/memory.update.d.ts.map +1 -0
- package/dist/mcp/tools/memory.update.js +73 -0
- package/dist/mcp/tools/memory.update.js.map +1 -0
- package/dist/mcp/tools/schemas.d.ts +2762 -0
- package/dist/mcp/tools/schemas.d.ts.map +1 -0
- package/dist/mcp/tools/schemas.js +952 -0
- package/dist/mcp/tools/schemas.js.map +1 -0
- package/dist/mcp/tools/task.bulk-manage.d.ts +4 -0
- package/dist/mcp/tools/task.bulk-manage.d.ts.map +1 -0
- package/dist/mcp/tools/task.bulk-manage.js +146 -0
- package/dist/mcp/tools/task.bulk-manage.js.map +1 -0
- package/dist/mcp/tools/task.manage.d.ts +16 -0
- package/dist/mcp/tools/task.manage.d.ts.map +1 -0
- package/dist/mcp/tools/task.manage.js +395 -0
- package/dist/mcp/tools/task.manage.js.map +1 -0
- package/dist/mcp/types.d.ts +87 -0
- package/dist/mcp/types.d.ts.map +1 -0
- package/dist/mcp/types.js +3 -0
- package/dist/mcp/types.js.map +1 -0
- package/dist/mcp/utils/completion.d.ts +2 -0
- package/dist/mcp/utils/completion.d.ts.map +1 -0
- package/dist/mcp/utils/completion.js +28 -0
- package/dist/mcp/utils/completion.js.map +1 -0
- package/dist/mcp/utils/git-scope.d.ts +8 -0
- package/dist/mcp/utils/git-scope.d.ts.map +1 -0
- package/dist/mcp/utils/git-scope.js +38 -0
- package/dist/mcp/utils/git-scope.js.map +1 -0
- package/dist/mcp/utils/logger.d.ts +25 -0
- package/dist/mcp/utils/logger.d.ts.map +1 -0
- package/dist/mcp/utils/logger.js +152 -0
- package/dist/mcp/utils/logger.js.map +1 -0
- package/dist/mcp/utils/mcp-response.d.ts +96 -0
- package/dist/mcp/utils/mcp-response.d.ts.map +1 -0
- package/dist/mcp/utils/mcp-response.js +131 -0
- package/dist/mcp/utils/mcp-response.js.map +1 -0
- package/dist/mcp/utils/normalize.d.ts +9 -0
- package/dist/mcp/utils/normalize.d.ts.map +1 -0
- package/dist/mcp/utils/normalize.js +62 -0
- package/dist/mcp/utils/normalize.js.map +1 -0
- package/dist/mcp/utils/pagination.d.ts +6 -0
- package/dist/mcp/utils/pagination.d.ts.map +1 -0
- package/dist/mcp/utils/pagination.js +32 -0
- package/dist/mcp/utils/pagination.js.map +1 -0
- package/dist/mcp/utils/query-expander.d.ts +2 -0
- package/dist/mcp/utils/query-expander.d.ts.map +1 -0
- package/dist/mcp/utils/query-expander.js +29 -0
- package/dist/mcp/utils/query-expander.js.map +1 -0
- package/dist/storage/sqlite.d.ts +3 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +38 -9
- package/dist/storage/sqlite.js.map +1 -1
- package/package.json +17 -5
- package/dist/dashboard/public/app.js +0 -2779
- package/dist/dashboard/public/chart.js +0 -0
- package/dist/dashboard/public/screenshot.png +0 -0
package/dist/dashboard/server.js
CHANGED
|
@@ -5,11 +5,11 @@ import fs from "fs";
|
|
|
5
5
|
import { fileURLToPath } from "url";
|
|
6
6
|
import { randomUUID } from "crypto";
|
|
7
7
|
import { MCPClient } from "../mcp/client.js";
|
|
8
|
-
import { SQLiteStore } from "../storage/sqlite.js";
|
|
9
|
-
import { logger } from "../utils/logger.js";
|
|
10
|
-
import { TOOL_DEFINITIONS } from "../tools/schemas.js";
|
|
11
|
-
import { PROMPTS } from "../prompts/registry.js";
|
|
12
|
-
import { listResources } from "../resources/index.js";
|
|
8
|
+
import { SQLiteStore } from "../mcp/storage/sqlite.js";
|
|
9
|
+
import { logger } from "../mcp/utils/logger.js";
|
|
10
|
+
import { TOOL_DEFINITIONS } from "../mcp/tools/schemas.js";
|
|
11
|
+
import { PROMPTS } from "../mcp/prompts/registry.js";
|
|
12
|
+
import { listResources } from "../mcp/resources/index.js";
|
|
13
13
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
14
14
|
let pkg = { version: "0.0.0" };
|
|
15
15
|
try {
|
|
@@ -149,6 +149,81 @@ app.post("/api/memories", async (req, res) => {
|
|
|
149
149
|
res.status(500).json({ error: err.message });
|
|
150
150
|
}
|
|
151
151
|
});
|
|
152
|
+
app.put("/api/memories/:id", async (req, res) => {
|
|
153
|
+
try {
|
|
154
|
+
const { id } = req.params;
|
|
155
|
+
const existing = db.getByIdWithStats ? db.getByIdWithStats(id) : db.getById(id);
|
|
156
|
+
if (!existing)
|
|
157
|
+
return res.status(404).json({ error: "Memory not found" });
|
|
158
|
+
const { title, content, type, importance, tags, agent, model, repo } = req.body;
|
|
159
|
+
const updates = { title, content, type, importance, tags, agent, model, repo, updated_at: new Date().toISOString() };
|
|
160
|
+
db.update(id, updates);
|
|
161
|
+
db.logAction("update", existing.repo || req.body.repo || "", { memoryId: id });
|
|
162
|
+
res.json({ success: true });
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
res.status(500).json({ error: err.message });
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
app.delete("/api/memories/:id", async (req, res) => {
|
|
169
|
+
try {
|
|
170
|
+
const { id } = req.params;
|
|
171
|
+
const existing = db.getByIdWithStats ? db.getByIdWithStats(id) : db.getById(id);
|
|
172
|
+
if (!existing)
|
|
173
|
+
return res.status(404).json({ error: "Memory not found" });
|
|
174
|
+
db.delete(id);
|
|
175
|
+
db.logAction("delete", existing.repo || "", { memoryId: id });
|
|
176
|
+
res.json({ success: true });
|
|
177
|
+
}
|
|
178
|
+
catch (err) {
|
|
179
|
+
res.status(500).json({ error: err.message });
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
app.post("/api/memories/bulk-import", async (req, res) => {
|
|
183
|
+
try {
|
|
184
|
+
const { items, repo } = req.body;
|
|
185
|
+
if (!Array.isArray(items) || !repo)
|
|
186
|
+
return res.status(400).json({ error: "Invalid payload: requires 'items' array and 'repo'" });
|
|
187
|
+
const entries = items.map(item => ({
|
|
188
|
+
...item,
|
|
189
|
+
id: item.id || randomUUID(),
|
|
190
|
+
scope: { ...item.scope, repo },
|
|
191
|
+
created_at: item.created_at || new Date().toISOString(),
|
|
192
|
+
updated_at: item.updated_at || new Date().toISOString()
|
|
193
|
+
}));
|
|
194
|
+
const count = db.bulkInsertMemories(entries);
|
|
195
|
+
db.logAction("write", repo, { query: `Bulk imported ${count} memories` });
|
|
196
|
+
res.json({ success: true, count });
|
|
197
|
+
}
|
|
198
|
+
catch (err) {
|
|
199
|
+
res.status(500).json({ error: err.message });
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
app.post("/api/memories/bulk-action", async (req, res) => {
|
|
203
|
+
try {
|
|
204
|
+
const { action, ids, updates } = req.body;
|
|
205
|
+
if (!Array.isArray(ids) || !action)
|
|
206
|
+
return res.status(400).json({ error: "Invalid payload: requires 'ids' array and 'action'" });
|
|
207
|
+
let count = 0;
|
|
208
|
+
if (action === "delete") {
|
|
209
|
+
count = db.bulkDeleteMemories(ids);
|
|
210
|
+
}
|
|
211
|
+
else if (action === "update" || action === "archive") {
|
|
212
|
+
count = db.bulkUpdateMemories(ids, updates || { status: action === 'archive' ? 'archived' : 'active' });
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
return res.status(400).json({ error: "Invalid action" });
|
|
216
|
+
}
|
|
217
|
+
if (ids.length > 0) {
|
|
218
|
+
const mem = db.getById(ids[0]);
|
|
219
|
+
db.logAction(action, mem?.scope?.repo || "unknown", { query: `Bulk ${action} applied to ${count} memories` });
|
|
220
|
+
}
|
|
221
|
+
res.json({ success: true, count });
|
|
222
|
+
}
|
|
223
|
+
catch (err) {
|
|
224
|
+
res.status(500).json({ error: err.message });
|
|
225
|
+
}
|
|
226
|
+
});
|
|
152
227
|
// Task endpoints
|
|
153
228
|
app.get("/api/tasks", async (req, res) => {
|
|
154
229
|
try {
|
|
@@ -223,6 +298,41 @@ app.put("/api/tasks/:id", async (req, res) => {
|
|
|
223
298
|
res.status(500).json({ error: err.message });
|
|
224
299
|
}
|
|
225
300
|
});
|
|
301
|
+
app.delete("/api/tasks/:id", async (req, res) => {
|
|
302
|
+
try {
|
|
303
|
+
const { id } = req.params;
|
|
304
|
+
const task = db.getTaskById(id);
|
|
305
|
+
if (!task)
|
|
306
|
+
return res.status(404).json({ error: "Task not found" });
|
|
307
|
+
db.deleteTask(id);
|
|
308
|
+
db.logAction("delete", task.repo, { taskId: id });
|
|
309
|
+
res.json({ success: true });
|
|
310
|
+
}
|
|
311
|
+
catch (err) {
|
|
312
|
+
res.status(500).json({ error: err.message });
|
|
313
|
+
}
|
|
314
|
+
});
|
|
315
|
+
app.post("/api/tasks/bulk-import", async (req, res) => {
|
|
316
|
+
try {
|
|
317
|
+
const { items, repo } = req.body;
|
|
318
|
+
if (!Array.isArray(items) || !repo)
|
|
319
|
+
return res.status(400).json({ error: "Invalid payload: requires 'items' array and 'repo'" });
|
|
320
|
+
const tasks = items.map(t => ({
|
|
321
|
+
...t,
|
|
322
|
+
id: t.id || randomUUID(),
|
|
323
|
+
repo,
|
|
324
|
+
task_code: t.task_code || randomUUID().substring(0, 8),
|
|
325
|
+
created_at: t.created_at || new Date().toISOString(),
|
|
326
|
+
updated_at: t.updated_at || new Date().toISOString()
|
|
327
|
+
}));
|
|
328
|
+
const count = db.bulkInsertTasks(tasks);
|
|
329
|
+
db.logAction("write", repo, { query: `Bulk imported ${count} tasks` });
|
|
330
|
+
res.json({ success: true, count });
|
|
331
|
+
}
|
|
332
|
+
catch (err) {
|
|
333
|
+
res.status(500).json({ error: err.message });
|
|
334
|
+
}
|
|
335
|
+
});
|
|
226
336
|
app.put("/api/task-comments/:id", async (req, res) => {
|
|
227
337
|
try {
|
|
228
338
|
const { id } = req.params;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/dashboard/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const MCP_PROTOCOL_VERSION = "2025-11-25";
|
|
2
|
+
export declare const CAPABILITIES: {
|
|
3
|
+
serverInfo: {
|
|
4
|
+
name: string;
|
|
5
|
+
version: string;
|
|
6
|
+
};
|
|
7
|
+
capabilities: {
|
|
8
|
+
completions: {};
|
|
9
|
+
logging: {};
|
|
10
|
+
resources: {
|
|
11
|
+
subscribe: boolean;
|
|
12
|
+
listChanged: boolean;
|
|
13
|
+
};
|
|
14
|
+
tools: {
|
|
15
|
+
listChanged: boolean;
|
|
16
|
+
};
|
|
17
|
+
prompts: {
|
|
18
|
+
listChanged: boolean;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/mcp/capabilities.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { fileURLToPath } from "url";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import fs from "fs";
|
|
4
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
5
|
+
const pkgPath = path.join(__dirname, "../../package.json");
|
|
6
|
+
let pkgVersion = "0.1.0";
|
|
7
|
+
try {
|
|
8
|
+
if (fs.existsSync(pkgPath)) {
|
|
9
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
|
10
|
+
pkgVersion = pkg.version;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
catch (e) {
|
|
14
|
+
// Fallback to default version if reading fails
|
|
15
|
+
}
|
|
16
|
+
// MCP Server Capabilities
|
|
17
|
+
export const MCP_PROTOCOL_VERSION = "2025-11-25";
|
|
18
|
+
export const CAPABILITIES = {
|
|
19
|
+
serverInfo: {
|
|
20
|
+
name: "mcp-memory-local",
|
|
21
|
+
version: pkgVersion
|
|
22
|
+
},
|
|
23
|
+
capabilities: {
|
|
24
|
+
completions: {},
|
|
25
|
+
logging: {},
|
|
26
|
+
resources: {
|
|
27
|
+
subscribe: true,
|
|
28
|
+
listChanged: true
|
|
29
|
+
},
|
|
30
|
+
tools: {
|
|
31
|
+
listChanged: false
|
|
32
|
+
},
|
|
33
|
+
prompts: {
|
|
34
|
+
listChanged: true
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/mcp/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;AAC3D,IAAI,UAAU,GAAG,OAAO,CAAC;AAEzB,IAAI,CAAC;IACH,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACzD,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;IAC3B,CAAC;AACH,CAAC;AAAC,OAAO,CAAC,EAAE,CAAC;IACX,+CAA+C;AACjD,CAAC;AAED,0BAA0B;AAC1B,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEjD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,UAAU;KACpB;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,SAAS,EAAE;YACT,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB;QACD,KAAK,EAAE;YACL,WAAW,EAAE,KAAK;SACnB;QACD,OAAO,EAAE;YACP,WAAW,EAAE,IAAI;SAClB;KACF;CACF,CAAC"}
|
package/dist/mcp/client.js
CHANGED
|
@@ -2,8 +2,8 @@ import { spawn } from "child_process";
|
|
|
2
2
|
import { createInterface } from "readline";
|
|
3
3
|
import path from "path";
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
|
-
import { MCP_PROTOCOL_VERSION } from "
|
|
6
|
-
import { logger } from "
|
|
5
|
+
import { MCP_PROTOCOL_VERSION } from "./capabilities.js";
|
|
6
|
+
import { logger } from "./utils/logger.js";
|
|
7
7
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
8
8
|
// Exponential backoff delays in ms: 1s, 2s, 4s
|
|
9
9
|
const RETRY_DELAYS = [1000, 2000, 4000];
|
|
@@ -23,7 +23,7 @@ export class MCPClient {
|
|
|
23
23
|
async start() {
|
|
24
24
|
if (this.process)
|
|
25
25
|
return;
|
|
26
|
-
const serverPath = this.serverPathOverride || path.join(__dirname, "
|
|
26
|
+
const serverPath = this.serverPathOverride || path.join(__dirname, "./server.js");
|
|
27
27
|
this.process = spawn("node", [serverPath], {
|
|
28
28
|
stdio: ["pipe", "pipe", "inherit"],
|
|
29
29
|
});
|
package/dist/mcp/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SQLiteStore } from "./storage/sqlite.js";
|
|
2
|
+
import { SessionContext } from "./session.js";
|
|
3
|
+
type CompletionRequest = {
|
|
4
|
+
ref?: {
|
|
5
|
+
type?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
uri?: string;
|
|
8
|
+
};
|
|
9
|
+
argument?: {
|
|
10
|
+
name?: string;
|
|
11
|
+
value?: string;
|
|
12
|
+
};
|
|
13
|
+
context?: {
|
|
14
|
+
arguments?: Record<string, unknown>;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare function complete(params: CompletionRequest, db: SQLiteStore, session?: SessionContext): {
|
|
18
|
+
completion: {
|
|
19
|
+
values: string[];
|
|
20
|
+
total: number;
|
|
21
|
+
hasMore: boolean;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/mcp/completion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAA4C,MAAM,cAAc,CAAC;AAKxF,KAAK,iBAAiB,GAAG;IACvB,GAAG,CAAC,EAAE;QACJ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH,CAAC;AAKF,wBAAgB,QAAQ,CACtB,MAAM,EAAE,iBAAiB,EACzB,EAAE,EAAE,WAAW,EACf,OAAO,CAAC,EAAE,cAAc;;;;;;EA6CzB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { getFilesystemRoots, inferRepoFromSession } from "./session.js";
|
|
4
|
+
import { completePromptArgument } from "./prompts/registry.js";
|
|
5
|
+
import { completeResourceArgument } from "./resources/index.js";
|
|
6
|
+
const MAX_COMPLETION_VALUES = 100;
|
|
7
|
+
const MAX_FILE_SCAN_RESULTS = 300;
|
|
8
|
+
export function complete(params, db, session) {
|
|
9
|
+
const refType = params?.ref?.type;
|
|
10
|
+
const argumentName = typeof params?.argument?.name === "string" ? params.argument.name : "";
|
|
11
|
+
const argumentValue = typeof params?.argument?.value === "string" ? params.argument.value : "";
|
|
12
|
+
const contextArguments = params?.context?.arguments ?? {};
|
|
13
|
+
if (!refType || !argumentName) {
|
|
14
|
+
throw invalidCompletionParams("completion/complete requires ref.type and argument.name");
|
|
15
|
+
}
|
|
16
|
+
const dataSources = {
|
|
17
|
+
repos: getSuggestedRepos(db, session),
|
|
18
|
+
tags: getSuggestedTags(db),
|
|
19
|
+
filePaths: getSuggestedFilePaths(session),
|
|
20
|
+
tasks: getSuggestedTasks(db, session, contextArguments),
|
|
21
|
+
};
|
|
22
|
+
if (refType === "ref/prompt") {
|
|
23
|
+
const promptName = typeof params?.ref?.name === "string" ? params.ref.name : "";
|
|
24
|
+
if (!promptName) {
|
|
25
|
+
throw invalidCompletionParams("Prompt completion requires ref.name");
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
completion: buildCompletionResult(completePromptArgument(promptName, argumentName, argumentValue, contextArguments, dataSources)),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (refType === "ref/resource") {
|
|
32
|
+
const resourceUri = typeof params?.ref?.uri === "string" ? params.ref.uri : "";
|
|
33
|
+
if (!resourceUri) {
|
|
34
|
+
throw invalidCompletionParams("Resource completion requires ref.uri");
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
completion: buildCompletionResult(completeResourceArgument(resourceUri, argumentName, argumentValue, contextArguments, dataSources)),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
throw invalidCompletionParams(`Unsupported completion ref type: ${refType}`);
|
|
41
|
+
}
|
|
42
|
+
function buildCompletionResult(values) {
|
|
43
|
+
const capped = values.slice(0, MAX_COMPLETION_VALUES);
|
|
44
|
+
return {
|
|
45
|
+
values: capped,
|
|
46
|
+
total: values.length,
|
|
47
|
+
hasMore: values.length > capped.length,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function getSuggestedRepos(db, session) {
|
|
51
|
+
const values = new Set();
|
|
52
|
+
const inferredRepo = inferRepoFromSession(session);
|
|
53
|
+
if (inferredRepo)
|
|
54
|
+
values.add(inferredRepo);
|
|
55
|
+
for (const rootPath of getFilesystemRoots(session)) {
|
|
56
|
+
values.add(path.basename(rootPath));
|
|
57
|
+
}
|
|
58
|
+
for (const repo of db.listRepos()) {
|
|
59
|
+
values.add(repo);
|
|
60
|
+
}
|
|
61
|
+
return [...values].sort((a, b) => a.localeCompare(b));
|
|
62
|
+
}
|
|
63
|
+
function getSuggestedTags(db) {
|
|
64
|
+
const values = new Set();
|
|
65
|
+
const memories = db.getAllMemoriesWithStats();
|
|
66
|
+
for (const memory of memories) {
|
|
67
|
+
for (const tag of memory.tags || []) {
|
|
68
|
+
if (typeof tag === "string" && tag.trim()) {
|
|
69
|
+
values.add(tag.trim());
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return [...values].sort((a, b) => a.localeCompare(b));
|
|
74
|
+
}
|
|
75
|
+
function getSuggestedTasks(db, session, contextArguments) {
|
|
76
|
+
const repo = typeof contextArguments.repo === "string" && contextArguments.repo.trim()
|
|
77
|
+
? contextArguments.repo.trim()
|
|
78
|
+
: inferRepoFromSession(session);
|
|
79
|
+
if (!repo)
|
|
80
|
+
return [];
|
|
81
|
+
return db.getTasksByRepo(repo, undefined, 100).map((task) => ({
|
|
82
|
+
id: task.id,
|
|
83
|
+
task_code: task.task_code,
|
|
84
|
+
title: task.title,
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
function getSuggestedFilePaths(session) {
|
|
88
|
+
const roots = getFilesystemRoots(session);
|
|
89
|
+
const results = [];
|
|
90
|
+
for (const rootPath of roots) {
|
|
91
|
+
collectFiles(rootPath, rootPath, results);
|
|
92
|
+
if (results.length >= MAX_FILE_SCAN_RESULTS)
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
return results.sort((a, b) => a.localeCompare(b));
|
|
96
|
+
}
|
|
97
|
+
function collectFiles(rootPath, currentPath, results) {
|
|
98
|
+
if (results.length >= MAX_FILE_SCAN_RESULTS)
|
|
99
|
+
return;
|
|
100
|
+
let entries;
|
|
101
|
+
try {
|
|
102
|
+
entries = fs.readdirSync(currentPath, { withFileTypes: true });
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
for (const entry of entries) {
|
|
108
|
+
if (results.length >= MAX_FILE_SCAN_RESULTS)
|
|
109
|
+
return;
|
|
110
|
+
if (entry.name === "node_modules" || entry.name === ".git" || entry.name === "dist")
|
|
111
|
+
continue;
|
|
112
|
+
const fullPath = path.join(currentPath, entry.name);
|
|
113
|
+
if (entry.isDirectory()) {
|
|
114
|
+
collectFiles(rootPath, fullPath, results);
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
if (!entry.isFile())
|
|
118
|
+
continue;
|
|
119
|
+
results.push(path.relative(rootPath, fullPath) || entry.name);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function invalidCompletionParams(message) {
|
|
123
|
+
const error = new Error(message);
|
|
124
|
+
error.code = -32602;
|
|
125
|
+
return error;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/mcp/completion.ts"],"names":[],"mappings":"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"}
|