@vheins/local-memory-mcp 0.5.32 → 0.6.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 (506) hide show
  1. package/README.md +9 -6
  2. package/dist/chunk-XIJO63UU.js +3618 -0
  3. package/dist/dashboard/public/assets/{index-C8FB4maW.css → index-Bd7v94SO.css} +1 -1
  4. package/dist/dashboard/public/assets/index-Df97JpLg.js +84 -0
  5. package/dist/dashboard/public/index.html +2 -2
  6. package/dist/dashboard/server.js +790 -451
  7. package/dist/mcp/server.js +2121 -305
  8. package/dist/{mcp/prompts/definitions → prompts}/create-task.md +4 -3
  9. package/dist/{mcp/prompts/definitions → prompts}/memory-agent-core.md +2 -0
  10. package/dist/{mcp/prompts/definitions → prompts}/memory-index-policy.md +2 -0
  11. package/dist/{mcp/prompts/definitions → prompts}/review-and-audit.md +3 -1
  12. package/dist/{mcp/prompts/definitions → prompts}/review-and-post-issue.md +3 -1
  13. package/dist/prompts/task-management-guidelines.md +28 -0
  14. package/dist/{mcp/prompts/definitions → prompts}/task-memory-executor.md +6 -5
  15. package/package.json +22 -6
  16. package/dist/capabilities.d.ts +0 -22
  17. package/dist/capabilities.d.ts.map +0 -1
  18. package/dist/capabilities.js +0 -38
  19. package/dist/capabilities.js.map +0 -1
  20. package/dist/completion.d.ts +0 -25
  21. package/dist/completion.d.ts.map +0 -1
  22. package/dist/completion.js +0 -127
  23. package/dist/completion.js.map +0 -1
  24. package/dist/dashboard/dashboard.test.d.ts +0 -2
  25. package/dist/dashboard/dashboard.test.d.ts.map +0 -1
  26. package/dist/dashboard/dashboard.test.js +0 -370
  27. package/dist/dashboard/dashboard.test.js.map +0 -1
  28. package/dist/dashboard/public/assets/index-DIhCu9qA.js +0 -78
  29. package/dist/dashboard/server.d.ts +0 -3
  30. package/dist/dashboard/server.d.ts.map +0 -1
  31. package/dist/dashboard/server.js.map +0 -1
  32. package/dist/e2e.test.d.ts +0 -2
  33. package/dist/e2e.test.d.ts.map +0 -1
  34. package/dist/e2e.test.js +0 -250
  35. package/dist/e2e.test.js.map +0 -1
  36. package/dist/mcp/capabilities.d.ts +0 -22
  37. package/dist/mcp/capabilities.d.ts.map +0 -1
  38. package/dist/mcp/capabilities.js +0 -38
  39. package/dist/mcp/capabilities.js.map +0 -1
  40. package/dist/mcp/client.d.ts +0 -34
  41. package/dist/mcp/client.d.ts.map +0 -1
  42. package/dist/mcp/client.js +0 -188
  43. package/dist/mcp/client.js.map +0 -1
  44. package/dist/mcp/client.test.d.ts +0 -2
  45. package/dist/mcp/client.test.d.ts.map +0 -1
  46. package/dist/mcp/client.test.js +0 -130
  47. package/dist/mcp/client.test.js.map +0 -1
  48. package/dist/mcp/completion.d.ts +0 -25
  49. package/dist/mcp/completion.d.ts.map +0 -1
  50. package/dist/mcp/completion.js +0 -127
  51. package/dist/mcp/completion.js.map +0 -1
  52. package/dist/mcp/elicitation.d.ts +0 -24
  53. package/dist/mcp/elicitation.d.ts.map +0 -1
  54. package/dist/mcp/elicitation.js +0 -13
  55. package/dist/mcp/elicitation.js.map +0 -1
  56. package/dist/mcp/prompts/definitions/task-management-guidelines.md +0 -30
  57. package/dist/mcp/prompts/loader.d.ts +0 -10
  58. package/dist/mcp/prompts/loader.d.ts.map +0 -1
  59. package/dist/mcp/prompts/loader.js +0 -31
  60. package/dist/mcp/prompts/loader.js.map +0 -1
  61. package/dist/mcp/prompts/registry.d.ts +0 -35
  62. package/dist/mcp/prompts/registry.d.ts.map +0 -1
  63. package/dist/mcp/prompts/registry.js +0 -95
  64. package/dist/mcp/prompts/registry.js.map +0 -1
  65. package/dist/mcp/resources/index.d.ts +0 -68
  66. package/dist/mcp/resources/index.d.ts.map +0 -1
  67. package/dist/mcp/resources/index.js +0 -359
  68. package/dist/mcp/resources/index.js.map +0 -1
  69. package/dist/mcp/router.d.ts +0 -14
  70. package/dist/mcp/router.d.ts.map +0 -1
  71. package/dist/mcp/router.js +0 -255
  72. package/dist/mcp/router.js.map +0 -1
  73. package/dist/mcp/sampling.d.ts +0 -69
  74. package/dist/mcp/sampling.d.ts.map +0 -1
  75. package/dist/mcp/sampling.js +0 -13
  76. package/dist/mcp/sampling.js.map +0 -1
  77. package/dist/mcp/server.d.ts +0 -3
  78. package/dist/mcp/server.d.ts.map +0 -1
  79. package/dist/mcp/server.js.map +0 -1
  80. package/dist/mcp/session.d.ts +0 -28
  81. package/dist/mcp/session.d.ts.map +0 -1
  82. package/dist/mcp/session.js +0 -106
  83. package/dist/mcp/session.js.map +0 -1
  84. package/dist/mcp/storage/sqlite.d.ts +0 -87
  85. package/dist/mcp/storage/sqlite.d.ts.map +0 -1
  86. package/dist/mcp/storage/sqlite.js +0 -1327
  87. package/dist/mcp/storage/sqlite.js.map +0 -1
  88. package/dist/mcp/storage/vectors.d.ts +0 -19
  89. package/dist/mcp/storage/vectors.d.ts.map +0 -1
  90. package/dist/mcp/storage/vectors.js +0 -74
  91. package/dist/mcp/storage/vectors.js.map +0 -1
  92. package/dist/mcp/storage/vectors.stub.d.ts +0 -12
  93. package/dist/mcp/storage/vectors.stub.d.ts.map +0 -1
  94. package/dist/mcp/storage/vectors.stub.js +0 -88
  95. package/dist/mcp/storage/vectors.stub.js.map +0 -1
  96. package/dist/mcp/tests/client.test.d.ts +0 -2
  97. package/dist/mcp/tests/client.test.d.ts.map +0 -1
  98. package/dist/mcp/tests/client.test.js +0 -130
  99. package/dist/mcp/tests/client.test.js.map +0 -1
  100. package/dist/mcp/tests/dashboard.test.d.ts +0 -2
  101. package/dist/mcp/tests/dashboard.test.d.ts.map +0 -1
  102. package/dist/mcp/tests/dashboard.test.js +0 -370
  103. package/dist/mcp/tests/dashboard.test.js.map +0 -1
  104. package/dist/mcp/tests/detail-tools.test.d.ts +0 -2
  105. package/dist/mcp/tests/detail-tools.test.d.ts.map +0 -1
  106. package/dist/mcp/tests/detail-tools.test.js +0 -109
  107. package/dist/mcp/tests/detail-tools.test.js.map +0 -1
  108. package/dist/mcp/tests/e2e.test.d.ts +0 -2
  109. package/dist/mcp/tests/e2e.test.d.ts.map +0 -1
  110. package/dist/mcp/tests/e2e.test.js +0 -255
  111. package/dist/mcp/tests/e2e.test.js.map +0 -1
  112. package/dist/mcp/tests/index.test.d.ts +0 -2
  113. package/dist/mcp/tests/index.test.d.ts.map +0 -1
  114. package/dist/mcp/tests/index.test.js +0 -185
  115. package/dist/mcp/tests/index.test.js.map +0 -1
  116. package/dist/mcp/tests/logger.test.d.ts +0 -2
  117. package/dist/mcp/tests/logger.test.d.ts.map +0 -1
  118. package/dist/mcp/tests/logger.test.js +0 -104
  119. package/dist/mcp/tests/logger.test.js.map +0 -1
  120. package/dist/mcp/tests/memory.bulk.test.d.ts +0 -2
  121. package/dist/mcp/tests/memory.bulk.test.d.ts.map +0 -1
  122. package/dist/mcp/tests/memory.bulk.test.js +0 -53
  123. package/dist/mcp/tests/memory.bulk.test.js.map +0 -1
  124. package/dist/mcp/tests/memory.search.test.d.ts +0 -2
  125. package/dist/mcp/tests/memory.search.test.d.ts.map +0 -1
  126. package/dist/mcp/tests/memory.search.test.js +0 -181
  127. package/dist/mcp/tests/memory.search.test.js.map +0 -1
  128. package/dist/mcp/tests/normalize.test.d.ts +0 -2
  129. package/dist/mcp/tests/normalize.test.d.ts.map +0 -1
  130. package/dist/mcp/tests/normalize.test.js +0 -181
  131. package/dist/mcp/tests/normalize.test.js.map +0 -1
  132. package/dist/mcp/tests/query-expander.test.d.ts +0 -2
  133. package/dist/mcp/tests/query-expander.test.d.ts.map +0 -1
  134. package/dist/mcp/tests/query-expander.test.js +0 -33
  135. package/dist/mcp/tests/query-expander.test.js.map +0 -1
  136. package/dist/mcp/tests/router.test.d.ts +0 -2
  137. package/dist/mcp/tests/router.test.d.ts.map +0 -1
  138. package/dist/mcp/tests/router.test.js +0 -481
  139. package/dist/mcp/tests/router.test.js.map +0 -1
  140. package/dist/mcp/tests/spec_compliance.test.d.ts +0 -2
  141. package/dist/mcp/tests/spec_compliance.test.d.ts.map +0 -1
  142. package/dist/mcp/tests/spec_compliance.test.js +0 -61
  143. package/dist/mcp/tests/spec_compliance.test.js.map +0 -1
  144. package/dist/mcp/tests/sqlite.test.d.ts +0 -2
  145. package/dist/mcp/tests/sqlite.test.d.ts.map +0 -1
  146. package/dist/mcp/tests/sqlite.test.js +0 -367
  147. package/dist/mcp/tests/sqlite.test.js.map +0 -1
  148. package/dist/mcp/tests/tasks-search.test.d.ts +0 -2
  149. package/dist/mcp/tests/tasks-search.test.d.ts.map +0 -1
  150. package/dist/mcp/tests/tasks-search.test.js +0 -156
  151. package/dist/mcp/tests/tasks-search.test.js.map +0 -1
  152. package/dist/mcp/tests/tasks-transition.test.d.ts +0 -2
  153. package/dist/mcp/tests/tasks-transition.test.d.ts.map +0 -1
  154. package/dist/mcp/tests/tasks-transition.test.js +0 -174
  155. package/dist/mcp/tests/tasks-transition.test.js.map +0 -1
  156. package/dist/mcp/tests/tasks.bulk.test.d.ts +0 -2
  157. package/dist/mcp/tests/tasks.bulk.test.d.ts.map +0 -1
  158. package/dist/mcp/tests/tasks.bulk.test.js +0 -410
  159. package/dist/mcp/tests/tasks.bulk.test.js.map +0 -1
  160. package/dist/mcp/tests/tasks.e2e.test.d.ts +0 -2
  161. package/dist/mcp/tests/tasks.e2e.test.d.ts.map +0 -1
  162. package/dist/mcp/tests/tasks.e2e.test.js +0 -289
  163. package/dist/mcp/tests/tasks.e2e.test.js.map +0 -1
  164. package/dist/mcp/tests/tasks.pending-limit-refined.test.d.ts +0 -2
  165. package/dist/mcp/tests/tasks.pending-limit-refined.test.d.ts.map +0 -1
  166. package/dist/mcp/tests/tasks.pending-limit-refined.test.js +0 -72
  167. package/dist/mcp/tests/tasks.pending-limit-refined.test.js.map +0 -1
  168. package/dist/mcp/tests/v2-features.test.d.ts +0 -2
  169. package/dist/mcp/tests/v2-features.test.d.ts.map +0 -1
  170. package/dist/mcp/tests/v2-features.test.js +0 -209
  171. package/dist/mcp/tests/v2-features.test.js.map +0 -1
  172. package/dist/mcp/tools/memory.acknowledge.d.ts +0 -4
  173. package/dist/mcp/tools/memory.acknowledge.d.ts.map +0 -1
  174. package/dist/mcp/tools/memory.acknowledge.js +0 -32
  175. package/dist/mcp/tools/memory.acknowledge.js.map +0 -1
  176. package/dist/mcp/tools/memory.bulk-delete.d.ts +0 -4
  177. package/dist/mcp/tools/memory.bulk-delete.d.ts.map +0 -1
  178. package/dist/mcp/tools/memory.bulk-delete.js +0 -40
  179. package/dist/mcp/tools/memory.bulk-delete.js.map +0 -1
  180. package/dist/mcp/tools/memory.delete.d.ts +0 -9
  181. package/dist/mcp/tools/memory.delete.d.ts.map +0 -1
  182. package/dist/mcp/tools/memory.delete.js +0 -40
  183. package/dist/mcp/tools/memory.delete.js.map +0 -1
  184. package/dist/mcp/tools/memory.get.d.ts +0 -3
  185. package/dist/mcp/tools/memory.get.d.ts.map +0 -1
  186. package/dist/mcp/tools/memory.get.js +0 -24
  187. package/dist/mcp/tools/memory.get.js.map +0 -1
  188. package/dist/mcp/tools/memory.recap.d.ts +0 -4
  189. package/dist/mcp/tools/memory.recap.d.ts.map +0 -1
  190. package/dist/mcp/tools/memory.recap.js +0 -52
  191. package/dist/mcp/tools/memory.recap.js.map +0 -1
  192. package/dist/mcp/tools/memory.search.d.ts +0 -5
  193. package/dist/mcp/tools/memory.search.d.ts.map +0 -1
  194. package/dist/mcp/tools/memory.search.js +0 -144
  195. package/dist/mcp/tools/memory.search.js.map +0 -1
  196. package/dist/mcp/tools/memory.store.d.ts +0 -5
  197. package/dist/mcp/tools/memory.store.d.ts.map +0 -1
  198. package/dist/mcp/tools/memory.store.js +0 -120
  199. package/dist/mcp/tools/memory.store.js.map +0 -1
  200. package/dist/mcp/tools/memory.summarize.d.ts +0 -4
  201. package/dist/mcp/tools/memory.summarize.d.ts.map +0 -1
  202. package/dist/mcp/tools/memory.summarize.js +0 -32
  203. package/dist/mcp/tools/memory.summarize.js.map +0 -1
  204. package/dist/mcp/tools/memory.synthesize.d.ts +0 -14
  205. package/dist/mcp/tools/memory.synthesize.d.ts.map +0 -1
  206. package/dist/mcp/tools/memory.synthesize.js +0 -230
  207. package/dist/mcp/tools/memory.synthesize.js.map +0 -1
  208. package/dist/mcp/tools/memory.update.d.ts +0 -5
  209. package/dist/mcp/tools/memory.update.d.ts.map +0 -1
  210. package/dist/mcp/tools/memory.update.js +0 -74
  211. package/dist/mcp/tools/memory.update.js.map +0 -1
  212. package/dist/mcp/tools/schemas.d.ts +0 -3177
  213. package/dist/mcp/tools/schemas.d.ts.map +0 -1
  214. package/dist/mcp/tools/schemas.js +0 -1081
  215. package/dist/mcp/tools/schemas.js.map +0 -1
  216. package/dist/mcp/tools/task.bulk-manage.d.ts +0 -4
  217. package/dist/mcp/tools/task.bulk-manage.d.ts.map +0 -1
  218. package/dist/mcp/tools/task.bulk-manage.js +0 -190
  219. package/dist/mcp/tools/task.bulk-manage.js.map +0 -1
  220. package/dist/mcp/tools/task.get.d.ts +0 -3
  221. package/dist/mcp/tools/task.get.d.ts.map +0 -1
  222. package/dist/mcp/tools/task.get.js +0 -32
  223. package/dist/mcp/tools/task.get.js.map +0 -1
  224. package/dist/mcp/tools/task.manage.d.ts +0 -18
  225. package/dist/mcp/tools/task.manage.d.ts.map +0 -1
  226. package/dist/mcp/tools/task.manage.js +0 -477
  227. package/dist/mcp/tools/task.manage.js.map +0 -1
  228. package/dist/mcp/types.d.ts +0 -87
  229. package/dist/mcp/types.d.ts.map +0 -1
  230. package/dist/mcp/types.js +0 -3
  231. package/dist/mcp/types.js.map +0 -1
  232. package/dist/mcp/utils/completion.d.ts +0 -2
  233. package/dist/mcp/utils/completion.d.ts.map +0 -1
  234. package/dist/mcp/utils/completion.js +0 -28
  235. package/dist/mcp/utils/completion.js.map +0 -1
  236. package/dist/mcp/utils/git-scope.d.ts +0 -8
  237. package/dist/mcp/utils/git-scope.d.ts.map +0 -1
  238. package/dist/mcp/utils/git-scope.js +0 -38
  239. package/dist/mcp/utils/git-scope.js.map +0 -1
  240. package/dist/mcp/utils/logger.d.ts +0 -25
  241. package/dist/mcp/utils/logger.d.ts.map +0 -1
  242. package/dist/mcp/utils/logger.js +0 -152
  243. package/dist/mcp/utils/logger.js.map +0 -1
  244. package/dist/mcp/utils/mcp-response.d.ts +0 -82
  245. package/dist/mcp/utils/mcp-response.d.ts.map +0 -1
  246. package/dist/mcp/utils/mcp-response.js +0 -182
  247. package/dist/mcp/utils/mcp-response.js.map +0 -1
  248. package/dist/mcp/utils/normalize.d.ts +0 -9
  249. package/dist/mcp/utils/normalize.d.ts.map +0 -1
  250. package/dist/mcp/utils/normalize.js +0 -62
  251. package/dist/mcp/utils/normalize.js.map +0 -1
  252. package/dist/mcp/utils/pagination.d.ts +0 -6
  253. package/dist/mcp/utils/pagination.d.ts.map +0 -1
  254. package/dist/mcp/utils/pagination.js +0 -32
  255. package/dist/mcp/utils/pagination.js.map +0 -1
  256. package/dist/mcp/utils/query-expander.d.ts +0 -2
  257. package/dist/mcp/utils/query-expander.d.ts.map +0 -1
  258. package/dist/mcp/utils/query-expander.js +0 -29
  259. package/dist/mcp/utils/query-expander.js.map +0 -1
  260. package/dist/memory.bulk.test.d.ts +0 -2
  261. package/dist/memory.bulk.test.d.ts.map +0 -1
  262. package/dist/memory.bulk.test.js +0 -52
  263. package/dist/memory.bulk.test.js.map +0 -1
  264. package/dist/memory.db +0 -0
  265. package/dist/prompts/registry.d.ts +0 -314
  266. package/dist/prompts/registry.d.ts.map +0 -1
  267. package/dist/prompts/registry.js +0 -936
  268. package/dist/prompts/registry.js.map +0 -1
  269. package/dist/resources/index.d.ts +0 -68
  270. package/dist/resources/index.d.ts.map +0 -1
  271. package/dist/resources/index.js +0 -323
  272. package/dist/resources/index.js.map +0 -1
  273. package/dist/resources/index.test.d.ts +0 -2
  274. package/dist/resources/index.test.d.ts.map +0 -1
  275. package/dist/resources/index.test.js +0 -105
  276. package/dist/resources/index.test.js.map +0 -1
  277. package/dist/router.d.ts +0 -14
  278. package/dist/router.d.ts.map +0 -1
  279. package/dist/router.js +0 -242
  280. package/dist/router.js.map +0 -1
  281. package/dist/router.test.d.ts +0 -2
  282. package/dist/router.test.d.ts.map +0 -1
  283. package/dist/router.test.js +0 -122
  284. package/dist/router.test.js.map +0 -1
  285. package/dist/server.d.ts +0 -3
  286. package/dist/server.d.ts.map +0 -1
  287. package/dist/server.js +0 -338
  288. package/dist/server.js.map +0 -1
  289. package/dist/storage/sqlite.d.ts +0 -79
  290. package/dist/storage/sqlite.d.ts.map +0 -1
  291. package/dist/storage/sqlite.js +0 -1148
  292. package/dist/storage/sqlite.js.map +0 -1
  293. package/dist/storage/sqlite.test.d.ts +0 -2
  294. package/dist/storage/sqlite.test.d.ts.map +0 -1
  295. package/dist/storage/sqlite.test.js +0 -367
  296. package/dist/storage/sqlite.test.js.map +0 -1
  297. package/dist/storage/vectors.d.ts +0 -19
  298. package/dist/storage/vectors.d.ts.map +0 -1
  299. package/dist/storage/vectors.js +0 -74
  300. package/dist/storage/vectors.js.map +0 -1
  301. package/dist/storage/vectors.stub.d.ts +0 -12
  302. package/dist/storage/vectors.stub.d.ts.map +0 -1
  303. package/dist/storage/vectors.stub.js +0 -88
  304. package/dist/storage/vectors.stub.js.map +0 -1
  305. package/dist/tasks.archive.test.d.ts +0 -2
  306. package/dist/tasks.archive.test.d.ts.map +0 -1
  307. package/dist/tasks.archive.test.js +0 -75
  308. package/dist/tasks.archive.test.js.map +0 -1
  309. package/dist/tasks.bulk.test.d.ts +0 -2
  310. package/dist/tasks.bulk.test.d.ts.map +0 -1
  311. package/dist/tasks.bulk.test.js +0 -250
  312. package/dist/tasks.bulk.test.js.map +0 -1
  313. package/dist/tasks.e2e.test.d.ts +0 -2
  314. package/dist/tasks.e2e.test.d.ts.map +0 -1
  315. package/dist/tasks.e2e.test.js +0 -289
  316. package/dist/tasks.e2e.test.js.map +0 -1
  317. package/dist/tests/client.test.d.ts +0 -2
  318. package/dist/tests/client.test.d.ts.map +0 -1
  319. package/dist/tests/client.test.js +0 -130
  320. package/dist/tests/client.test.js.map +0 -1
  321. package/dist/tests/dashboard.test.d.ts +0 -2
  322. package/dist/tests/dashboard.test.d.ts.map +0 -1
  323. package/dist/tests/dashboard.test.js +0 -370
  324. package/dist/tests/dashboard.test.js.map +0 -1
  325. package/dist/tests/e2e.test.d.ts +0 -2
  326. package/dist/tests/e2e.test.d.ts.map +0 -1
  327. package/dist/tests/e2e.test.js +0 -250
  328. package/dist/tests/e2e.test.js.map +0 -1
  329. package/dist/tests/index.test.d.ts +0 -2
  330. package/dist/tests/index.test.d.ts.map +0 -1
  331. package/dist/tests/index.test.js +0 -185
  332. package/dist/tests/index.test.js.map +0 -1
  333. package/dist/tests/logger.test.d.ts +0 -2
  334. package/dist/tests/logger.test.d.ts.map +0 -1
  335. package/dist/tests/logger.test.js +0 -104
  336. package/dist/tests/logger.test.js.map +0 -1
  337. package/dist/tests/memory.bulk.test.d.ts +0 -2
  338. package/dist/tests/memory.bulk.test.d.ts.map +0 -1
  339. package/dist/tests/memory.bulk.test.js +0 -52
  340. package/dist/tests/memory.bulk.test.js.map +0 -1
  341. package/dist/tests/memory.search.test.d.ts +0 -2
  342. package/dist/tests/memory.search.test.d.ts.map +0 -1
  343. package/dist/tests/memory.search.test.js +0 -181
  344. package/dist/tests/memory.search.test.js.map +0 -1
  345. package/dist/tests/normalize.test.d.ts +0 -2
  346. package/dist/tests/normalize.test.d.ts.map +0 -1
  347. package/dist/tests/normalize.test.js +0 -181
  348. package/dist/tests/normalize.test.js.map +0 -1
  349. package/dist/tests/query-expander.test.d.ts +0 -2
  350. package/dist/tests/query-expander.test.d.ts.map +0 -1
  351. package/dist/tests/query-expander.test.js +0 -33
  352. package/dist/tests/query-expander.test.js.map +0 -1
  353. package/dist/tests/router.test.d.ts +0 -2
  354. package/dist/tests/router.test.d.ts.map +0 -1
  355. package/dist/tests/router.test.js +0 -470
  356. package/dist/tests/router.test.js.map +0 -1
  357. package/dist/tests/sqlite.test.d.ts +0 -2
  358. package/dist/tests/sqlite.test.d.ts.map +0 -1
  359. package/dist/tests/sqlite.test.js +0 -367
  360. package/dist/tests/sqlite.test.js.map +0 -1
  361. package/dist/tests/tasks-search.test.d.ts +0 -2
  362. package/dist/tests/tasks-search.test.d.ts.map +0 -1
  363. package/dist/tests/tasks-search.test.js +0 -154
  364. package/dist/tests/tasks-search.test.js.map +0 -1
  365. package/dist/tests/tasks-transition.test.d.ts +0 -2
  366. package/dist/tests/tasks-transition.test.d.ts.map +0 -1
  367. package/dist/tests/tasks-transition.test.js +0 -174
  368. package/dist/tests/tasks-transition.test.js.map +0 -1
  369. package/dist/tests/tasks.bulk.test.d.ts +0 -2
  370. package/dist/tests/tasks.bulk.test.d.ts.map +0 -1
  371. package/dist/tests/tasks.bulk.test.js +0 -254
  372. package/dist/tests/tasks.bulk.test.js.map +0 -1
  373. package/dist/tests/tasks.e2e.test.d.ts +0 -2
  374. package/dist/tests/tasks.e2e.test.d.ts.map +0 -1
  375. package/dist/tests/tasks.e2e.test.js +0 -289
  376. package/dist/tests/tasks.e2e.test.js.map +0 -1
  377. package/dist/tests/tasks.pending-limit-refined.test.d.ts +0 -2
  378. package/dist/tests/tasks.pending-limit-refined.test.d.ts.map +0 -1
  379. package/dist/tests/tasks.pending-limit-refined.test.js +0 -72
  380. package/dist/tests/tasks.pending-limit-refined.test.js.map +0 -1
  381. package/dist/tests/v2-features.test.d.ts +0 -2
  382. package/dist/tests/v2-features.test.d.ts.map +0 -1
  383. package/dist/tests/v2-features.test.js +0 -209
  384. package/dist/tests/v2-features.test.js.map +0 -1
  385. package/dist/tools/memory.acknowledge.d.ts +0 -4
  386. package/dist/tools/memory.acknowledge.d.ts.map +0 -1
  387. package/dist/tools/memory.acknowledge.js +0 -30
  388. package/dist/tools/memory.acknowledge.js.map +0 -1
  389. package/dist/tools/memory.bulk-delete.d.ts +0 -4
  390. package/dist/tools/memory.bulk-delete.d.ts.map +0 -1
  391. package/dist/tools/memory.bulk-delete.js +0 -39
  392. package/dist/tools/memory.bulk-delete.js.map +0 -1
  393. package/dist/tools/memory.delete.d.ts +0 -9
  394. package/dist/tools/memory.delete.d.ts.map +0 -1
  395. package/dist/tools/memory.delete.js +0 -39
  396. package/dist/tools/memory.delete.js.map +0 -1
  397. package/dist/tools/memory.recap.d.ts +0 -4
  398. package/dist/tools/memory.recap.d.ts.map +0 -1
  399. package/dist/tools/memory.recap.js +0 -90
  400. package/dist/tools/memory.recap.js.map +0 -1
  401. package/dist/tools/memory.search.d.ts +0 -5
  402. package/dist/tools/memory.search.d.ts.map +0 -1
  403. package/dist/tools/memory.search.js +0 -134
  404. package/dist/tools/memory.search.js.map +0 -1
  405. package/dist/tools/memory.search.test.d.ts +0 -2
  406. package/dist/tools/memory.search.test.d.ts.map +0 -1
  407. package/dist/tools/memory.search.test.js +0 -181
  408. package/dist/tools/memory.search.test.js.map +0 -1
  409. package/dist/tools/memory.store.d.ts +0 -5
  410. package/dist/tools/memory.store.d.ts.map +0 -1
  411. package/dist/tools/memory.store.js +0 -117
  412. package/dist/tools/memory.store.js.map +0 -1
  413. package/dist/tools/memory.summarize.d.ts +0 -4
  414. package/dist/tools/memory.summarize.d.ts.map +0 -1
  415. package/dist/tools/memory.summarize.js +0 -31
  416. package/dist/tools/memory.summarize.js.map +0 -1
  417. package/dist/tools/memory.synthesize.d.ts +0 -14
  418. package/dist/tools/memory.synthesize.d.ts.map +0 -1
  419. package/dist/tools/memory.synthesize.js +0 -228
  420. package/dist/tools/memory.synthesize.js.map +0 -1
  421. package/dist/tools/memory.update.d.ts +0 -5
  422. package/dist/tools/memory.update.d.ts.map +0 -1
  423. package/dist/tools/memory.update.js +0 -73
  424. package/dist/tools/memory.update.js.map +0 -1
  425. package/dist/tools/schemas.d.ts +0 -2762
  426. package/dist/tools/schemas.d.ts.map +0 -1
  427. package/dist/tools/schemas.js +0 -952
  428. package/dist/tools/schemas.js.map +0 -1
  429. package/dist/tools/task.bulk-manage.d.ts +0 -4
  430. package/dist/tools/task.bulk-manage.d.ts.map +0 -1
  431. package/dist/tools/task.bulk-manage.js +0 -146
  432. package/dist/tools/task.bulk-manage.js.map +0 -1
  433. package/dist/tools/task.manage.d.ts +0 -16
  434. package/dist/tools/task.manage.d.ts.map +0 -1
  435. package/dist/tools/task.manage.js +0 -395
  436. package/dist/tools/task.manage.js.map +0 -1
  437. package/dist/tools/tasks-transition.test.d.ts +0 -2
  438. package/dist/tools/tasks-transition.test.d.ts.map +0 -1
  439. package/dist/tools/tasks-transition.test.js +0 -174
  440. package/dist/tools/tasks-transition.test.js.map +0 -1
  441. package/dist/tools/tasks.pending-limit-refined.test.d.ts +0 -2
  442. package/dist/tools/tasks.pending-limit-refined.test.d.ts.map +0 -1
  443. package/dist/tools/tasks.pending-limit-refined.test.js +0 -72
  444. package/dist/tools/tasks.pending-limit-refined.test.js.map +0 -1
  445. package/dist/types.d.ts +0 -87
  446. package/dist/types.d.ts.map +0 -1
  447. package/dist/types.js +0 -3
  448. package/dist/types.js.map +0 -1
  449. package/dist/utils/completion.d.ts +0 -2
  450. package/dist/utils/completion.d.ts.map +0 -1
  451. package/dist/utils/completion.js +0 -28
  452. package/dist/utils/completion.js.map +0 -1
  453. package/dist/utils/git-scope.d.ts +0 -8
  454. package/dist/utils/git-scope.d.ts.map +0 -1
  455. package/dist/utils/git-scope.js +0 -38
  456. package/dist/utils/git-scope.js.map +0 -1
  457. package/dist/utils/logger.d.ts +0 -25
  458. package/dist/utils/logger.d.ts.map +0 -1
  459. package/dist/utils/logger.js +0 -152
  460. package/dist/utils/logger.js.map +0 -1
  461. package/dist/utils/logger.test.d.ts +0 -2
  462. package/dist/utils/logger.test.d.ts.map +0 -1
  463. package/dist/utils/logger.test.js +0 -76
  464. package/dist/utils/logger.test.js.map +0 -1
  465. package/dist/utils/mcp-response.d.ts +0 -96
  466. package/dist/utils/mcp-response.d.ts.map +0 -1
  467. package/dist/utils/mcp-response.js +0 -131
  468. package/dist/utils/mcp-response.js.map +0 -1
  469. package/dist/utils/normalize.d.ts +0 -9
  470. package/dist/utils/normalize.d.ts.map +0 -1
  471. package/dist/utils/normalize.js +0 -62
  472. package/dist/utils/normalize.js.map +0 -1
  473. package/dist/utils/normalize.test.d.ts +0 -2
  474. package/dist/utils/normalize.test.d.ts.map +0 -1
  475. package/dist/utils/normalize.test.js +0 -159
  476. package/dist/utils/normalize.test.js.map +0 -1
  477. package/dist/utils/pagination.d.ts +0 -6
  478. package/dist/utils/pagination.d.ts.map +0 -1
  479. package/dist/utils/pagination.js +0 -32
  480. package/dist/utils/pagination.js.map +0 -1
  481. package/dist/utils/query-expander.d.ts +0 -2
  482. package/dist/utils/query-expander.d.ts.map +0 -1
  483. package/dist/utils/query-expander.js +0 -29
  484. package/dist/utils/query-expander.js.map +0 -1
  485. package/dist/utils/query-expander.test.d.ts +0 -2
  486. package/dist/utils/query-expander.test.d.ts.map +0 -1
  487. package/dist/utils/query-expander.test.js +0 -33
  488. package/dist/utils/query-expander.test.js.map +0 -1
  489. package/dist/v2-features.test.d.ts +0 -2
  490. package/dist/v2-features.test.d.ts.map +0 -1
  491. package/dist/v2-features.test.js +0 -209
  492. package/dist/v2-features.test.js.map +0 -1
  493. /package/dist/{mcp/prompts/definitions → prompts}/architecture-design.md +0 -0
  494. /package/dist/{mcp/prompts/definitions → prompts}/documentation-sync.md +0 -0
  495. /package/dist/{mcp/prompts/definitions → prompts}/fix-suggestion.md +0 -0
  496. /package/dist/{mcp/prompts/definitions → prompts}/import-github-issues.md +0 -0
  497. /package/dist/{mcp/prompts/definitions → prompts}/learning-retrospective.md +0 -0
  498. /package/dist/{mcp/prompts/definitions → prompts}/memory-guided-review.md +0 -0
  499. /package/dist/{mcp/prompts/definitions → prompts}/project-briefing.md +0 -0
  500. /package/dist/{mcp/prompts/definitions → prompts}/root-cause-analysis.md +0 -0
  501. /package/dist/{mcp/prompts/definitions → prompts}/security-triage.md +0 -0
  502. /package/dist/{mcp/prompts/definitions → prompts}/senior-code-review.md +0 -0
  503. /package/dist/{mcp/prompts/definitions → prompts}/session-planner.md +0 -0
  504. /package/dist/{mcp/prompts/definitions → prompts}/tech-affinity-scout.md +0 -0
  505. /package/dist/{mcp/prompts/definitions → prompts}/technical-planning.md +0 -0
  506. /package/dist/{mcp/prompts/definitions → prompts}/tool-usage-guidelines.md +0 -0
@@ -1,470 +0,0 @@
1
- // Feature: memory-mcp-optimization, Property 11: createRouter() uses provided storage
2
- import { describe, it, expect, vi } from "vitest";
3
- import * as fc from "fast-check";
4
- import { createRouter } from "../router.js";
5
- import { createSessionContext, updateSessionRoots } from "../mcp/session.js";
6
- import path from "node:path";
7
- /**
8
- * Property 11: createRouter() menggunakan storage yang diberikan
9
- * Validates: Requirements 10.1, 10.4
10
- *
11
- * For any mock SQLiteStore given to createRouter(mockDb, mockVectors),
12
- * all tool operations run through the router SHALL use mockDb and not access the real DB.
13
- */
14
- describe("createRouter() — Property 11: uses provided storage", () => {
15
- function makeMockDb() {
16
- return {
17
- insert: vi.fn(),
18
- update: vi.fn(),
19
- delete: vi.fn(),
20
- getById: vi.fn().mockReturnValue(null),
21
- searchByRepo: vi.fn().mockReturnValue([]),
22
- searchBySimilarity: vi.fn().mockReturnValue([]),
23
- getRecentMemories: vi.fn().mockReturnValue([]),
24
- getTotalCount: vi.fn().mockReturnValue(0),
25
- getSummary: vi.fn().mockReturnValue(null),
26
- upsertSummary: vi.fn(),
27
- listRepos: vi.fn().mockReturnValue([]),
28
- listRecent: vi.fn().mockReturnValue([]),
29
- incrementHitCount: vi.fn(),
30
- incrementRecallCount: vi.fn(),
31
- getStats: vi.fn().mockReturnValue({ total: 0, byType: {}, unused: 0 }),
32
- getAllMemoriesWithStats: vi.fn().mockReturnValue([]),
33
- upsertVectorEmbedding: vi.fn(),
34
- getVectorEmbedding: vi.fn().mockReturnValue(null),
35
- archiveExpiredMemories: vi.fn().mockReturnValue(0),
36
- logQuery: vi.fn(),
37
- getRecentQueries: vi.fn().mockReturnValue([]),
38
- logAction: vi.fn(),
39
- checkConflicts: vi.fn().mockResolvedValue(null),
40
- getTasksByRepo: vi.fn().mockReturnValue([]),
41
- getTasksByMultipleStatuses: vi.fn().mockReturnValue([]),
42
- getTaskStats: vi.fn().mockReturnValue({ todo: 0 }),
43
- isTaskCodeDuplicate: vi.fn().mockReturnValue(false),
44
- insertTask: vi.fn(),
45
- updateTask: vi.fn(),
46
- deleteTask: vi.fn(),
47
- getTaskById: vi.fn().mockReturnValue(null),
48
- close: vi.fn(),
49
- };
50
- }
51
- function makeMockVectors() {
52
- return {
53
- upsert: vi.fn().mockResolvedValue(undefined),
54
- remove: vi.fn().mockResolvedValue(undefined),
55
- search: vi.fn().mockResolvedValue([]),
56
- };
57
- }
58
- it("memory-recap calls getRecentMemories on the provided mock db", async () => {
59
- const mockDb = makeMockDb();
60
- const mockVectors = makeMockVectors();
61
- const router = createRouter(mockDb, mockVectors);
62
- await router("tools/call", {
63
- name: "memory-recap",
64
- arguments: { repo: "test-repo", limit: 5 },
65
- });
66
- expect(mockDb.getRecentMemories).toHaveBeenCalledWith("test-repo", 5, 0);
67
- expect(mockDb.getTotalCount).toHaveBeenCalledWith("test-repo");
68
- });
69
- it("memory-search calls searchBySimilarity on the provided mock db", async () => {
70
- const mockDb = makeMockDb();
71
- const mockVectors = makeMockVectors();
72
- const router = createRouter(mockDb, mockVectors);
73
- await router("tools/call", {
74
- name: "memory-search",
75
- arguments: { query: "test query", repo: "test-repo", limit: 5 },
76
- });
77
- expect(mockDb.searchBySimilarity).toHaveBeenCalled();
78
- // Verify the first argument to searchBySimilarity contains the repo
79
- const callArgs = mockDb.searchBySimilarity.mock.calls[0];
80
- expect(callArgs[1]).toBe("test-repo");
81
- });
82
- it("property: for any repo string, memory-recap always uses the injected db", async () => {
83
- await fc.assert(fc.asyncProperty(fc.string({ minLength: 1, maxLength: 50 }).filter((s) => s.trim().length > 0), fc.integer({ min: 1, max: 50 }), async (repo, limit) => {
84
- const mockDb = makeMockDb();
85
- const mockVectors = makeMockVectors();
86
- const router = createRouter(mockDb, mockVectors);
87
- await router("tools/call", {
88
- name: "memory-recap",
89
- arguments: { repo, limit },
90
- });
91
- // The mock db methods must have been called (not a real DB)
92
- expect(mockDb.getRecentMemories).toHaveBeenCalled();
93
- expect(mockDb.getTotalCount).toHaveBeenCalled();
94
- }), { numRuns: 100 });
95
- });
96
- it("property: for any valid store args, memory-store uses the injected db", async () => {
97
- await fc.assert(fc.asyncProperty(fc.record({
98
- repo: fc.string({ minLength: 1, maxLength: 30 }).filter((s) => s.trim().length > 0),
99
- content: fc.string({ minLength: 10, maxLength: 200 }),
100
- importance: fc.integer({ min: 1, max: 5 }),
101
- type: fc.constantFrom("code_fact", "decision", "mistake", "pattern", "file_claim"),
102
- title: fc.string({ minLength: 3, maxLength: 50 }),
103
- }), async ({ repo, content, importance, type, title }) => {
104
- const mockDb = makeMockDb();
105
- const mockVectors = makeMockVectors();
106
- const router = createRouter(mockDb, mockVectors);
107
- await router("tools/call", {
108
- name: "memory-store",
109
- arguments: { type, content, importance, title, scope: { repo }, agent: "test-agent", model: "test-model" },
110
- });
111
- expect(mockDb.insert).toHaveBeenCalled();
112
- }), { numRuns: 100 });
113
- });
114
- it("different router instances use their own injected db independently", () => {
115
- const mockDb1 = makeMockDb();
116
- const mockDb2 = makeMockDb();
117
- const mockVectors = makeMockVectors();
118
- const router1 = createRouter(mockDb1, mockVectors);
119
- const router2 = createRouter(mockDb2, mockVectors);
120
- // Both routers are distinct functions
121
- expect(router1).not.toBe(router2);
122
- // Each router closes over its own db
123
- // (verified by the property tests above that each mock is called independently)
124
- });
125
- it("supports resources/templates/list", async () => {
126
- const mockDb = makeMockDb();
127
- const mockVectors = makeMockVectors();
128
- const router = createRouter(mockDb, mockVectors);
129
- const result = await router("resources/templates/list", {});
130
- const templates = result.resourceTemplates.map((entry) => entry.uriTemplate);
131
- expect(templates).toContain("memory://index?repo={repo}");
132
- expect(templates).toContain("tasks://current?repo={repo}");
133
- });
134
- it("supports tools/list pagination with nextCursor", async () => {
135
- const mockDb = makeMockDb();
136
- const mockVectors = makeMockVectors();
137
- const session = createSessionContext();
138
- session.supportsSampling = true;
139
- session.supportsElicitationForm = true;
140
- const router = createRouter(mockDb, mockVectors, {
141
- getSessionContext: () => session,
142
- });
143
- const firstPage = await router("tools/list", { limit: 2 });
144
- const secondPage = await router("tools/list", { limit: 2, cursor: firstPage.nextCursor });
145
- expect(firstPage.tools).toHaveLength(2);
146
- expect(firstPage.nextCursor).toBeTruthy();
147
- expect(secondPage.tools).toHaveLength(2);
148
- expect(secondPage.tools[0].name).not.toBe(firstPage.tools[0].name);
149
- });
150
- it("rejects invalid cursors for tools/list with MCP invalid params error", async () => {
151
- const mockDb = makeMockDb();
152
- const mockVectors = makeMockVectors();
153
- const router = createRouter(mockDb, mockVectors);
154
- await expect(router("tools/list", { cursor: "%%%not-base64%%%" })).rejects.toMatchObject({
155
- code: -32602,
156
- });
157
- });
158
- it("supports completion for resource template repo arguments", async () => {
159
- const mockDb = makeMockDb();
160
- mockDb.listRepos.mockReturnValue(["alpha-repo", "beta-repo"]);
161
- const mockVectors = makeMockVectors();
162
- const router = createRouter(mockDb, mockVectors);
163
- const result = await router("completion/complete", {
164
- ref: {
165
- type: "ref/resource",
166
- uri: "memory://index?repo={repo}",
167
- },
168
- argument: {
169
- name: "repo",
170
- value: "alp",
171
- },
172
- });
173
- expect(result.completion.values).toContain("alpha-repo");
174
- expect(result.completion.values).not.toContain("beta-repo");
175
- });
176
- it("supports completion for prompt file_path arguments within active roots", async () => {
177
- const mockDb = makeMockDb();
178
- const mockVectors = makeMockVectors();
179
- const session = createSessionContext();
180
- updateSessionRoots(session, [{ uri: `file://${path.resolve(process.cwd())}` }]);
181
- const router = createRouter(mockDb, mockVectors, {
182
- getSessionContext: () => session,
183
- });
184
- const result = await router("completion/complete", {
185
- ref: {
186
- type: "ref/prompt",
187
- name: "memory-guided-review",
188
- },
189
- argument: {
190
- name: "file_path",
191
- value: "src/router",
192
- },
193
- });
194
- expect(result.completion.values.some((value) => value.includes("src/router.ts"))).toBe(true);
195
- });
196
- it("supports completion for prompt task_id arguments using repo context", async () => {
197
- const mockDb = makeMockDb();
198
- mockDb.getTasksByRepo.mockReturnValue([
199
- {
200
- id: "123e4567-e89b-12d3-a456-426614174001",
201
- task_code: "TASK-123",
202
- title: "Review architecture",
203
- },
204
- ]);
205
- const mockVectors = makeMockVectors();
206
- const router = createRouter(mockDb, mockVectors);
207
- const result = await router("completion/complete", {
208
- ref: {
209
- type: "ref/prompt",
210
- name: "learning-retrospective",
211
- },
212
- argument: {
213
- name: "task_id",
214
- value: "123e4567",
215
- },
216
- context: {
217
- arguments: {
218
- repo: "test-repo",
219
- },
220
- },
221
- });
222
- expect(mockDb.getTasksByRepo).toHaveBeenCalledWith("test-repo", undefined, 100);
223
- expect(result.completion.values).toContain("123e4567-e89b-12d3-a456-426614174001");
224
- });
225
- it("filters session-dependent tools from tools/list when the client lacks required capabilities", async () => {
226
- const mockDb = makeMockDb();
227
- const mockVectors = makeMockVectors();
228
- const session = createSessionContext();
229
- const router = createRouter(mockDb, mockVectors, {
230
- getSessionContext: () => session,
231
- });
232
- const result = await router("tools/list", {});
233
- const toolNames = result.tools.map((tool) => tool.name);
234
- expect(toolNames).not.toContain("memory-synthesize");
235
- expect(toolNames).not.toContain("task-create-interactive");
236
- });
237
- it("rejects absolute tool paths outside active roots", async () => {
238
- const mockDb = makeMockDb();
239
- const mockVectors = makeMockVectors();
240
- const session = createSessionContext();
241
- updateSessionRoots(session, [{ uri: "file:///workspace/repo" }]);
242
- const router = createRouter(mockDb, mockVectors, {
243
- getSessionContext: () => session,
244
- });
245
- await expect(router("tools/call", {
246
- name: "memory-search",
247
- arguments: {
248
- query: "test query",
249
- repo: "test-repo",
250
- current_file_path: "/tmp/outside.ts",
251
- },
252
- })).rejects.toThrow("current_file_path must stay within the active MCP roots");
253
- });
254
- it("supports logging/setLevel utility", async () => {
255
- const mockDb = makeMockDb();
256
- const mockVectors = makeMockVectors();
257
- const router = createRouter(mockDb, mockVectors);
258
- const result = await router("logging/setLevel", { level: "debug" });
259
- expect(result.level).toBe("debug");
260
- expect(result.supportedLevels).toContain("info");
261
- });
262
- it("rejects invalid logging/setLevel values with MCP invalid params error", async () => {
263
- const mockDb = makeMockDb();
264
- const mockVectors = makeMockVectors();
265
- const router = createRouter(mockDb, mockVectors);
266
- await expect(router("logging/setLevel", { level: "verbose" })).rejects.toMatchObject({
267
- code: -32602,
268
- });
269
- });
270
- it("supports prompt list pagination with nextCursor", async () => {
271
- const mockDb = makeMockDb();
272
- const mockVectors = makeMockVectors();
273
- const router = createRouter(mockDb, mockVectors);
274
- const firstPage = await router("prompts/list", { limit: 2 });
275
- const secondPage = await router("prompts/list", { limit: 2, cursor: firstPage.nextCursor });
276
- expect(firstPage.prompts).toHaveLength(2);
277
- expect(firstPage.nextCursor).toBeTruthy();
278
- expect(secondPage.prompts).toHaveLength(2);
279
- expect(secondPage.prompts[0].name).not.toBe(firstPage.prompts[0].name);
280
- });
281
- it("rejects invalid cursors for prompts/list with MCP invalid params error", async () => {
282
- const mockDb = makeMockDb();
283
- const mockVectors = makeMockVectors();
284
- const router = createRouter(mockDb, mockVectors);
285
- await expect(router("prompts/list", { cursor: "%%%not-base64%%%" })).rejects.toMatchObject({
286
- code: -32602,
287
- });
288
- });
289
- it("validates required prompt arguments with MCP invalid params error", async () => {
290
- const mockDb = makeMockDb();
291
- const mockVectors = makeMockVectors();
292
- const router = createRouter(mockDb, mockVectors);
293
- await expect(router("prompts/get", {
294
- name: "memory-guided-review",
295
- arguments: {},
296
- })).rejects.toMatchObject({
297
- code: -32602,
298
- });
299
- });
300
- it("returns a dynamic prompt with embedded resource messages", async () => {
301
- const mockDb = makeMockDb();
302
- mockDb.listRepos.mockReturnValue(["repo-alpha"]);
303
- const mockVectors = makeMockVectors();
304
- const router = createRouter(mockDb, mockVectors);
305
- const result = await router("prompts/get", {
306
- name: "workspace-briefing-rich",
307
- arguments: {},
308
- });
309
- const resourceUris = result.messages
310
- .filter((message) => message.content?.type === "resource")
311
- .map((message) => message.content.resource.uri);
312
- expect(resourceUris).toContain("session://roots");
313
- expect(resourceUris).toContain("memory://summary/repo-alpha");
314
- expect(resourceUris).toContain("tasks://current?repo=repo-alpha");
315
- });
316
- it("memory-synthesize uses sampling when the client supports it", async () => {
317
- const mockDb = makeMockDb();
318
- const mockVectors = makeMockVectors();
319
- const session = createSessionContext();
320
- session.supportsSampling = true;
321
- const sampleMessage = vi.fn().mockResolvedValue({
322
- role: "assistant",
323
- content: { type: "text", text: "Grounded answer from sampling." },
324
- model: "test-model",
325
- stopReason: "endTurn",
326
- });
327
- const router = createRouter(mockDb, mockVectors, {
328
- getSessionContext: () => session,
329
- sampleMessage,
330
- });
331
- const result = await router("tools/call", {
332
- name: "memory-synthesize",
333
- arguments: { repo: "test-repo", objective: "Summarize the project state" },
334
- });
335
- expect(sampleMessage).toHaveBeenCalledTimes(1);
336
- expect(result.data.answer).toContain("Grounded answer");
337
- expect(result.structuredContent.answer).toContain("Grounded answer");
338
- });
339
- it("memory-synthesize supports a multi-turn sampling tool loop", async () => {
340
- const mockDb = makeMockDb();
341
- const mockVectors = makeMockVectors();
342
- const session = createSessionContext();
343
- session.supportsSampling = true;
344
- session.supportsSamplingTools = true;
345
- const sampleMessage = vi.fn()
346
- .mockResolvedValueOnce({
347
- role: "assistant",
348
- content: [{
349
- type: "tool_use",
350
- id: "call_1",
351
- name: "memory_recap",
352
- input: { repo: "test-repo", limit: 3 },
353
- }],
354
- stopReason: "toolUse",
355
- })
356
- .mockResolvedValueOnce({
357
- role: "assistant",
358
- content: { type: "text", text: "Final grounded answer after tool use." },
359
- model: "test-model",
360
- stopReason: "endTurn",
361
- });
362
- const router = createRouter(mockDb, mockVectors, {
363
- getSessionContext: () => session,
364
- sampleMessage,
365
- });
366
- const result = await router("tools/call", {
367
- name: "memory-synthesize",
368
- arguments: {
369
- repo: "test-repo",
370
- objective: "Explain the latest architecture decisions",
371
- max_iterations: 3,
372
- },
373
- });
374
- expect(sampleMessage).toHaveBeenCalledTimes(2);
375
- expect(result.data.toolCalls).toBe(1);
376
- expect(result.data.iterations).toBe(2);
377
- });
378
- it("memory-synthesize elicits the repo when roots cannot infer it", async () => {
379
- const mockDb = makeMockDb();
380
- const mockVectors = makeMockVectors();
381
- const session = createSessionContext();
382
- session.supportsSampling = true;
383
- session.supportsElicitation = true;
384
- session.supportsElicitationForm = true;
385
- const sampleMessage = vi.fn().mockResolvedValue({
386
- role: "assistant",
387
- content: { type: "text", text: "Synthesized after repo elicitation." },
388
- model: "test-model",
389
- stopReason: "endTurn",
390
- });
391
- const elicit = vi.fn().mockResolvedValue({
392
- action: "accept",
393
- content: { repo: "elicited-repo" },
394
- });
395
- const router = createRouter(mockDb, mockVectors, {
396
- getSessionContext: () => session,
397
- sampleMessage,
398
- elicit,
399
- });
400
- const result = await router("tools/call", {
401
- name: "memory-synthesize",
402
- arguments: { objective: "Summarize the repo using elicitation" },
403
- });
404
- expect(elicit).toHaveBeenCalledTimes(1);
405
- expect(sampleMessage).toHaveBeenCalledTimes(1);
406
- expect(result.data.repo).toBe("elicited-repo");
407
- });
408
- it("task-create-interactive elicits missing task fields and creates the task", async () => {
409
- const mockDb = makeMockDb();
410
- const mockVectors = makeMockVectors();
411
- const session = createSessionContext();
412
- session.supportsElicitation = true;
413
- session.supportsElicitationForm = true;
414
- const elicit = vi.fn().mockResolvedValue({
415
- action: "accept",
416
- content: {
417
- repo: "interactive-repo",
418
- task_code: "TASK-101",
419
- phase: "implementation",
420
- title: "Implement elicitation flow",
421
- description: "Add elicitation-backed task creation flow",
422
- status: "pending",
423
- priority: 4,
424
- },
425
- });
426
- const router = createRouter(mockDb, mockVectors, {
427
- getSessionContext: () => session,
428
- elicit,
429
- });
430
- const result = await router("tools/call", {
431
- name: "task-create-interactive",
432
- arguments: {},
433
- });
434
- expect(elicit).toHaveBeenCalledTimes(1);
435
- expect(mockDb.insertTask).toHaveBeenCalledTimes(1);
436
- expect(result.data.repo).toBe("interactive-repo");
437
- expect(result.data.task_code).toBe("TASK-101");
438
- });
439
- it("returns resource links in memory-search results", async () => {
440
- const mockDb = makeMockDb();
441
- const mockVectors = makeMockVectors();
442
- mockDb.searchBySimilarity.mockReturnValue([
443
- {
444
- id: "123e4567-e89b-12d3-a456-426614174000",
445
- type: "decision",
446
- title: "Use SQLite for local memory",
447
- content: "SQLite keeps the server self-contained.",
448
- importance: 4,
449
- scope: { repo: "test-repo" },
450
- created_at: "2026-01-01T00:00:00.000Z",
451
- updated_at: "2026-01-01T00:00:00.000Z",
452
- hit_count: 0,
453
- recall_count: 0,
454
- last_used_at: null,
455
- expires_at: null,
456
- tags: [],
457
- },
458
- ]);
459
- mockVectors.search.mockResolvedValue([]);
460
- const router = createRouter(mockDb, mockVectors);
461
- const result = await router("tools/call", {
462
- name: "memory-search",
463
- arguments: { query: "sqlite", repo: "test-repo", limit: 5 },
464
- });
465
- const resourceLinks = result.content.filter((entry) => entry.type === "resource_link");
466
- expect(resourceLinks.some((entry) => entry.uri === "memory://index?repo=test-repo")).toBe(true);
467
- expect(resourceLinks.some((entry) => entry.uri === "memory://123e4567-e89b-12d3-a456-426614174000")).toBe(true);
468
- });
469
- });
470
- //# sourceMappingURL=router.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.test.js","sourceRoot":"","sources":["../../src/tests/router.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sqlite.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite.test.d.ts","sourceRoot":"","sources":["../../src/tests/sqlite.test.ts"],"names":[],"mappings":""}