engram-mcp-server 1.2.8 → 1.4.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.
Files changed (288) hide show
  1. package/README.md +131 -24
  2. package/dist/constants.d.ts +12 -1
  3. package/dist/constants.d.ts.map +1 -1
  4. package/dist/constants.js +19 -1
  5. package/dist/constants.js.map +1 -1
  6. package/dist/database.d.ts +9 -0
  7. package/dist/database.d.ts.map +1 -1
  8. package/dist/database.js +16 -0
  9. package/dist/database.js.map +1 -1
  10. package/dist/index.js +16 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/installer/config-writer.d.ts +11 -2
  13. package/dist/installer/config-writer.d.ts.map +1 -1
  14. package/dist/installer/config-writer.js +28 -3
  15. package/dist/installer/config-writer.js.map +1 -1
  16. package/dist/installer/ide-detector.d.ts.map +1 -1
  17. package/dist/installer/ide-detector.js +10 -6
  18. package/dist/installer/ide-detector.js.map +1 -1
  19. package/dist/installer/index.d.ts.map +1 -1
  20. package/dist/installer/index.js +156 -23
  21. package/dist/installer/index.js.map +1 -1
  22. package/dist/repositories/changes.repo.d.ts.map +1 -1
  23. package/dist/repositories/changes.repo.js +5 -3
  24. package/dist/repositories/changes.repo.js.map +1 -1
  25. package/dist/repositories/config.repo.d.ts +5 -0
  26. package/dist/repositories/config.repo.d.ts.map +1 -1
  27. package/dist/repositories/config.repo.js +8 -0
  28. package/dist/repositories/config.repo.js.map +1 -1
  29. package/dist/repositories/decisions.repo.d.ts +8 -0
  30. package/dist/repositories/decisions.repo.d.ts.map +1 -1
  31. package/dist/repositories/decisions.repo.js +23 -0
  32. package/dist/repositories/decisions.repo.js.map +1 -1
  33. package/dist/repositories/file-notes.repo.d.ts +9 -0
  34. package/dist/repositories/file-notes.repo.d.ts.map +1 -1
  35. package/dist/repositories/file-notes.repo.js +22 -4
  36. package/dist/repositories/file-notes.repo.js.map +1 -1
  37. package/dist/response.d.ts +1 -0
  38. package/dist/response.d.ts.map +1 -1
  39. package/dist/response.js.map +1 -1
  40. package/dist/services/index.d.ts +2 -0
  41. package/dist/services/index.d.ts.map +1 -1
  42. package/dist/services/index.js +1 -0
  43. package/dist/services/index.js.map +1 -1
  44. package/dist/services/update.service.d.ts +29 -0
  45. package/dist/services/update.service.d.ts.map +1 -0
  46. package/dist/services/update.service.js +166 -0
  47. package/dist/services/update.service.js.map +1 -0
  48. package/dist/tools/backup.d.ts.map +1 -1
  49. package/dist/tools/backup.js +20 -45
  50. package/dist/tools/backup.js.map +1 -1
  51. package/dist/tools/changes.d.ts.map +1 -1
  52. package/dist/tools/changes.js +24 -33
  53. package/dist/tools/changes.js.map +1 -1
  54. package/dist/tools/compaction.d.ts.map +1 -1
  55. package/dist/tools/compaction.js +19 -72
  56. package/dist/tools/compaction.js.map +1 -1
  57. package/dist/tools/conventions.d.ts.map +1 -1
  58. package/dist/tools/conventions.js +9 -18
  59. package/dist/tools/conventions.js.map +1 -1
  60. package/dist/tools/decisions.d.ts.map +1 -1
  61. package/dist/tools/decisions.js +71 -45
  62. package/dist/tools/decisions.js.map +1 -1
  63. package/dist/tools/export-import.d.ts.map +1 -1
  64. package/dist/tools/export-import.js +21 -35
  65. package/dist/tools/export-import.js.map +1 -1
  66. package/dist/tools/file-notes.d.ts.map +1 -1
  67. package/dist/tools/file-notes.js +58 -36
  68. package/dist/tools/file-notes.js.map +1 -1
  69. package/dist/tools/intelligence.d.ts.map +1 -1
  70. package/dist/tools/intelligence.js +109 -164
  71. package/dist/tools/intelligence.js.map +1 -1
  72. package/dist/tools/milestones.d.ts.map +1 -1
  73. package/dist/tools/milestones.js +6 -10
  74. package/dist/tools/milestones.js.map +1 -1
  75. package/dist/tools/scheduler.d.ts.map +1 -1
  76. package/dist/tools/scheduler.js +42 -89
  77. package/dist/tools/scheduler.js.map +1 -1
  78. package/dist/tools/sessions.d.ts.map +1 -1
  79. package/dist/tools/sessions.js +131 -226
  80. package/dist/tools/sessions.js.map +1 -1
  81. package/dist/tools/stats.d.ts.map +1 -1
  82. package/dist/tools/stats.js +169 -8
  83. package/dist/tools/stats.js.map +1 -1
  84. package/dist/tools/tasks.d.ts.map +1 -1
  85. package/dist/tools/tasks.js +9 -20
  86. package/dist/tools/tasks.js.map +1 -1
  87. package/dist/utils.d.ts +9 -0
  88. package/dist/utils.d.ts.map +1 -1
  89. package/dist/utils.js +18 -0
  90. package/dist/utils.js.map +1 -1
  91. package/package.json +60 -52
  92. package/scripts/inject-release-notes.js +66 -0
  93. package/dist/installer.d.ts +0 -2
  94. package/dist/installer.d.ts.map +0 -1
  95. package/dist/installer.js +0 -315
  96. package/dist/installer.js.map +0 -1
  97. package/dist/src/constants.d.ts +0 -21
  98. package/dist/src/constants.d.ts.map +0 -1
  99. package/dist/src/constants.js +0 -81
  100. package/dist/src/constants.js.map +0 -1
  101. package/dist/src/database.d.ts +0 -32
  102. package/dist/src/database.d.ts.map +0 -1
  103. package/dist/src/database.js +0 -143
  104. package/dist/src/database.js.map +0 -1
  105. package/dist/src/errors.d.ts +0 -40
  106. package/dist/src/errors.d.ts.map +0 -1
  107. package/dist/src/errors.js +0 -63
  108. package/dist/src/errors.js.map +0 -1
  109. package/dist/src/index.d.ts +0 -3
  110. package/dist/src/index.d.ts.map +0 -1
  111. package/dist/src/index.js +0 -89
  112. package/dist/src/index.js.map +0 -1
  113. package/dist/src/installer/config-writer.d.ts +0 -25
  114. package/dist/src/installer/config-writer.d.ts.map +0 -1
  115. package/dist/src/installer/config-writer.js +0 -86
  116. package/dist/src/installer/config-writer.js.map +0 -1
  117. package/dist/src/installer/ide-configs.d.ts +0 -19
  118. package/dist/src/installer/ide-configs.d.ts.map +0 -1
  119. package/dist/src/installer/ide-configs.js +0 -131
  120. package/dist/src/installer/ide-configs.js.map +0 -1
  121. package/dist/src/installer/ide-detector.d.ts +0 -6
  122. package/dist/src/installer/ide-detector.d.ts.map +0 -1
  123. package/dist/src/installer/ide-detector.js +0 -45
  124. package/dist/src/installer/ide-detector.js.map +0 -1
  125. package/dist/src/installer/index.d.ts +0 -2
  126. package/dist/src/installer/index.d.ts.map +0 -1
  127. package/dist/src/installer/index.js +0 -229
  128. package/dist/src/installer/index.js.map +0 -1
  129. package/dist/src/logger.d.ts +0 -10
  130. package/dist/src/logger.d.ts.map +0 -1
  131. package/dist/src/logger.js +0 -51
  132. package/dist/src/logger.js.map +0 -1
  133. package/dist/src/migrations.d.ts +0 -4
  134. package/dist/src/migrations.d.ts.map +0 -1
  135. package/dist/src/migrations.js +0 -343
  136. package/dist/src/migrations.js.map +0 -1
  137. package/dist/src/repositories/changes.repo.d.ts +0 -35
  138. package/dist/src/repositories/changes.repo.d.ts.map +0 -1
  139. package/dist/src/repositories/changes.repo.js +0 -53
  140. package/dist/src/repositories/changes.repo.js.map +0 -1
  141. package/dist/src/repositories/config.repo.d.ts +0 -11
  142. package/dist/src/repositories/config.repo.d.ts.map +0 -1
  143. package/dist/src/repositories/config.repo.js +0 -38
  144. package/dist/src/repositories/config.repo.js.map +0 -1
  145. package/dist/src/repositories/conventions.repo.d.ts +0 -15
  146. package/dist/src/repositories/conventions.repo.d.ts.map +0 -1
  147. package/dist/src/repositories/conventions.repo.js +0 -39
  148. package/dist/src/repositories/conventions.repo.js.map +0 -1
  149. package/dist/src/repositories/decisions.repo.d.ts +0 -19
  150. package/dist/src/repositories/decisions.repo.d.ts.map +0 -1
  151. package/dist/src/repositories/decisions.repo.js +0 -48
  152. package/dist/src/repositories/decisions.repo.js.map +0 -1
  153. package/dist/src/repositories/events.repo.d.ts +0 -34
  154. package/dist/src/repositories/events.repo.d.ts.map +0 -1
  155. package/dist/src/repositories/events.repo.js +0 -71
  156. package/dist/src/repositories/events.repo.js.map +0 -1
  157. package/dist/src/repositories/file-notes.repo.d.ts +0 -26
  158. package/dist/src/repositories/file-notes.repo.d.ts.map +0 -1
  159. package/dist/src/repositories/file-notes.repo.js +0 -55
  160. package/dist/src/repositories/file-notes.repo.js.map +0 -1
  161. package/dist/src/repositories/index.d.ts +0 -38
  162. package/dist/src/repositories/index.d.ts.map +0 -1
  163. package/dist/src/repositories/index.js +0 -41
  164. package/dist/src/repositories/index.js.map +0 -1
  165. package/dist/src/repositories/milestones.repo.d.ts +0 -10
  166. package/dist/src/repositories/milestones.repo.d.ts.map +0 -1
  167. package/dist/src/repositories/milestones.repo.js +0 -20
  168. package/dist/src/repositories/milestones.repo.js.map +0 -1
  169. package/dist/src/repositories/sessions.repo.d.ts +0 -27
  170. package/dist/src/repositories/sessions.repo.d.ts.map +0 -1
  171. package/dist/src/repositories/sessions.repo.js +0 -61
  172. package/dist/src/repositories/sessions.repo.js.map +0 -1
  173. package/dist/src/repositories/snapshot.repo.d.ts +0 -11
  174. package/dist/src/repositories/snapshot.repo.d.ts.map +0 -1
  175. package/dist/src/repositories/snapshot.repo.js +0 -17
  176. package/dist/src/repositories/snapshot.repo.js.map +0 -1
  177. package/dist/src/repositories/tasks.repo.d.ts +0 -40
  178. package/dist/src/repositories/tasks.repo.d.ts.map +0 -1
  179. package/dist/src/repositories/tasks.repo.js +0 -90
  180. package/dist/src/repositories/tasks.repo.js.map +0 -1
  181. package/dist/src/response.d.ts +0 -28
  182. package/dist/src/response.d.ts.map +0 -1
  183. package/dist/src/response.js +0 -38
  184. package/dist/src/response.js.map +0 -1
  185. package/dist/src/scripts/install-hooks.d.ts +0 -3
  186. package/dist/src/scripts/install-hooks.d.ts.map +0 -1
  187. package/dist/src/scripts/install-hooks.js +0 -89
  188. package/dist/src/scripts/install-hooks.js.map +0 -1
  189. package/dist/src/services/compaction.service.d.ts +0 -27
  190. package/dist/src/services/compaction.service.d.ts.map +0 -1
  191. package/dist/src/services/compaction.service.js +0 -93
  192. package/dist/src/services/compaction.service.js.map +0 -1
  193. package/dist/src/services/event-trigger.service.d.ts +0 -24
  194. package/dist/src/services/event-trigger.service.d.ts.map +0 -1
  195. package/dist/src/services/event-trigger.service.js +0 -60
  196. package/dist/src/services/event-trigger.service.js.map +0 -1
  197. package/dist/src/services/git.service.d.ts +0 -20
  198. package/dist/src/services/git.service.d.ts.map +0 -1
  199. package/dist/src/services/git.service.js +0 -88
  200. package/dist/src/services/git.service.js.map +0 -1
  201. package/dist/src/services/index.d.ts +0 -5
  202. package/dist/src/services/index.d.ts.map +0 -1
  203. package/dist/src/services/index.js +0 -8
  204. package/dist/src/services/index.js.map +0 -1
  205. package/dist/src/services/project-scan.service.d.ts +0 -19
  206. package/dist/src/services/project-scan.service.d.ts.map +0 -1
  207. package/dist/src/services/project-scan.service.js +0 -66
  208. package/dist/src/services/project-scan.service.js.map +0 -1
  209. package/dist/src/tools/backup.d.ts +0 -3
  210. package/dist/src/tools/backup.d.ts.map +0 -1
  211. package/dist/src/tools/backup.js +0 -191
  212. package/dist/src/tools/backup.js.map +0 -1
  213. package/dist/src/tools/changes.d.ts +0 -3
  214. package/dist/src/tools/changes.d.ts.map +0 -1
  215. package/dist/src/tools/changes.js +0 -97
  216. package/dist/src/tools/changes.js.map +0 -1
  217. package/dist/src/tools/compaction.d.ts +0 -3
  218. package/dist/src/tools/compaction.d.ts.map +0 -1
  219. package/dist/src/tools/compaction.js +0 -151
  220. package/dist/src/tools/compaction.js.map +0 -1
  221. package/dist/src/tools/conventions.d.ts +0 -3
  222. package/dist/src/tools/conventions.d.ts.map +0 -1
  223. package/dist/src/tools/conventions.js +0 -121
  224. package/dist/src/tools/conventions.js.map +0 -1
  225. package/dist/src/tools/decisions.d.ts +0 -3
  226. package/dist/src/tools/decisions.d.ts.map +0 -1
  227. package/dist/src/tools/decisions.js +0 -136
  228. package/dist/src/tools/decisions.js.map +0 -1
  229. package/dist/src/tools/export-import.d.ts +0 -3
  230. package/dist/src/tools/export-import.d.ts.map +0 -1
  231. package/dist/src/tools/export-import.js +0 -180
  232. package/dist/src/tools/export-import.js.map +0 -1
  233. package/dist/src/tools/file-notes.d.ts +0 -3
  234. package/dist/src/tools/file-notes.d.ts.map +0 -1
  235. package/dist/src/tools/file-notes.js +0 -104
  236. package/dist/src/tools/file-notes.js.map +0 -1
  237. package/dist/src/tools/intelligence.d.ts +0 -3
  238. package/dist/src/tools/intelligence.d.ts.map +0 -1
  239. package/dist/src/tools/intelligence.js +0 -427
  240. package/dist/src/tools/intelligence.js.map +0 -1
  241. package/dist/src/tools/milestones.d.ts +0 -3
  242. package/dist/src/tools/milestones.d.ts.map +0 -1
  243. package/dist/src/tools/milestones.js +0 -71
  244. package/dist/src/tools/milestones.js.map +0 -1
  245. package/dist/src/tools/scheduler.d.ts +0 -3
  246. package/dist/src/tools/scheduler.d.ts.map +0 -1
  247. package/dist/src/tools/scheduler.js +0 -363
  248. package/dist/src/tools/scheduler.js.map +0 -1
  249. package/dist/src/tools/sessions.d.ts +0 -3
  250. package/dist/src/tools/sessions.d.ts.map +0 -1
  251. package/dist/src/tools/sessions.js +0 -356
  252. package/dist/src/tools/sessions.js.map +0 -1
  253. package/dist/src/tools/stats.d.ts +0 -3
  254. package/dist/src/tools/stats.d.ts.map +0 -1
  255. package/dist/src/tools/stats.js +0 -63
  256. package/dist/src/tools/stats.js.map +0 -1
  257. package/dist/src/tools/tasks.d.ts +0 -3
  258. package/dist/src/tools/tasks.d.ts.map +0 -1
  259. package/dist/src/tools/tasks.js +0 -206
  260. package/dist/src/tools/tasks.js.map +0 -1
  261. package/dist/src/types.d.ts +0 -170
  262. package/dist/src/types.d.ts.map +0 -1
  263. package/dist/src/types.js +0 -5
  264. package/dist/src/types.js.map +0 -1
  265. package/dist/src/utils.d.ts +0 -58
  266. package/dist/src/utils.d.ts.map +0 -1
  267. package/dist/src/utils.js +0 -190
  268. package/dist/src/utils.js.map +0 -1
  269. package/dist/tests/helpers/test-db.d.ts +0 -12
  270. package/dist/tests/helpers/test-db.d.ts.map +0 -1
  271. package/dist/tests/helpers/test-db.js +0 -149
  272. package/dist/tests/helpers/test-db.js.map +0 -1
  273. package/dist/tests/installer/installer.test.d.ts +0 -2
  274. package/dist/tests/installer/installer.test.d.ts.map +0 -1
  275. package/dist/tests/installer/installer.test.js +0 -160
  276. package/dist/tests/installer/installer.test.js.map +0 -1
  277. package/dist/tests/repositories/repos.test.d.ts +0 -2
  278. package/dist/tests/repositories/repos.test.d.ts.map +0 -1
  279. package/dist/tests/repositories/repos.test.js +0 -220
  280. package/dist/tests/repositories/repos.test.js.map +0 -1
  281. package/dist/tools/maintenance.d.ts +0 -3
  282. package/dist/tools/maintenance.d.ts.map +0 -1
  283. package/dist/tools/maintenance.js +0 -647
  284. package/dist/tools/maintenance.js.map +0 -1
  285. package/dist/tools/memory.d.ts +0 -3
  286. package/dist/tools/memory.d.ts.map +0 -1
  287. package/dist/tools/memory.js +0 -446
  288. package/dist/tools/memory.js.map +0 -1
@@ -4,6 +4,7 @@
4
4
  import { z } from "zod";
5
5
  import { getDb, now, getCurrentSessionId } from "../database.js";
6
6
  import { TOOL_PREFIX } from "../constants.js";
7
+ import { success, error } from "../response.js";
7
8
  export function registerConventionTools(server) {
8
9
  server.registerTool(`${TOOL_PREFIX}_add_convention`, {
9
10
  title: "Add Convention",
@@ -32,16 +33,11 @@ Returns:
32
33
  const timestamp = now();
33
34
  const sessionId = getCurrentSessionId();
34
35
  const result = db.prepare("INSERT INTO conventions (session_id, timestamp, category, rule, examples) VALUES (?, ?, ?, ?, ?)").run(sessionId, timestamp, category, rule, examples ? JSON.stringify(examples) : null);
35
- return {
36
- content: [{
37
- type: "text",
38
- text: JSON.stringify({
39
- convention_id: result.lastInsertRowid,
40
- message: `Convention #${result.lastInsertRowid} added to [${category}].`,
41
- rule,
42
- }, null, 2),
43
- }],
44
- };
36
+ return success({
37
+ convention_id: Number(result.lastInsertRowid),
38
+ message: `Convention #${result.lastInsertRowid} added to [${category}].`,
39
+ rule,
40
+ });
45
41
  });
46
42
  server.registerTool(`${TOOL_PREFIX}_get_conventions`, {
47
43
  title: "Get Conventions",
@@ -82,12 +78,7 @@ Returns:
82
78
  grouped[c.category] = [];
83
79
  grouped[c.category].push(c);
84
80
  }
85
- return {
86
- content: [{
87
- type: "text",
88
- text: JSON.stringify({ total: conventions.length, by_category: grouped }, null, 2),
89
- }],
90
- };
81
+ return success({ total: conventions.length, by_category: grouped });
91
82
  });
92
83
  server.registerTool(`${TOOL_PREFIX}_toggle_convention`, {
93
84
  title: "Toggle Convention",
@@ -113,9 +104,9 @@ Returns:
113
104
  const db = getDb();
114
105
  const result = db.prepare("UPDATE conventions SET enforced = ? WHERE id = ?").run(enforced ? 1 : 0, id);
115
106
  if (result.changes === 0) {
116
- return { isError: true, content: [{ type: "text", text: `Convention #${id} not found.` }] };
107
+ return error(`Convention #${id} not found.`);
117
108
  }
118
- return { content: [{ type: "text", text: `Convention #${id} ${enforced ? "enabled" : "disabled"}.` }] };
109
+ return success({ message: `Convention #${id} ${enforced ? "enabled" : "disabled"}.` });
119
110
  });
120
111
  }
121
112
  //# sourceMappingURL=conventions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../src/tools/decisions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsJ7D"}
1
+ {"version":3,"file":"decisions.d.ts","sourceRoot":"","sources":["../../src/tools/decisions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqL7D"}
@@ -2,8 +2,9 @@
2
2
  // Engram MCP Server — Architectural Decision Tools
3
3
  // ============================================================================
4
4
  import { z } from "zod";
5
- import { getDb, now, getCurrentSessionId } from "../database.js";
5
+ import { now, getCurrentSessionId, getRepos } from "../database.js";
6
6
  import { TOOL_PREFIX } from "../constants.js";
7
+ import { success, error } from "../response.js";
7
8
  export function registerDecisionTools(server) {
8
9
  server.registerTool(`${TOOL_PREFIX}_record_decision`, {
9
10
  title: "Record Decision",
@@ -18,7 +19,7 @@ Args:
18
19
  - supersedes (number, optional): ID of a previous decision this replaces
19
20
 
20
21
  Returns:
21
- Decision ID and confirmation.`,
22
+ Decision ID and confirmation. May include a warning if similar decisions exist.`,
22
23
  inputSchema: {
23
24
  decision: z.string().min(5).describe("The decision that was made"),
24
25
  rationale: z.string().optional().describe("Why — context, tradeoffs, alternatives considered"),
@@ -34,25 +35,71 @@ Returns:
34
35
  openWorldHint: false,
35
36
  },
36
37
  }, async ({ decision, rationale, affected_files, tags, status, supersedes }) => {
37
- const db = getDb();
38
+ const repos = getRepos();
38
39
  const timestamp = now();
39
40
  const sessionId = getCurrentSessionId();
40
- const result = db.prepare("INSERT INTO decisions (session_id, timestamp, decision, rationale, affected_files, tags, status, superseded_by) VALUES (?, ?, ?, ?, ?, ?, ?, ?)").run(sessionId, timestamp, decision, rationale || null, affected_files ? JSON.stringify(affected_files) : null, tags ? JSON.stringify(tags) : null, status, supersedes || null);
41
- const newDecisionId = result.lastInsertRowid;
41
+ const newDecisionId = repos.decisions.create(sessionId, timestamp, decision, rationale, affected_files, tags, status, supersedes);
42
42
  if (supersedes) {
43
- db.prepare("UPDATE decisions SET status = 'superseded', superseded_by = ? WHERE id = ?")
44
- .run(newDecisionId, supersedes);
43
+ repos.decisions.supersede(supersedes, newDecisionId);
45
44
  }
46
- return {
47
- content: [{
48
- type: "text",
49
- text: JSON.stringify({
50
- decision_id: newDecisionId,
51
- message: `Decision #${newDecisionId} recorded${supersedes ? ` (supersedes #${supersedes})` : ""}.`,
52
- decision,
53
- }, null, 2),
54
- }],
45
+ // Check for similar existing decisions (deduplication signal)
46
+ const response = {
47
+ decision_id: newDecisionId,
48
+ message: `Decision #${newDecisionId} recorded${supersedes ? ` (supersedes #${supersedes})` : ""}.`,
49
+ decision,
55
50
  };
51
+ const similar = repos.decisions.findSimilar(decision, 5)
52
+ .filter(d => d.id !== newDecisionId);
53
+ if (similar.length > 0) {
54
+ response.warning = `Found ${similar.length} similar active decision(s). Review for potential duplicates.`;
55
+ response.similar_decisions = similar.map(d => ({
56
+ id: d.id,
57
+ decision: d.decision,
58
+ status: d.status,
59
+ timestamp: d.timestamp,
60
+ }));
61
+ }
62
+ return success(response);
63
+ });
64
+ // ─── BATCH RECORD DECISIONS ──────────────────────────────────────
65
+ server.registerTool(`${TOOL_PREFIX}_record_decisions_batch`, {
66
+ title: "Record Decisions (Batch)",
67
+ description: `Record multiple architectural decisions in a single atomic call.
68
+
69
+ Args:
70
+ - decisions (array, 1-50): Array of decision objects, each with:
71
+ - decision (string): The decision that was made
72
+ - rationale (string, optional): Why
73
+ - affected_files (array, optional): Impacted files
74
+ - tags (array, optional): Tags
75
+ - status (string, optional): "active" | "experimental" (default: "active")
76
+
77
+ Returns:
78
+ Array of decision IDs.`,
79
+ inputSchema: {
80
+ decisions: z.array(z.object({
81
+ decision: z.string().min(5).describe("The decision"),
82
+ rationale: z.string().optional(),
83
+ affected_files: z.array(z.string()).optional(),
84
+ tags: z.array(z.string()).optional(),
85
+ status: z.enum(["active", "experimental"]).default("active"),
86
+ })).min(1).max(50).describe("Array of decisions to record"),
87
+ },
88
+ annotations: {
89
+ readOnlyHint: false,
90
+ destructiveHint: false,
91
+ idempotentHint: false,
92
+ openWorldHint: false,
93
+ },
94
+ }, async ({ decisions }) => {
95
+ const repos = getRepos();
96
+ const timestamp = now();
97
+ const sessionId = getCurrentSessionId();
98
+ const ids = repos.decisions.createBatch(decisions, sessionId, timestamp);
99
+ return success({
100
+ message: `Recorded ${ids.length} decision(s).`,
101
+ decision_ids: ids,
102
+ });
56
103
  });
57
104
  server.registerTool(`${TOOL_PREFIX}_get_decisions`, {
58
105
  title: "Get Decisions",
@@ -79,30 +126,9 @@ Returns:
79
126
  openWorldHint: false,
80
127
  },
81
128
  }, async ({ status, tag, file_path, limit }) => {
82
- const db = getDb();
83
- let query = "SELECT * FROM decisions WHERE 1=1";
84
- const params = [];
85
- if (status) {
86
- query += " AND status = ?";
87
- params.push(status);
88
- }
89
- if (tag) {
90
- query += " AND EXISTS (SELECT 1 FROM json_each(tags) WHERE value = ?)";
91
- params.push(tag);
92
- }
93
- if (file_path) {
94
- query += " AND EXISTS (SELECT 1 FROM json_each(affected_files) WHERE value = ?)";
95
- params.push(file_path);
96
- }
97
- query += " ORDER BY timestamp DESC LIMIT ?";
98
- params.push(limit);
99
- const decisions = db.prepare(query).all(...params);
100
- return {
101
- content: [{
102
- type: "text",
103
- text: JSON.stringify({ count: decisions.length, decisions }, null, 2),
104
- }],
105
- };
129
+ const repos = getRepos();
130
+ const decisions = repos.decisions.getFiltered({ status, tag, file_path, limit });
131
+ return success({ count: decisions.length, decisions });
106
132
  });
107
133
  server.registerTool(`${TOOL_PREFIX}_update_decision`, {
108
134
  title: "Update Decision Status",
@@ -125,12 +151,12 @@ Returns:
125
151
  openWorldHint: false,
126
152
  },
127
153
  }, async ({ id, status }) => {
128
- const db = getDb();
129
- const result = db.prepare("UPDATE decisions SET status = ? WHERE id = ?").run(status, id);
130
- if (result.changes === 0) {
131
- return { isError: true, content: [{ type: "text", text: `Decision #${id} not found.` }] };
154
+ const repos = getRepos();
155
+ const changes = repos.decisions.updateStatus(id, status);
156
+ if (changes === 0) {
157
+ return error(`Decision #${id} not found.`);
132
158
  }
133
- return { content: [{ type: "text", text: `Decision #${id} status updated to "${status}".` }] };
159
+ return success({ message: `Decision #${id} status updated to "${status}".` });
134
160
  });
135
161
  }
136
162
  //# sourceMappingURL=decisions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/tools/decisions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decisions.js","sourceRoot":"","sources":["../../src/tools/decisions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"export-import.d.ts","sourceRoot":"","sources":["../../src/tools/export-import.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+MjE"}
1
+ {"version":3,"file":"export-import.d.ts","sourceRoot":"","sources":["../../src/tools/export-import.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgMjE"}
@@ -6,6 +6,7 @@ import * as fs from "fs";
6
6
  import * as path from "path";
7
7
  import { getDb, now, getProjectRoot } from "../database.js";
8
8
  import { TOOL_PREFIX, DB_DIR_NAME, SERVER_VERSION } from "../constants.js";
9
+ import { success, error } from "../response.js";
9
10
  export function registerExportImportTools(server) {
10
11
  // ─── EXPORT MEMORY ──────────────────────────────────────────────────
11
12
  server.registerTool(`${TOOL_PREFIX}_export`, {
@@ -43,23 +44,18 @@ Returns:
43
44
  };
44
45
  const filePath = output_path || path.join(projectRoot, DB_DIR_NAME, "export.json");
45
46
  fs.writeFileSync(filePath, JSON.stringify(exportData, null, 2));
46
- return {
47
- content: [{
48
- type: "text",
49
- text: JSON.stringify({
50
- exported_to: filePath,
51
- counts: {
52
- sessions: exportData.sessions.length,
53
- changes: exportData.changes.length,
54
- decisions: exportData.decisions.length,
55
- file_notes: exportData.file_notes.length,
56
- conventions: exportData.conventions.length,
57
- tasks: exportData.tasks.length,
58
- milestones: exportData.milestones.length,
59
- },
60
- }, null, 2),
61
- }],
62
- };
47
+ return success({
48
+ exported_to: filePath,
49
+ counts: {
50
+ sessions: exportData.sessions.length,
51
+ changes: exportData.changes.length,
52
+ decisions: exportData.decisions.length,
53
+ file_notes: exportData.file_notes.length,
54
+ conventions: exportData.conventions.length,
55
+ tasks: exportData.tasks.length,
56
+ milestones: exportData.milestones.length,
57
+ },
58
+ });
63
59
  });
64
60
  // ─── IMPORT MEMORY ──────────────────────────────────────────────────
65
61
  server.registerTool(`${TOOL_PREFIX}_import`, {
@@ -86,30 +82,25 @@ Returns:
86
82
  const projectRoot = getProjectRoot();
87
83
  const filePath = path.isAbsolute(input_path) ? input_path : path.join(projectRoot, input_path);
88
84
  if (!fs.existsSync(filePath)) {
89
- return { isError: true, content: [{ type: "text", text: `File not found: ${filePath}` }] };
85
+ return error(`File not found: ${filePath}`);
90
86
  }
91
87
  let importData;
92
88
  try {
93
89
  importData = JSON.parse(fs.readFileSync(filePath, "utf-8"));
94
90
  }
95
91
  catch (e) {
96
- return { isError: true, content: [{ type: "text", text: `Invalid JSON: ${e}` }] };
92
+ return error(`Invalid JSON: ${e}`);
97
93
  }
98
94
  const counts = {};
99
95
  for (const key of ["sessions", "changes", "decisions", "file_notes", "conventions", "tasks", "milestones"]) {
100
96
  counts[key] = Array.isArray(importData[key]) ? importData[key].length : 0;
101
97
  }
102
98
  if (dry_run) {
103
- return {
104
- content: [{
105
- type: "text",
106
- text: JSON.stringify({
107
- dry_run: true,
108
- would_import: counts,
109
- message: "Run with dry_run=false to execute the import.",
110
- }, null, 2),
111
- }],
112
- };
99
+ return success({
100
+ dry_run: true,
101
+ would_import: counts,
102
+ message: "Run with dry_run=false to execute the import.",
103
+ });
113
104
  }
114
105
  const db = getDb();
115
106
  const importTransaction = db.transaction(() => {
@@ -169,12 +160,7 @@ Returns:
169
160
  }
170
161
  });
171
162
  importTransaction();
172
- return {
173
- content: [{
174
- type: "text",
175
- text: JSON.stringify({ imported: counts, message: "Import complete. Duplicates were skipped." }, null, 2),
176
- }],
177
- };
163
+ return success({ imported: counts, message: "Import complete. Duplicates were skipped." });
178
164
  });
179
165
  }
180
166
  //# sourceMappingURL=export-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export-import.js","sourceRoot":"","sources":["../../src/tools/export-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-import.js","sourceRoot":"","sources":["../../src/tools/export-import.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-notes.d.ts","sourceRoot":"","sources":["../../src/tools/file-notes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyH7D"}
1
+ {"version":3,"file":"file-notes.d.ts","sourceRoot":"","sources":["../../src/tools/file-notes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwI7D"}
@@ -2,8 +2,10 @@
2
2
  // Engram MCP Server — File Notes Tools
3
3
  // ============================================================================
4
4
  import { z } from "zod";
5
- import { getDb, now, getCurrentSessionId } from "../database.js";
5
+ import { now, getCurrentSessionId, getRepos } from "../database.js";
6
6
  import { TOOL_PREFIX } from "../constants.js";
7
+ import { normalizePath } from "../utils.js";
8
+ import { success } from "../response.js";
7
9
  export function registerFileNoteTools(server) {
8
10
  server.registerTool(`${TOOL_PREFIX}_set_file_notes`, {
9
11
  title: "Set File Notes",
@@ -36,27 +38,58 @@ Returns:
36
38
  openWorldHint: false,
37
39
  },
38
40
  }, async ({ file_path, purpose, dependencies, dependents, layer, complexity, notes }) => {
39
- const db = getDb();
41
+ const repos = getRepos();
40
42
  const timestamp = now();
41
43
  const sessionId = getCurrentSessionId();
42
- db.prepare(`
43
- INSERT INTO file_notes (file_path, purpose, dependencies, dependents, layer, last_reviewed, last_modified_session, notes, complexity)
44
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
45
- ON CONFLICT(file_path) DO UPDATE SET
46
- purpose = COALESCE(?, purpose),
47
- dependencies = COALESCE(?, dependencies),
48
- dependents = COALESCE(?, dependents),
49
- layer = COALESCE(?, layer),
50
- last_reviewed = ?,
51
- last_modified_session = COALESCE(?, last_modified_session),
52
- notes = COALESCE(?, notes),
53
- complexity = COALESCE(?, complexity)
54
- `).run(file_path, purpose || null, dependencies ? JSON.stringify(dependencies) : null, dependents ? JSON.stringify(dependents) : null, layer || null, timestamp, sessionId, notes || null, complexity || null,
55
- // Update values
56
- purpose || null, dependencies ? JSON.stringify(dependencies) : null, dependents ? JSON.stringify(dependents) : null, layer || null, timestamp, sessionId, notes || null, complexity || null);
57
- return {
58
- content: [{ type: "text", text: `File notes saved for ${file_path}.` }],
59
- };
44
+ const fp = normalizePath(file_path);
45
+ repos.fileNotes.upsert(fp, timestamp, sessionId, {
46
+ purpose, dependencies, dependents, layer, complexity, notes,
47
+ });
48
+ return success({ message: `File notes saved for ${fp}.` });
49
+ });
50
+ // ─── BATCH SET FILE NOTES ────────────────────────────────────────
51
+ server.registerTool(`${TOOL_PREFIX}_set_file_notes_batch`, {
52
+ title: "Set File Notes (Batch)",
53
+ description: `Store persistent notes for multiple files in a single call. Atomic — either all succeed or none. Ideal after analyzing multiple files.
54
+
55
+ Args:
56
+ - files (array, 1-100): Array of file note objects, each with:
57
+ - file_path (string): Relative path to the file
58
+ - purpose (string, optional): What this file does
59
+ - dependencies (array, optional): Files this depends on
60
+ - dependents (array, optional): Files that depend on this
61
+ - layer (string, optional): Architectural layer
62
+ - complexity (string, optional): Complexity level
63
+ - notes (string, optional): Important context
64
+
65
+ Returns:
66
+ Confirmation with count.`,
67
+ inputSchema: {
68
+ files: z.array(z.object({
69
+ file_path: z.string().describe("Relative path to the file"),
70
+ purpose: z.string().optional(),
71
+ dependencies: z.array(z.string()).optional(),
72
+ dependents: z.array(z.string()).optional(),
73
+ layer: z.enum(["ui", "viewmodel", "domain", "data", "network", "database", "di", "util", "test", "config", "build", "other"]).optional(),
74
+ complexity: z.enum(["trivial", "simple", "moderate", "complex", "critical"]).optional(),
75
+ notes: z.string().optional(),
76
+ })).min(1).max(100).describe("Array of file note entries"),
77
+ },
78
+ annotations: {
79
+ readOnlyHint: false,
80
+ destructiveHint: false,
81
+ idempotentHint: true,
82
+ openWorldHint: false,
83
+ },
84
+ }, async ({ files }) => {
85
+ const repos = getRepos();
86
+ const timestamp = now();
87
+ const sessionId = getCurrentSessionId();
88
+ const count = repos.fileNotes.upsertBatch(files, timestamp, sessionId);
89
+ return success({
90
+ message: `Batch saved ${count} file note(s).`,
91
+ count,
92
+ });
60
93
  });
61
94
  server.registerTool(`${TOOL_PREFIX}_get_file_notes`, {
62
95
  title: "Get File Notes",
@@ -81,24 +114,13 @@ Returns:
81
114
  openWorldHint: false,
82
115
  },
83
116
  }, async ({ file_path, layer, complexity }) => {
84
- const db = getDb();
117
+ const repos = getRepos();
85
118
  if (file_path) {
86
- const note = db.prepare("SELECT * FROM file_notes WHERE file_path = ?").get(file_path);
87
- return { content: [{ type: "text", text: JSON.stringify(note || { message: "No notes found for this file." }, null, 2) }] };
88
- }
89
- let query = "SELECT * FROM file_notes WHERE 1=1";
90
- const params = [];
91
- if (layer) {
92
- query += " AND layer = ?";
93
- params.push(layer);
94
- }
95
- if (complexity) {
96
- query += " AND complexity = ?";
97
- params.push(complexity);
119
+ const note = repos.fileNotes.getByPath(file_path);
120
+ return success(note ? note : { message: "No notes found for this file." });
98
121
  }
99
- query += " ORDER BY file_path";
100
- const notes = db.prepare(query).all(...params);
101
- return { content: [{ type: "text", text: JSON.stringify({ count: notes.length, files: notes }, null, 2) }] };
122
+ const notes = repos.fileNotes.getFiltered({ layer, complexity });
123
+ return success({ count: notes.length, files: notes });
102
124
  });
103
125
  }
104
126
  //# sourceMappingURL=file-notes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-notes.js","sourceRoot":"","sources":["../../src/tools/file-notes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-notes.js","sourceRoot":"","sources":["../../src/tools/file-notes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"intelligence.d.ts","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmCpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6ajE"}
1
+ {"version":3,"file":"intelligence.d.ts","sourceRoot":"","sources":["../../src/tools/intelligence.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6BpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqZjE"}