@vheins/local-memory-mcp 0.3.24 → 0.3.25
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/dashboard/public/app.js +323 -82
- package/dist/dashboard/public/index.html +255 -83
- package/dist/dashboard/server.js +16 -1
- package/dist/dashboard/server.js.map +1 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +45 -13
- package/dist/router.js.map +1 -1
- package/dist/storage/sqlite.d.ts +4 -0
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +121 -12
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/tasks.e2e.test.js +82 -3
- package/dist/tasks.e2e.test.js.map +1 -1
- package/dist/tools/memory.acknowledge.d.ts.map +1 -1
- package/dist/tools/memory.acknowledge.js +0 -2
- package/dist/tools/memory.acknowledge.js.map +1 -1
- package/dist/tools/memory.delete.d.ts.map +1 -1
- package/dist/tools/memory.delete.js +0 -2
- package/dist/tools/memory.delete.js.map +1 -1
- package/dist/tools/memory.search.d.ts.map +1 -1
- package/dist/tools/memory.search.js +0 -1
- package/dist/tools/memory.search.js.map +1 -1
- package/dist/tools/memory.store.d.ts.map +1 -1
- package/dist/tools/memory.store.js +0 -2
- package/dist/tools/memory.store.js.map +1 -1
- package/dist/tools/schemas.d.ts +30 -3
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/schemas.js +16 -4
- package/dist/tools/schemas.js.map +1 -1
- package/dist/tools/task.bulk-manage.d.ts.map +1 -1
- package/dist/tools/task.bulk-manage.js +0 -2
- package/dist/tools/task.bulk-manage.js.map +1 -1
- package/dist/tools/task.manage.d.ts.map +1 -1
- package/dist/tools/task.manage.js +19 -4
- package/dist/tools/task.manage.js.map +1 -1
- package/dist/types.d.ts +22 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/router.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { listResources, readResource } from "./resources/index.js";
|
|
2
|
+
import { logger } from "./utils/logger.js";
|
|
2
3
|
import { PROMPTS } from "./prompts/registry.js";
|
|
3
4
|
import { TOOL_DEFINITIONS } from "./tools/schemas.js";
|
|
4
5
|
import { handleMemoryStore } from "./tools/memory.store.js";
|
|
@@ -42,36 +43,67 @@ export function createRouter(db, vectors) {
|
|
|
42
43
|
const { name, arguments: args } = params;
|
|
43
44
|
// Normalize tool naming: accept both dot (memory.store) and hyphen (memory-store)
|
|
44
45
|
const toolName = String(name).replace(/\./g, "-");
|
|
46
|
+
let result;
|
|
47
|
+
let repo = args?.repo || args?.scope?.repo || "unknown";
|
|
45
48
|
switch (toolName) {
|
|
46
49
|
case "memory-store":
|
|
47
|
-
|
|
50
|
+
result = await handleMemoryStore(args, db, vectors);
|
|
51
|
+
break;
|
|
48
52
|
case "memory-acknowledge":
|
|
49
|
-
|
|
53
|
+
result = await handleMemoryAcknowledge(args, db);
|
|
54
|
+
break;
|
|
50
55
|
case "memory-update":
|
|
51
|
-
|
|
56
|
+
result = await handleMemoryUpdate(args, db, vectors);
|
|
57
|
+
break;
|
|
52
58
|
case "memory-recap":
|
|
53
|
-
|
|
59
|
+
result = await handleMemoryRecap(args, db);
|
|
60
|
+
break;
|
|
54
61
|
case "memory-search":
|
|
55
|
-
|
|
62
|
+
result = await handleMemorySearch(args, db, vectors);
|
|
63
|
+
break;
|
|
56
64
|
case "memory-summarize":
|
|
57
|
-
|
|
65
|
+
result = await handleMemorySummarize(args, db);
|
|
66
|
+
break;
|
|
58
67
|
case "memory-delete":
|
|
59
|
-
|
|
68
|
+
result = await handleMemoryDelete(args, db, vectors);
|
|
69
|
+
break;
|
|
60
70
|
case "memory-bulk-delete":
|
|
61
|
-
|
|
71
|
+
result = await handleMemoryBulkDelete(args, db, vectors);
|
|
72
|
+
break;
|
|
62
73
|
case "task-create":
|
|
63
|
-
|
|
74
|
+
result = await handleTaskCreate(args, db);
|
|
75
|
+
break;
|
|
64
76
|
case "task-update":
|
|
65
|
-
|
|
77
|
+
result = await handleTaskUpdate(args, db);
|
|
78
|
+
break;
|
|
66
79
|
case "task-delete":
|
|
67
|
-
|
|
80
|
+
result = await handleTaskDelete(args, db);
|
|
81
|
+
break;
|
|
68
82
|
case "task-list":
|
|
69
|
-
|
|
83
|
+
result = await handleTaskList(args, db);
|
|
84
|
+
break;
|
|
70
85
|
case "task-bulk-manage":
|
|
71
|
-
|
|
86
|
+
result = await handleTaskBulkManage(args, db);
|
|
87
|
+
break;
|
|
72
88
|
default:
|
|
73
89
|
throw new Error(`Unknown tool: ${name}`);
|
|
74
90
|
}
|
|
91
|
+
// Log the action
|
|
92
|
+
try {
|
|
93
|
+
const actionType = toolName.split("-")[1] || toolName;
|
|
94
|
+
const options = {
|
|
95
|
+
query: args?.query || args?.title || args?.task_code || (toolName === 'memory-recap' ? `Offset: ${args?.offset || 0}` : undefined),
|
|
96
|
+
response: result,
|
|
97
|
+
memoryId: args?.id || args?.memory_id || (result?.data?.id),
|
|
98
|
+
taskId: args?.id || args?.task_id || (result?.data?.id),
|
|
99
|
+
resultCount: Array.isArray(result?.data?.results) ? result.data.results.length : (result?.data?.count || 0)
|
|
100
|
+
};
|
|
101
|
+
db.logAction(actionType, repo, options);
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
logger.error("Failed to log action", { toolName, error: String(e) });
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
75
107
|
}
|
|
76
108
|
return handleMethod;
|
|
77
109
|
}
|
package/dist/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC9G,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,UAAU,YAAY,CAC1B,EAAe,EACf,OAAoB;IAEpB,KAAK,UAAU,YAAY,CAAC,MAAc,EAAE,MAAW;QACrD,QAAQ,MAAM,EAAE,CAAC;YACf,kBAAkB;YAClB,KAAK,YAAY;gBACf,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;YAErC,KAAK,YAAY;gBACf,OAAO,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAEtC,sBAAsB;YACtB,KAAK,gBAAgB;gBACnB,OAAO,aAAa,EAAE,CAAC;YAEzB,KAAK,gBAAgB;gBACnB,OAAO,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;YAEvC,oBAAoB;YACpB,KAAK,cAAc;gBACjB,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAE7C,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,IAA4B,CAAC,CAAC;gBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,KAAK,UAAU,cAAc,CAAC,MAAW;QACvC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACzC,kFAAkF;QAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAElD,QAAQ,QAAQ,EAAE,CAAC;YACjB,KAAK,cAAc;gBACjB,
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/sqlite.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export declare class SQLiteStore {
|
|
|
26
26
|
byType: Record<string, number>;
|
|
27
27
|
unused: number;
|
|
28
28
|
};
|
|
29
|
+
getTaskStats(repo?: string): any;
|
|
30
|
+
getDashboardStats(repo?: string): any;
|
|
29
31
|
listRepoNavigation(): Array<{
|
|
30
32
|
repo: string;
|
|
31
33
|
memory_count: number;
|
|
@@ -50,6 +52,8 @@ export declare class SQLiteStore {
|
|
|
50
52
|
getTaskById(id: string): any | null;
|
|
51
53
|
isTaskCodeDuplicate(repo: string, task_code: string, excludeId?: string): boolean;
|
|
52
54
|
private rowToTask;
|
|
55
|
+
insertTaskComment(comment: any): void;
|
|
56
|
+
getTaskCommentsByTaskId(taskId: string): any[];
|
|
53
57
|
getRecentMemories(repo: string, limit: number, offset?: number, includeArchived?: boolean): MemoryEntry[];
|
|
54
58
|
getTotalCount(repo: string, includeArchived?: boolean): number;
|
|
55
59
|
getVectorCandidates(repo?: string, limit?: number): any[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAe,MAAM,aAAa,CAAC;AAwDvD,qBAAa,WAAW;IACtB,OAAO,CAAC,EAAE,CAAoB;gBAElB,MAAM,CAAC,EAAE,MAAM;IAepB,SAAS,IAAI,MAAM;IAI1B,OAAO,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/sqlite.js
CHANGED
|
@@ -73,7 +73,9 @@ export class SQLiteStore {
|
|
|
73
73
|
'code_fact',
|
|
74
74
|
'decision',
|
|
75
75
|
'mistake',
|
|
76
|
-
'pattern'
|
|
76
|
+
'pattern',
|
|
77
|
+
'agent_handoff',
|
|
78
|
+
'agent_registered'
|
|
77
79
|
)),
|
|
78
80
|
title TEXT,
|
|
79
81
|
content TEXT NOT NULL,
|
|
@@ -145,6 +147,24 @@ export class SQLiteStore {
|
|
|
145
147
|
CREATE INDEX IF NOT EXISTS idx_tasks_priority ON tasks(priority);
|
|
146
148
|
CREATE INDEX IF NOT EXISTS idx_tasks_created_at ON tasks(created_at);
|
|
147
149
|
|
|
150
|
+
CREATE TABLE IF NOT EXISTS task_comments (
|
|
151
|
+
id TEXT PRIMARY KEY,
|
|
152
|
+
task_id TEXT NOT NULL,
|
|
153
|
+
repo TEXT NOT NULL,
|
|
154
|
+
comment TEXT NOT NULL,
|
|
155
|
+
agent TEXT NOT NULL DEFAULT 'unknown',
|
|
156
|
+
role TEXT NOT NULL DEFAULT 'unknown',
|
|
157
|
+
model TEXT NOT NULL DEFAULT 'unknown',
|
|
158
|
+
previous_status TEXT,
|
|
159
|
+
next_status TEXT,
|
|
160
|
+
created_at TEXT NOT NULL,
|
|
161
|
+
FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE
|
|
162
|
+
);
|
|
163
|
+
|
|
164
|
+
CREATE INDEX IF NOT EXISTS idx_task_comments_task_id ON task_comments(task_id);
|
|
165
|
+
CREATE INDEX IF NOT EXISTS idx_task_comments_repo ON task_comments(repo);
|
|
166
|
+
CREATE INDEX IF NOT EXISTS idx_task_comments_created_at ON task_comments(created_at DESC);
|
|
167
|
+
|
|
148
168
|
CREATE TABLE IF NOT EXISTS memories_archive (
|
|
149
169
|
id TEXT PRIMARY KEY,
|
|
150
170
|
repo TEXT NOT NULL,
|
|
@@ -170,6 +190,7 @@ export class SQLiteStore {
|
|
|
170
190
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
171
191
|
action TEXT NOT NULL,
|
|
172
192
|
query TEXT,
|
|
193
|
+
response TEXT,
|
|
173
194
|
memory_id TEXT,
|
|
174
195
|
task_id TEXT,
|
|
175
196
|
repo TEXT NOT NULL,
|
|
@@ -202,6 +223,7 @@ export class SQLiteStore {
|
|
|
202
223
|
{ name: "agent", table: "tasks", definition: "ALTER TABLE tasks ADD COLUMN agent TEXT NOT NULL DEFAULT 'unknown'" },
|
|
203
224
|
{ name: "role", table: "tasks", definition: "ALTER TABLE tasks ADD COLUMN role TEXT NOT NULL DEFAULT 'unknown'" },
|
|
204
225
|
{ name: "doc_path", table: "tasks", definition: "ALTER TABLE tasks ADD COLUMN doc_path TEXT" },
|
|
226
|
+
{ name: "response", table: "action_log", definition: "ALTER TABLE action_log ADD COLUMN response TEXT" },
|
|
205
227
|
];
|
|
206
228
|
for (const col of columnsToAdd) {
|
|
207
229
|
try {
|
|
@@ -410,6 +432,63 @@ export class SQLiteStore {
|
|
|
410
432
|
const unused = (repo ? unusedStmt.get(repo) : unusedStmt.get());
|
|
411
433
|
return { total, byType, unused: unused?.count || 0 };
|
|
412
434
|
}
|
|
435
|
+
getTaskStats(repo) {
|
|
436
|
+
let query = "SELECT status, COUNT(*) as count FROM tasks";
|
|
437
|
+
const params = [];
|
|
438
|
+
if (repo) {
|
|
439
|
+
query += " WHERE repo = ?";
|
|
440
|
+
params.push(repo);
|
|
441
|
+
}
|
|
442
|
+
query += " GROUP BY status";
|
|
443
|
+
const rows = this.db.prepare(query).all(...params);
|
|
444
|
+
const stats = {
|
|
445
|
+
total: 0,
|
|
446
|
+
todo: 0,
|
|
447
|
+
inProgress: 0,
|
|
448
|
+
completed: 0,
|
|
449
|
+
blocked: 0,
|
|
450
|
+
canceled: 0
|
|
451
|
+
};
|
|
452
|
+
for (const row of rows) {
|
|
453
|
+
stats.total += row.count;
|
|
454
|
+
if (row.status === "pending")
|
|
455
|
+
stats.todo = row.count;
|
|
456
|
+
else if (row.status === "in_progress")
|
|
457
|
+
stats.inProgress = row.count;
|
|
458
|
+
else if (row.status === "completed")
|
|
459
|
+
stats.completed = row.count;
|
|
460
|
+
else if (row.status === "blocked")
|
|
461
|
+
stats.blocked = row.count;
|
|
462
|
+
else if (row.status === "canceled")
|
|
463
|
+
stats.canceled = row.count;
|
|
464
|
+
}
|
|
465
|
+
return stats;
|
|
466
|
+
}
|
|
467
|
+
getDashboardStats(repo) {
|
|
468
|
+
const memoryStats = this.getStats(repo);
|
|
469
|
+
const taskStats = this.getTaskStats(repo);
|
|
470
|
+
// Additional stats for dashboard
|
|
471
|
+
let importanceSql = "SELECT AVG(importance) as avg FROM memories";
|
|
472
|
+
let hitsSql = "SELECT SUM(hit_count) as totalHits FROM memories";
|
|
473
|
+
let expiringSql = "SELECT COUNT(*) as count FROM memories WHERE expires_at IS NOT NULL AND expires_at < date('now', '+7 days')";
|
|
474
|
+
const params = [];
|
|
475
|
+
if (repo) {
|
|
476
|
+
importanceSql += " WHERE repo = ?";
|
|
477
|
+
hitsSql += " WHERE repo = ?";
|
|
478
|
+
expiringSql += " AND repo = ?";
|
|
479
|
+
params.push(repo);
|
|
480
|
+
}
|
|
481
|
+
const avgImportance = this.db.prepare(importanceSql).get(...params)?.avg || 0;
|
|
482
|
+
const totalHitCount = this.db.prepare(hitsSql).get(...params)?.totalHits || 0;
|
|
483
|
+
const expiringSoon = this.db.prepare(expiringSql).get(...params)?.count || 0;
|
|
484
|
+
return {
|
|
485
|
+
...memoryStats,
|
|
486
|
+
avgImportance: avgImportance.toFixed(1),
|
|
487
|
+
totalHitCount,
|
|
488
|
+
expiringSoon,
|
|
489
|
+
taskStats
|
|
490
|
+
};
|
|
491
|
+
}
|
|
413
492
|
listRepoNavigation() {
|
|
414
493
|
return this.db.prepare(`
|
|
415
494
|
SELECT repo, COUNT(*) AS memory_count, MAX(COALESCE(updated_at, created_at)) AS last_updated_at
|
|
@@ -533,7 +612,7 @@ export class SQLiteStore {
|
|
|
533
612
|
const fields = [];
|
|
534
613
|
const values = [];
|
|
535
614
|
Object.keys(updates).forEach(key => {
|
|
536
|
-
if (updates[key] !== undefined) {
|
|
615
|
+
if (key !== "comment" && key !== "model" && updates[key] !== undefined) {
|
|
537
616
|
if (key === 'tags' || key === 'metadata') {
|
|
538
617
|
fields.push(`${key} = ?`);
|
|
539
618
|
values.push(JSON.stringify(updates[key]));
|
|
@@ -553,14 +632,19 @@ export class SQLiteStore {
|
|
|
553
632
|
stmt.run(...values);
|
|
554
633
|
}
|
|
555
634
|
getTasksByRepo(repo, status, limit, offset, search) {
|
|
556
|
-
let query =
|
|
635
|
+
let query = `
|
|
636
|
+
SELECT t.*, d.task_code as depends_on_code
|
|
637
|
+
FROM tasks t
|
|
638
|
+
LEFT JOIN tasks d ON t.depends_on = d.id
|
|
639
|
+
WHERE t.repo = ?
|
|
640
|
+
`;
|
|
557
641
|
const params = [repo];
|
|
558
642
|
if (status) {
|
|
559
|
-
query += " AND status = ?";
|
|
643
|
+
query += " AND t.status = ?";
|
|
560
644
|
params.push(status);
|
|
561
645
|
}
|
|
562
646
|
if (search) {
|
|
563
|
-
query += " AND (title LIKE ? OR description LIKE ? OR task_code LIKE ?)";
|
|
647
|
+
query += " AND (t.title LIKE ? OR t.description LIKE ? OR t.task_code LIKE ?)";
|
|
564
648
|
const searchPattern = `%${search}%`;
|
|
565
649
|
params.push(searchPattern, searchPattern, searchPattern);
|
|
566
650
|
}
|
|
@@ -568,7 +652,7 @@ export class SQLiteStore {
|
|
|
568
652
|
// 1. Completed tasks at the bottom (or top if specified)
|
|
569
653
|
// 2. Priority for others
|
|
570
654
|
// 3. Created date
|
|
571
|
-
query += " ORDER BY status DESC, priority DESC, created_at ASC";
|
|
655
|
+
query += " ORDER BY t.status DESC, t.priority DESC, t.created_at ASC";
|
|
572
656
|
if (limit !== undefined) {
|
|
573
657
|
query += " LIMIT ?";
|
|
574
658
|
params.push(limit);
|
|
@@ -583,14 +667,19 @@ export class SQLiteStore {
|
|
|
583
667
|
getTasksByMultipleStatuses(repo, statuses, limit, offset, search) {
|
|
584
668
|
if (!statuses.length)
|
|
585
669
|
return this.getTasksByRepo(repo, undefined, limit, offset, search);
|
|
586
|
-
let query = `
|
|
670
|
+
let query = `
|
|
671
|
+
SELECT t.*, d.task_code as depends_on_code
|
|
672
|
+
FROM tasks t
|
|
673
|
+
LEFT JOIN tasks d ON t.depends_on = d.id
|
|
674
|
+
WHERE t.repo = ? AND t.status IN (${statuses.map(() => '?').join(',')})
|
|
675
|
+
`;
|
|
587
676
|
const params = [repo, ...statuses];
|
|
588
677
|
if (search) {
|
|
589
|
-
query += " AND (title LIKE ? OR description LIKE ? OR task_code LIKE ?)";
|
|
678
|
+
query += " AND (t.title LIKE ? OR t.description LIKE ? OR t.task_code LIKE ?)";
|
|
590
679
|
const searchPattern = `%${search}%`;
|
|
591
680
|
params.push(searchPattern, searchPattern, searchPattern);
|
|
592
681
|
}
|
|
593
|
-
query += " ORDER BY priority DESC, created_at ASC";
|
|
682
|
+
query += " ORDER BY t.priority DESC, t.created_at ASC";
|
|
594
683
|
if (limit !== undefined) {
|
|
595
684
|
query += " LIMIT ?";
|
|
596
685
|
params.push(limit);
|
|
@@ -603,11 +692,17 @@ export class SQLiteStore {
|
|
|
603
692
|
return rows.map(r => this.rowToTask(r));
|
|
604
693
|
}
|
|
605
694
|
deleteTask(id) {
|
|
695
|
+
this.db.prepare("DELETE FROM task_comments WHERE task_id = ?").run(id);
|
|
606
696
|
this.db.prepare("DELETE FROM tasks WHERE id = ?").run(id);
|
|
607
697
|
}
|
|
608
698
|
getTaskById(id) {
|
|
609
|
-
const row = this.db.prepare(
|
|
610
|
-
|
|
699
|
+
const row = this.db.prepare(`
|
|
700
|
+
SELECT t.*, d.task_code as depends_on_code
|
|
701
|
+
FROM tasks t
|
|
702
|
+
LEFT JOIN tasks d ON t.depends_on = d.id
|
|
703
|
+
WHERE t.id = ?
|
|
704
|
+
`).get(id);
|
|
705
|
+
return row ? { ...this.rowToTask(row), comments: this.getTaskCommentsByTaskId(id) } : null;
|
|
611
706
|
}
|
|
612
707
|
isTaskCodeDuplicate(repo, task_code, excludeId) {
|
|
613
708
|
let query = "SELECT COUNT(*) as count FROM tasks WHERE repo = ? AND task_code = ?";
|
|
@@ -638,6 +733,20 @@ export class SQLiteStore {
|
|
|
638
733
|
metadata
|
|
639
734
|
};
|
|
640
735
|
}
|
|
736
|
+
insertTaskComment(comment) {
|
|
737
|
+
this.db.prepare(`
|
|
738
|
+
INSERT INTO task_comments (
|
|
739
|
+
id, task_id, repo, comment, agent, role, model, previous_status, next_status, created_at
|
|
740
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
741
|
+
`).run(comment.id, comment.task_id, comment.repo, comment.comment, comment.agent || "unknown", comment.role || "unknown", comment.model || "unknown", comment.previous_status || null, comment.next_status || null, comment.created_at);
|
|
742
|
+
}
|
|
743
|
+
getTaskCommentsByTaskId(taskId) {
|
|
744
|
+
return this.db.prepare(`
|
|
745
|
+
SELECT * FROM task_comments
|
|
746
|
+
WHERE task_id = ?
|
|
747
|
+
ORDER BY created_at DESC, id DESC
|
|
748
|
+
`).all(taskId);
|
|
749
|
+
}
|
|
641
750
|
getRecentMemories(repo, limit, offset = 0, includeArchived = false) {
|
|
642
751
|
let query = "SELECT * FROM memories WHERE repo = ?";
|
|
643
752
|
if (!includeArchived) {
|
|
@@ -691,7 +800,7 @@ export class SQLiteStore {
|
|
|
691
800
|
return null;
|
|
692
801
|
}
|
|
693
802
|
logAction(action, repo, options = {}) {
|
|
694
|
-
this.db.prepare(`INSERT INTO action_log (action, query, memory_id, task_id, repo, result_count, created_at) VALUES (?, ?, ?, ?, ?, ?, ?)`).run(action, options.query || null, options.memoryId || null, options.taskId || null, repo, options.resultCount || 0, new Date().toISOString());
|
|
803
|
+
this.db.prepare(`INSERT INTO action_log (action, query, response, memory_id, task_id, repo, result_count, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(action, options.query || null, options.response ? (typeof options.response === 'string' ? options.response : JSON.stringify(options.response)) : null, options.memoryId || null, options.taskId || null, repo, options.resultCount || 0, new Date().toISOString());
|
|
695
804
|
}
|
|
696
805
|
getRecentActions(repo, limit = 20) {
|
|
697
806
|
let sql = `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
|
package/dist/tasks.e2e.test.js
CHANGED
|
@@ -64,7 +64,11 @@ describe("MCP Local Memory - Task Management Workflow E2E", () => {
|
|
|
64
64
|
arguments: {
|
|
65
65
|
repo: REPO,
|
|
66
66
|
id: taskAId,
|
|
67
|
-
status: "in_progress"
|
|
67
|
+
status: "in_progress",
|
|
68
|
+
comment: "Started architecture review",
|
|
69
|
+
agent: "Agent A",
|
|
70
|
+
role: "backend",
|
|
71
|
+
model: "gpt-5.4"
|
|
68
72
|
}
|
|
69
73
|
});
|
|
70
74
|
const inProgressRes = await router("resources/read", { uri: `tasks://current?repo=${REPO}` });
|
|
@@ -76,7 +80,11 @@ describe("MCP Local Memory - Task Management Workflow E2E", () => {
|
|
|
76
80
|
arguments: {
|
|
77
81
|
repo: REPO,
|
|
78
82
|
id: taskAId,
|
|
79
|
-
status: "completed"
|
|
83
|
+
status: "completed",
|
|
84
|
+
comment: "Architecture review finished and documented",
|
|
85
|
+
agent: "Agent A",
|
|
86
|
+
role: "backend",
|
|
87
|
+
model: "gpt-5.4"
|
|
80
88
|
}
|
|
81
89
|
});
|
|
82
90
|
const afterARes = await router("resources/read", { uri: `tasks://current?repo=${REPO}` });
|
|
@@ -89,12 +97,83 @@ describe("MCP Local Memory - Task Management Workflow E2E", () => {
|
|
|
89
97
|
arguments: {
|
|
90
98
|
repo: REPO,
|
|
91
99
|
id: taskBId,
|
|
92
|
-
status: "in_progress"
|
|
100
|
+
status: "in_progress",
|
|
101
|
+
comment: "Implementation started after dependency was cleared",
|
|
102
|
+
agent: "Agent B",
|
|
103
|
+
role: "frontend",
|
|
104
|
+
model: "gpt-5.4-mini"
|
|
93
105
|
}
|
|
94
106
|
});
|
|
95
107
|
const finalCheckRes = await router("resources/read", { uri: `tasks://current?repo=${REPO}` });
|
|
96
108
|
const finalCheckTasks = JSON.parse(finalCheckRes.contents[0].text);
|
|
97
109
|
expect(finalCheckTasks[0].status).toBe("in_progress");
|
|
110
|
+
const updatedTask = db.getTaskById(taskBId);
|
|
111
|
+
expect(updatedTask.comments).toHaveLength(1);
|
|
112
|
+
expect(updatedTask.comments[0].comment).toContain("Implementation started");
|
|
113
|
+
expect(updatedTask.comments[0].agent).toBe("Agent B");
|
|
114
|
+
expect(updatedTask.comments[0].model).toBe("gpt-5.4-mini");
|
|
115
|
+
expect(updatedTask.comments[0].previous_status).toBe("pending");
|
|
116
|
+
expect(updatedTask.comments[0].next_status).toBe("in_progress");
|
|
117
|
+
});
|
|
118
|
+
it("requires comment when status changes", async () => {
|
|
119
|
+
await router("tools/call", {
|
|
120
|
+
name: "task-create",
|
|
121
|
+
arguments: {
|
|
122
|
+
repo: REPO,
|
|
123
|
+
task_code: "TASK-003",
|
|
124
|
+
phase: "implementation",
|
|
125
|
+
title: "Comment enforcement",
|
|
126
|
+
description: "Task used to verify status change comment enforcement",
|
|
127
|
+
status: "pending",
|
|
128
|
+
priority: 3
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
const taskId = db.getTasksByRepo(REPO).find(t => t.task_code === "TASK-003")?.id;
|
|
132
|
+
expect(taskId).toBeDefined();
|
|
133
|
+
await expect(router("tools/call", {
|
|
134
|
+
name: "task-update",
|
|
135
|
+
arguments: {
|
|
136
|
+
repo: REPO,
|
|
137
|
+
id: taskId,
|
|
138
|
+
status: "in_progress",
|
|
139
|
+
agent: "TestAgent",
|
|
140
|
+
role: "testing"
|
|
141
|
+
}
|
|
142
|
+
})).rejects.toThrow("comment is required when updating task status");
|
|
143
|
+
});
|
|
144
|
+
it("stores standalone comments without mutating description", async () => {
|
|
145
|
+
await router("tools/call", {
|
|
146
|
+
name: "task-create",
|
|
147
|
+
arguments: {
|
|
148
|
+
repo: REPO,
|
|
149
|
+
task_code: "TASK-004",
|
|
150
|
+
phase: "implementation",
|
|
151
|
+
title: "Standalone comments",
|
|
152
|
+
description: "Original description",
|
|
153
|
+
status: "pending",
|
|
154
|
+
priority: 3,
|
|
155
|
+
agent: "Seeder",
|
|
156
|
+
role: "user"
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
const taskId = db.getTasksByRepo(REPO).find(t => t.task_code === "TASK-004")?.id;
|
|
160
|
+
expect(taskId).toBeDefined();
|
|
161
|
+
await router("tools/call", {
|
|
162
|
+
name: "task-update",
|
|
163
|
+
arguments: {
|
|
164
|
+
repo: REPO,
|
|
165
|
+
id: taskId,
|
|
166
|
+
comment: "Investigated root cause and prepared next steps",
|
|
167
|
+
agent: "Agent C",
|
|
168
|
+
role: "security",
|
|
169
|
+
model: "gpt-5.4"
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
const task = db.getTaskById(taskId);
|
|
173
|
+
expect(task.description).toBe("Original description");
|
|
174
|
+
expect(task.comments).toHaveLength(1);
|
|
175
|
+
expect(task.comments[0].previous_status).toBeNull();
|
|
176
|
+
expect(task.comments[0].next_status).toBeNull();
|
|
98
177
|
});
|
|
99
178
|
});
|
|
100
179
|
//# sourceMappingURL=tasks.e2e.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tasks.e2e.test.js","sourceRoot":"","sources":["../src/tasks.e2e.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAM,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,IAAI,EAAe,CAAC;IACpB,IAAI,OAAoB,CAAC;IACzB,IAAI,MAAqD,CAAC;IAE1D,MAAM,IAAI,GAAG,oBAAoB,CAAC;IAElC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;QACjC,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,GAAG,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,6BAA6B;QAC7B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE;YAChD,GAAG,EAAE,wBAAwB,IAAI,EAAE;SACpC,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE;YAC1C,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,uBAAuB;gBAC9B,WAAW,EAAE,6DAA6D;gBAC1E,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE9C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE;YAC1C,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,UAAU;gBACrB,KAAK,EAAE,gBAAgB;gBACvB,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EAAE,iDAAiD;gBAC9D,MAAM,EAAE,SAAS;gBACjB,UAAU,EAAE,OAAO;gBACnB,QAAQ,EAAE,CAAC;aACZ;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC;QAEjF,0BAA0B;QAC1B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,wBAAwB,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpC,8BAA8B;QAC9B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE;YAC7C,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;SAC1B,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAErC,+BAA+B;QAC/B,MAAM,MAAM,CAAC,YAAY,EAAE;YACzB,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE;gBACT,IAAI,EAAE,IAAI;gBACV,EAAE,EAAE,OAAO;gBACX,MAAM,EAAE,aAAa;
|
|
1
|
+
{"version":3,"file":"tasks.e2e.test.js","sourceRoot":"","sources":["../src/tasks.e2e.test.ts"],"names":[],"mappings":"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"}
|