@vheins/local-memory-mcp 0.3.23 → 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.
Files changed (38) hide show
  1. package/dist/dashboard/public/app.js +323 -82
  2. package/dist/dashboard/public/index.html +255 -83
  3. package/dist/dashboard/server.js +16 -1
  4. package/dist/dashboard/server.js.map +1 -1
  5. package/dist/router.d.ts.map +1 -1
  6. package/dist/router.js +45 -13
  7. package/dist/router.js.map +1 -1
  8. package/dist/storage/sqlite.d.ts +4 -0
  9. package/dist/storage/sqlite.d.ts.map +1 -1
  10. package/dist/storage/sqlite.js +121 -12
  11. package/dist/storage/sqlite.js.map +1 -1
  12. package/dist/tasks.e2e.test.js +82 -3
  13. package/dist/tasks.e2e.test.js.map +1 -1
  14. package/dist/tools/memory.acknowledge.d.ts.map +1 -1
  15. package/dist/tools/memory.acknowledge.js +0 -2
  16. package/dist/tools/memory.acknowledge.js.map +1 -1
  17. package/dist/tools/memory.delete.d.ts.map +1 -1
  18. package/dist/tools/memory.delete.js +0 -2
  19. package/dist/tools/memory.delete.js.map +1 -1
  20. package/dist/tools/memory.search.d.ts.map +1 -1
  21. package/dist/tools/memory.search.js +0 -1
  22. package/dist/tools/memory.search.js.map +1 -1
  23. package/dist/tools/memory.store.d.ts.map +1 -1
  24. package/dist/tools/memory.store.js +0 -2
  25. package/dist/tools/memory.store.js.map +1 -1
  26. package/dist/tools/schemas.d.ts +30 -3
  27. package/dist/tools/schemas.d.ts.map +1 -1
  28. package/dist/tools/schemas.js +16 -4
  29. package/dist/tools/schemas.js.map +1 -1
  30. package/dist/tools/task.bulk-manage.d.ts.map +1 -1
  31. package/dist/tools/task.bulk-manage.js +0 -2
  32. package/dist/tools/task.bulk-manage.js.map +1 -1
  33. package/dist/tools/task.manage.d.ts.map +1 -1
  34. package/dist/tools/task.manage.js +19 -4
  35. package/dist/tools/task.manage.js.map +1 -1
  36. package/dist/types.d.ts +22 -1
  37. package/dist/types.d.ts.map +1 -1
  38. 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
- return await handleMemoryStore(args, db, vectors);
50
+ result = await handleMemoryStore(args, db, vectors);
51
+ break;
48
52
  case "memory-acknowledge":
49
- return await handleMemoryAcknowledge(args, db);
53
+ result = await handleMemoryAcknowledge(args, db);
54
+ break;
50
55
  case "memory-update":
51
- return await handleMemoryUpdate(args, db, vectors);
56
+ result = await handleMemoryUpdate(args, db, vectors);
57
+ break;
52
58
  case "memory-recap":
53
- return await handleMemoryRecap(args, db);
59
+ result = await handleMemoryRecap(args, db);
60
+ break;
54
61
  case "memory-search":
55
- return await handleMemorySearch(args, db, vectors);
62
+ result = await handleMemorySearch(args, db, vectors);
63
+ break;
56
64
  case "memory-summarize":
57
- return await handleMemorySummarize(args, db);
65
+ result = await handleMemorySummarize(args, db);
66
+ break;
58
67
  case "memory-delete":
59
- return await handleMemoryDelete(args, db, vectors);
68
+ result = await handleMemoryDelete(args, db, vectors);
69
+ break;
60
70
  case "memory-bulk-delete":
61
- return await handleMemoryBulkDelete(args, db, vectors);
71
+ result = await handleMemoryBulkDelete(args, db, vectors);
72
+ break;
62
73
  case "task-create":
63
- return await handleTaskCreate(args, db);
74
+ result = await handleTaskCreate(args, db);
75
+ break;
64
76
  case "task-update":
65
- return await handleTaskUpdate(args, db);
77
+ result = await handleTaskUpdate(args, db);
78
+ break;
66
79
  case "task-delete":
67
- return await handleTaskDelete(args, db);
80
+ result = await handleTaskDelete(args, db);
81
+ break;
68
82
  case "task-list":
69
- return await handleTaskList(args, db);
83
+ result = await handleTaskList(args, db);
84
+ break;
70
85
  case "task-bulk-manage":
71
- return await handleTaskBulkManage(args, db);
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
  }
@@ -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,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAEpD,KAAK,oBAAoB;gBACvB,OAAO,MAAM,uBAAuB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAEjD,KAAK,eAAe;gBAClB,OAAO,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAErD,KAAK,cAAc;gBACjB,OAAO,MAAM,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAE3C,KAAK,eAAe;gBAClB,OAAO,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAErD,KAAK,kBAAkB;gBACrB,OAAO,MAAM,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAE/C,KAAK,eAAe;gBAClB,OAAO,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAErD,KAAK,oBAAoB;gBACvB,OAAO,MAAM,sBAAsB,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAEzD,KAAK,aAAa;gBAChB,OAAO,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAE1C,KAAK,aAAa;gBAChB,OAAO,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAE1C,KAAK,aAAa;gBAChB,OAAO,MAAM,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAE1C,KAAK,WAAW;gBACd,OAAO,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAExC,KAAK,kBAAkB;gBACrB,OAAO,MAAM,oBAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAE9C;gBACE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
@@ -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 = "SELECT * FROM tasks WHERE repo = ?";
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 = `SELECT * FROM tasks WHERE repo = ? AND status IN (${statuses.map(() => '?').join(',')})`;
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("SELECT * FROM tasks WHERE id = ?").get(id);
610
- return row ? this.rowToTask(row) : null;
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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"}
@@ -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":"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"}
1
+ {"version":3,"file":"tasks.e2e.test.js","sourceRoot":"","sources":["../src/tasks.e2e.test.ts"],"names":[],"mappings":"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"}