@tonycasey/lisa 2.26.0 → 2.27.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 (469) hide show
  1. package/dist/lib/application/handlers/PromptSubmitHandler.d.ts.map +1 -1
  2. package/dist/lib/application/handlers/PromptSubmitHandler.js +2 -2
  3. package/dist/lib/application/handlers/PromptSubmitHandler.js.map +1 -1
  4. package/dist/lib/application/handlers/SessionStartHandler.d.ts +2 -33
  5. package/dist/lib/application/handlers/SessionStartHandler.d.ts.map +1 -1
  6. package/dist/lib/application/handlers/SessionStartHandler.js +9 -108
  7. package/dist/lib/application/handlers/SessionStartHandler.js.map +1 -1
  8. package/dist/lib/application/handlers/SessionStopHandler.d.ts.map +1 -1
  9. package/dist/lib/application/handlers/SessionStopHandler.js +2 -3
  10. package/dist/lib/application/handlers/SessionStopHandler.js.map +1 -1
  11. package/dist/lib/application/handlers/pr/PrPollHandler.d.ts +1 -2
  12. package/dist/lib/application/handlers/pr/PrPollHandler.d.ts.map +1 -1
  13. package/dist/lib/application/handlers/pr/PrPollHandler.js +3 -4
  14. package/dist/lib/application/handlers/pr/PrPollHandler.js.map +1 -1
  15. package/dist/lib/application/handlers/pr/PrRememberHandler.d.ts +1 -2
  16. package/dist/lib/application/handlers/pr/PrRememberHandler.d.ts.map +1 -1
  17. package/dist/lib/application/handlers/pr/PrRememberHandler.js +2 -3
  18. package/dist/lib/application/handlers/pr/PrRememberHandler.js.map +1 -1
  19. package/dist/lib/application/services/GitExtractorService.d.ts +22 -0
  20. package/dist/lib/application/services/GitExtractorService.d.ts.map +1 -0
  21. package/dist/lib/application/services/GitExtractorService.js +232 -0
  22. package/dist/lib/application/services/GitExtractorService.js.map +1 -0
  23. package/dist/lib/application/services/GitIndexingService.d.ts +25 -0
  24. package/dist/lib/application/services/GitIndexingService.d.ts.map +1 -0
  25. package/dist/lib/application/services/GitIndexingService.js +175 -0
  26. package/dist/lib/application/services/GitIndexingService.js.map +1 -0
  27. package/dist/lib/application/services/MemoryContextLoader.d.ts +7 -16
  28. package/dist/lib/application/services/MemoryContextLoader.d.ts.map +1 -1
  29. package/dist/lib/application/services/MemoryContextLoader.js +12 -75
  30. package/dist/lib/application/services/MemoryContextLoader.js.map +1 -1
  31. package/dist/lib/application/services/RepoProfileService.d.ts +37 -0
  32. package/dist/lib/application/services/RepoProfileService.d.ts.map +1 -0
  33. package/dist/lib/application/services/RepoProfileService.js +388 -0
  34. package/dist/lib/application/services/RepoProfileService.js.map +1 -0
  35. package/dist/lib/application/services/index.d.ts +1 -0
  36. package/dist/lib/application/services/index.d.ts.map +1 -1
  37. package/dist/lib/application/services/index.js +5 -1
  38. package/dist/lib/application/services/index.js.map +1 -1
  39. package/dist/lib/cli.d.ts +2 -2
  40. package/dist/lib/cli.d.ts.map +1 -1
  41. package/dist/lib/cli.js +4 -52
  42. package/dist/lib/cli.js.map +1 -1
  43. package/dist/lib/commands/doctor.d.ts +5 -12
  44. package/dist/lib/commands/doctor.d.ts.map +1 -1
  45. package/dist/lib/commands/doctor.js +60 -280
  46. package/dist/lib/commands/doctor.js.map +1 -1
  47. package/dist/lib/commands/index.d.ts +2 -3
  48. package/dist/lib/commands/index.d.ts.map +1 -1
  49. package/dist/lib/commands/index.js +2 -7
  50. package/dist/lib/commands/index.js.map +1 -1
  51. package/dist/lib/commands/init.d.ts +2 -8
  52. package/dist/lib/commands/init.d.ts.map +1 -1
  53. package/dist/lib/commands/init.js +13 -67
  54. package/dist/lib/commands/init.js.map +1 -1
  55. package/dist/lib/commands/knowledge.d.ts.map +1 -1
  56. package/dist/lib/commands/knowledge.js +1 -2
  57. package/dist/lib/commands/knowledge.js.map +1 -1
  58. package/dist/lib/commands/pr.d.ts.map +1 -1
  59. package/dist/lib/commands/pr.js +20 -21
  60. package/dist/lib/commands/pr.js.map +1 -1
  61. package/dist/lib/commands/shared/constants.d.ts +1 -15
  62. package/dist/lib/commands/shared/constants.d.ts.map +1 -1
  63. package/dist/lib/commands/shared/constants.js +2 -5
  64. package/dist/lib/commands/shared/constants.js.map +1 -1
  65. package/dist/lib/commands/shared/index.d.ts +1 -1
  66. package/dist/lib/commands/shared/index.d.ts.map +1 -1
  67. package/dist/lib/commands/shared/index.js +1 -3
  68. package/dist/lib/commands/shared/index.js.map +1 -1
  69. package/dist/lib/commands/skills.d.ts +1 -1
  70. package/dist/lib/commands/skills.js +5 -5
  71. package/dist/lib/commands/skills.js.map +1 -1
  72. package/dist/lib/domain/interfaces/IConsolidationService.d.ts +3 -2
  73. package/dist/lib/domain/interfaces/IConsolidationService.d.ts.map +1 -1
  74. package/dist/lib/domain/interfaces/ICurationService.d.ts +3 -2
  75. package/dist/lib/domain/interfaces/ICurationService.d.ts.map +1 -1
  76. package/dist/lib/domain/interfaces/IFileSystem.d.ts +28 -0
  77. package/dist/lib/domain/interfaces/IFileSystem.d.ts.map +1 -0
  78. package/dist/lib/domain/interfaces/IFileSystem.js +12 -0
  79. package/dist/lib/domain/interfaces/IFileSystem.js.map +1 -0
  80. package/dist/lib/domain/interfaces/IGitExtractor.d.ts +160 -0
  81. package/dist/lib/domain/interfaces/IGitExtractor.d.ts.map +1 -0
  82. package/dist/lib/domain/interfaces/IGitExtractor.js +37 -0
  83. package/dist/lib/domain/interfaces/IGitExtractor.js.map +1 -0
  84. package/dist/lib/domain/interfaces/IGitIndexingService.d.ts +69 -0
  85. package/dist/lib/domain/interfaces/IGitIndexingService.d.ts.map +1 -0
  86. package/dist/lib/domain/interfaces/IGitIndexingService.js +43 -0
  87. package/dist/lib/domain/interfaces/IGitIndexingService.js.map +1 -0
  88. package/dist/lib/domain/interfaces/IGitMemClient.d.ts +44 -0
  89. package/dist/lib/domain/interfaces/IGitMemClient.d.ts.map +1 -0
  90. package/dist/lib/domain/interfaces/IGitMemClient.js +9 -0
  91. package/dist/lib/domain/interfaces/IGitMemClient.js.map +1 -0
  92. package/dist/lib/domain/interfaces/ILisaServices.d.ts +0 -15
  93. package/dist/lib/domain/interfaces/ILisaServices.d.ts.map +1 -1
  94. package/dist/lib/domain/interfaces/IMemoryService.d.ts +14 -89
  95. package/dist/lib/domain/interfaces/IMemoryService.d.ts.map +1 -1
  96. package/dist/lib/domain/interfaces/INlCurationService.d.ts +4 -4
  97. package/dist/lib/domain/interfaces/INlCurationService.d.ts.map +1 -1
  98. package/dist/lib/domain/interfaces/IRecursionService.d.ts +3 -2
  99. package/dist/lib/domain/interfaces/IRecursionService.d.ts.map +1 -1
  100. package/dist/lib/domain/interfaces/IRepoProfileService.d.ts +132 -0
  101. package/dist/lib/domain/interfaces/IRepoProfileService.d.ts.map +1 -0
  102. package/dist/lib/domain/interfaces/IRepoProfileService.js +25 -0
  103. package/dist/lib/domain/interfaces/IRepoProfileService.js.map +1 -0
  104. package/dist/lib/domain/interfaces/ISummarizationService.d.ts +4 -3
  105. package/dist/lib/domain/interfaces/ISummarizationService.d.ts.map +1 -1
  106. package/dist/lib/domain/interfaces/ITaskService.d.ts +11 -16
  107. package/dist/lib/domain/interfaces/ITaskService.d.ts.map +1 -1
  108. package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts +0 -1
  109. package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts.map +1 -1
  110. package/dist/lib/domain/interfaces/dal/IRepositoryRouter.d.ts +1 -1
  111. package/dist/lib/domain/interfaces/dal/IRepositoryRouter.js +2 -2
  112. package/dist/lib/domain/interfaces/dal/IRepositoryRouter.js.map +1 -1
  113. package/dist/lib/domain/interfaces/events/IMemoryEvent.d.ts +6 -4
  114. package/dist/lib/domain/interfaces/events/IMemoryEvent.d.ts.map +1 -1
  115. package/dist/lib/domain/interfaces/events/IMemoryEvent.js +2 -4
  116. package/dist/lib/domain/interfaces/events/IMemoryEvent.js.map +1 -1
  117. package/dist/lib/domain/interfaces/index.d.ts +6 -2
  118. package/dist/lib/domain/interfaces/index.d.ts.map +1 -1
  119. package/dist/lib/domain/interfaces/index.js +10 -1
  120. package/dist/lib/domain/interfaces/index.js.map +1 -1
  121. package/dist/lib/infrastructure/adapters/gitmem/GitMemAdapter.d.ts +22 -0
  122. package/dist/lib/infrastructure/adapters/gitmem/GitMemAdapter.d.ts.map +1 -0
  123. package/dist/lib/infrastructure/adapters/gitmem/GitMemAdapter.js +88 -0
  124. package/dist/lib/infrastructure/adapters/gitmem/GitMemAdapter.js.map +1 -0
  125. package/dist/lib/infrastructure/adapters/gitmem/GitMemTaskAdapter.d.ts +19 -0
  126. package/dist/lib/infrastructure/adapters/gitmem/GitMemTaskAdapter.d.ts.map +1 -0
  127. package/dist/lib/infrastructure/adapters/gitmem/GitMemTaskAdapter.js +109 -0
  128. package/dist/lib/infrastructure/adapters/gitmem/GitMemTaskAdapter.js.map +1 -0
  129. package/dist/lib/infrastructure/adapters/gitmem/index.d.ts +3 -0
  130. package/dist/lib/infrastructure/adapters/gitmem/index.d.ts.map +1 -0
  131. package/dist/lib/infrastructure/adapters/gitmem/index.js +8 -0
  132. package/dist/lib/infrastructure/adapters/gitmem/index.js.map +1 -0
  133. package/dist/lib/infrastructure/dal/connections/index.d.ts +0 -4
  134. package/dist/lib/infrastructure/dal/connections/index.d.ts.map +1 -1
  135. package/dist/lib/infrastructure/dal/connections/index.js +2 -10
  136. package/dist/lib/infrastructure/dal/connections/index.js.map +1 -1
  137. package/dist/lib/infrastructure/dal/index.d.ts +4 -22
  138. package/dist/lib/infrastructure/dal/index.d.ts.map +1 -1
  139. package/dist/lib/infrastructure/dal/index.js +3 -37
  140. package/dist/lib/infrastructure/dal/index.js.map +1 -1
  141. package/dist/lib/infrastructure/dal/repositories/index.d.ts +1 -3
  142. package/dist/lib/infrastructure/dal/repositories/index.d.ts.map +1 -1
  143. package/dist/lib/infrastructure/dal/repositories/index.js +2 -12
  144. package/dist/lib/infrastructure/dal/repositories/index.js.map +1 -1
  145. package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts +0 -2
  146. package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts.map +1 -1
  147. package/dist/lib/infrastructure/dal/repositories/neo4j/index.js +2 -6
  148. package/dist/lib/infrastructure/dal/repositories/neo4j/index.js.map +1 -1
  149. package/dist/lib/infrastructure/di/ServiceFactory.d.ts +0 -9
  150. package/dist/lib/infrastructure/di/ServiceFactory.d.ts.map +1 -1
  151. package/dist/lib/infrastructure/di/bootstrap.d.ts +3 -1
  152. package/dist/lib/infrastructure/di/bootstrap.d.ts.map +1 -1
  153. package/dist/lib/infrastructure/di/bootstrap.js +26 -138
  154. package/dist/lib/infrastructure/di/bootstrap.js.map +1 -1
  155. package/dist/lib/infrastructure/di/tokens.d.ts +0 -22
  156. package/dist/lib/infrastructure/di/tokens.d.ts.map +1 -1
  157. package/dist/lib/infrastructure/di/tokens.js +0 -12
  158. package/dist/lib/infrastructure/di/tokens.js.map +1 -1
  159. package/dist/lib/infrastructure/git-mem/GitMemClient.d.ts +37 -0
  160. package/dist/lib/infrastructure/git-mem/GitMemClient.d.ts.map +1 -0
  161. package/dist/lib/infrastructure/git-mem/GitMemClient.js +151 -0
  162. package/dist/lib/infrastructure/git-mem/GitMemClient.js.map +1 -0
  163. package/dist/lib/infrastructure/git-mem/GitMemFactory.d.ts +36 -0
  164. package/dist/lib/infrastructure/git-mem/GitMemFactory.d.ts.map +1 -0
  165. package/dist/lib/infrastructure/git-mem/GitMemFactory.js +56 -0
  166. package/dist/lib/infrastructure/git-mem/GitMemFactory.js.map +1 -0
  167. package/dist/lib/infrastructure/git-mem/index.d.ts +7 -0
  168. package/dist/lib/infrastructure/git-mem/index.d.ts.map +1 -0
  169. package/dist/lib/infrastructure/git-mem/index.js +13 -0
  170. package/dist/lib/infrastructure/git-mem/index.js.map +1 -0
  171. package/dist/lib/infrastructure/git-mem/types.d.ts +90 -0
  172. package/dist/lib/infrastructure/git-mem/types.d.ts.map +1 -0
  173. package/dist/lib/infrastructure/git-mem/types.js +9 -0
  174. package/dist/lib/infrastructure/git-mem/types.js.map +1 -0
  175. package/dist/lib/infrastructure/github/GitHubDataFetcher.d.ts +21 -0
  176. package/dist/lib/infrastructure/github/GitHubDataFetcher.d.ts.map +1 -0
  177. package/dist/lib/infrastructure/github/GitHubDataFetcher.js +111 -0
  178. package/dist/lib/infrastructure/github/GitHubDataFetcher.js.map +1 -0
  179. package/dist/lib/infrastructure/index.d.ts +0 -1
  180. package/dist/lib/infrastructure/index.d.ts.map +1 -1
  181. package/dist/lib/infrastructure/index.js +1 -3
  182. package/dist/lib/infrastructure/index.js.map +1 -1
  183. package/dist/lib/infrastructure/services/CurationService.d.ts.map +1 -1
  184. package/dist/lib/infrastructure/services/CurationService.js +4 -4
  185. package/dist/lib/infrastructure/services/CurationService.js.map +1 -1
  186. package/dist/lib/infrastructure/services/GitMemMemoryService.d.ts +24 -0
  187. package/dist/lib/infrastructure/services/GitMemMemoryService.d.ts.map +1 -0
  188. package/dist/lib/infrastructure/services/GitMemMemoryService.js +114 -0
  189. package/dist/lib/infrastructure/services/GitMemMemoryService.js.map +1 -0
  190. package/dist/lib/infrastructure/services/GitMemTaskService.d.ts +24 -0
  191. package/dist/lib/infrastructure/services/GitMemTaskService.d.ts.map +1 -0
  192. package/dist/lib/infrastructure/services/GitMemTaskService.js +142 -0
  193. package/dist/lib/infrastructure/services/GitMemTaskService.js.map +1 -0
  194. package/dist/lib/infrastructure/services/LlmGuard.d.ts.map +1 -1
  195. package/dist/lib/infrastructure/services/LlmGuard.js +44 -13
  196. package/dist/lib/infrastructure/services/LlmGuard.js.map +1 -1
  197. package/dist/lib/infrastructure/services/NlCurationService.d.ts.map +1 -1
  198. package/dist/lib/infrastructure/services/NlCurationService.js +12 -12
  199. package/dist/lib/infrastructure/services/NlCurationService.js.map +1 -1
  200. package/dist/lib/infrastructure/services/NodeFileSystem.d.ts +12 -0
  201. package/dist/lib/infrastructure/services/NodeFileSystem.d.ts.map +1 -0
  202. package/dist/lib/infrastructure/services/NodeFileSystem.js +40 -0
  203. package/dist/lib/infrastructure/services/NodeFileSystem.js.map +1 -0
  204. package/dist/lib/infrastructure/services/RecursionService.d.ts +1 -1
  205. package/dist/lib/infrastructure/services/RecursionService.d.ts.map +1 -1
  206. package/dist/lib/infrastructure/services/RecursionService.js +8 -8
  207. package/dist/lib/infrastructure/services/RecursionService.js.map +1 -1
  208. package/dist/lib/infrastructure/services/SkillMemoryService.d.ts +26 -0
  209. package/dist/lib/infrastructure/services/SkillMemoryService.d.ts.map +1 -0
  210. package/dist/lib/infrastructure/services/SkillMemoryService.js +317 -0
  211. package/dist/lib/infrastructure/services/SkillMemoryService.js.map +1 -0
  212. package/dist/lib/infrastructure/services/SkillPromptService.d.ts +16 -0
  213. package/dist/lib/infrastructure/services/SkillPromptService.d.ts.map +1 -0
  214. package/dist/lib/infrastructure/services/SkillPromptService.js +53 -0
  215. package/dist/lib/infrastructure/services/SkillPromptService.js.map +1 -0
  216. package/dist/lib/infrastructure/services/SkillTaskService.d.ts +32 -0
  217. package/dist/lib/infrastructure/services/SkillTaskService.d.ts.map +1 -0
  218. package/dist/lib/infrastructure/services/SkillTaskService.js +214 -0
  219. package/dist/lib/infrastructure/services/SkillTaskService.js.map +1 -0
  220. package/dist/lib/infrastructure/services/SummarizationService.d.ts.map +1 -1
  221. package/dist/lib/infrastructure/services/SummarizationService.js +3 -5
  222. package/dist/lib/infrastructure/services/SummarizationService.js.map +1 -1
  223. package/dist/lib/infrastructure/services/index.d.ts +7 -4
  224. package/dist/lib/infrastructure/services/index.d.ts.map +1 -1
  225. package/dist/lib/infrastructure/services/index.js +31 -13
  226. package/dist/lib/infrastructure/services/index.js.map +1 -1
  227. package/dist/lib/infrastructure/services/patterns/HeuristicPatterns.d.ts +72 -0
  228. package/dist/lib/infrastructure/services/patterns/HeuristicPatterns.d.ts.map +1 -0
  229. package/dist/lib/infrastructure/services/patterns/HeuristicPatterns.js +261 -0
  230. package/dist/lib/infrastructure/services/patterns/HeuristicPatterns.js.map +1 -0
  231. package/dist/lib/{skills/shared/services/interfaces/IMemoryService.d.ts → infrastructure/services/skill-interfaces/ISkillMemoryService.d.ts} +38 -47
  232. package/dist/lib/infrastructure/services/skill-interfaces/ISkillMemoryService.d.ts.map +1 -0
  233. package/dist/lib/{domain/interfaces/IMcpClient.js → infrastructure/services/skill-interfaces/ISkillMemoryService.js} +1 -1
  234. package/dist/lib/infrastructure/services/skill-interfaces/ISkillMemoryService.js.map +1 -0
  235. package/dist/lib/infrastructure/services/skill-interfaces/ISkillPromptService.d.ts +48 -0
  236. package/dist/lib/infrastructure/services/skill-interfaces/ISkillPromptService.d.ts.map +1 -0
  237. package/dist/lib/infrastructure/services/skill-interfaces/ISkillPromptService.js +10 -0
  238. package/dist/lib/infrastructure/services/skill-interfaces/ISkillPromptService.js.map +1 -0
  239. package/dist/lib/{skills/shared/services/interfaces/ITaskService.d.ts → infrastructure/services/skill-interfaces/ISkillTaskService.d.ts} +29 -27
  240. package/dist/lib/infrastructure/services/skill-interfaces/ISkillTaskService.d.ts.map +1 -0
  241. package/dist/lib/infrastructure/services/skill-interfaces/ISkillTaskService.js +13 -0
  242. package/dist/lib/infrastructure/services/skill-interfaces/ISkillTaskService.js.map +1 -0
  243. package/dist/lib/infrastructure/services/skill-interfaces/index.d.ts +16 -0
  244. package/dist/lib/infrastructure/services/skill-interfaces/index.d.ts.map +1 -0
  245. package/dist/lib/infrastructure/services/skill-interfaces/index.js +11 -0
  246. package/dist/lib/infrastructure/services/skill-interfaces/index.js.map +1 -0
  247. package/dist/lib/scanner/reviewer.js +2 -2
  248. package/dist/lib/scanner/reviewer.js.map +1 -1
  249. package/dist/lib/skills/github/bump-version.d.ts +14 -0
  250. package/dist/lib/skills/github/bump-version.d.ts.map +1 -0
  251. package/dist/lib/skills/{git → github}/bump-version.js +22 -1
  252. package/dist/lib/skills/github/bump-version.js.map +1 -0
  253. package/dist/lib/skills/github/github.d.ts +0 -1
  254. package/dist/lib/skills/github/github.d.ts.map +1 -1
  255. package/dist/lib/skills/github/github.js +15 -45
  256. package/dist/lib/skills/github/github.js.map +1 -1
  257. package/dist/lib/skills/memory/memory.js +5 -9
  258. package/dist/lib/skills/memory/memory.js.map +1 -1
  259. package/dist/lib/skills/prompt/prompt.d.ts +4 -1
  260. package/dist/lib/skills/prompt/prompt.d.ts.map +1 -1
  261. package/dist/lib/skills/prompt/prompt.js +10 -11
  262. package/dist/lib/skills/prompt/prompt.js.map +1 -1
  263. package/dist/lib/skills/{init-review → review}/ai-enrich.d.ts +3 -0
  264. package/dist/lib/skills/review/ai-enrich.d.ts.map +1 -0
  265. package/dist/lib/skills/{init-review → review}/ai-enrich.js +6 -6
  266. package/dist/lib/skills/review/ai-enrich.js.map +1 -0
  267. package/dist/lib/skills/review/init-review.d.ts.map +1 -0
  268. package/dist/lib/skills/review/init-review.js.map +1 -0
  269. package/dist/lib/skills/shared/clients/index.d.ts +4 -3
  270. package/dist/lib/skills/shared/clients/index.d.ts.map +1 -1
  271. package/dist/lib/skills/shared/clients/index.js +7 -10
  272. package/dist/lib/skills/shared/clients/index.js.map +1 -1
  273. package/dist/lib/skills/shared/clients/interfaces/index.d.ts +0 -3
  274. package/dist/lib/skills/shared/clients/interfaces/index.d.ts.map +1 -1
  275. package/dist/lib/skills/shared/clients/interfaces/index.js +0 -3
  276. package/dist/lib/skills/shared/clients/interfaces/index.js.map +1 -1
  277. package/dist/lib/skills/shared/index.d.ts +3 -2
  278. package/dist/lib/skills/shared/index.d.ts.map +1 -1
  279. package/dist/lib/skills/shared/index.js +3 -2
  280. package/dist/lib/skills/shared/index.js.map +1 -1
  281. package/dist/lib/skills/shared/services/GitHubSyncService.d.ts +4 -0
  282. package/dist/lib/skills/shared/services/GitHubSyncService.d.ts.map +1 -1
  283. package/dist/lib/skills/shared/services/GitHubSyncService.js +7 -7
  284. package/dist/lib/skills/shared/services/GitHubSyncService.js.map +1 -1
  285. package/dist/lib/skills/shared/services/MemoryCliService.d.ts +0 -2
  286. package/dist/lib/skills/shared/services/MemoryCliService.d.ts.map +1 -1
  287. package/dist/lib/skills/shared/services/MemoryCliService.js +11 -17
  288. package/dist/lib/skills/shared/services/MemoryCliService.js.map +1 -1
  289. package/dist/lib/skills/shared/services/StorageService.d.ts.map +1 -1
  290. package/dist/lib/skills/shared/services/StorageService.js +6 -2
  291. package/dist/lib/skills/shared/services/StorageService.js.map +1 -1
  292. package/dist/lib/skills/shared/services/TaskCliService.d.ts +3 -3
  293. package/dist/lib/skills/shared/services/TaskCliService.d.ts.map +1 -1
  294. package/dist/lib/skills/shared/services/TaskCliService.js +10 -14
  295. package/dist/lib/skills/shared/services/TaskCliService.js.map +1 -1
  296. package/dist/lib/skills/shared/services/index.d.ts +8 -4
  297. package/dist/lib/skills/shared/services/index.d.ts.map +1 -1
  298. package/dist/lib/skills/shared/services/index.js +15 -10
  299. package/dist/lib/skills/shared/services/index.js.map +1 -1
  300. package/dist/lib/skills/shared/services/interfaces/index.d.ts +4 -2
  301. package/dist/lib/skills/shared/services/interfaces/index.d.ts.map +1 -1
  302. package/dist/lib/skills/shared/services/interfaces/index.js +4 -2
  303. package/dist/lib/skills/shared/services/interfaces/index.js.map +1 -1
  304. package/dist/lib/skills/shared/utils/index.d.ts +0 -1
  305. package/dist/lib/skills/shared/utils/index.d.ts.map +1 -1
  306. package/dist/lib/skills/shared/utils/index.js +1 -9
  307. package/dist/lib/skills/shared/utils/index.js.map +1 -1
  308. package/dist/lib/skills/tasks/tasks.d.ts +9 -6
  309. package/dist/lib/skills/tasks/tasks.d.ts.map +1 -1
  310. package/dist/lib/skills/tasks/tasks.js +17 -17
  311. package/dist/lib/skills/tasks/tasks.js.map +1 -1
  312. package/dist/opencode/lisa.js +62207 -15689
  313. package/dist/package.json +5 -4
  314. package/dist/project/.lisa/.env.template +12 -9
  315. package/dist/project/.lisa/rules/shared/git-rules.md +2 -10
  316. package/dist/project/.lisa/skills/github/SKILL.md +121 -3
  317. package/dist/project/.lisa/skills/github/pr-description-template.txt +8 -0
  318. package/dist/project/.lisa/skills/pr/SKILL.md +1 -2
  319. package/dist/project/.lisa/skills/pr/pr-description-template.txt +8 -0
  320. package/dist/project/.lisa/skills/{init-review → review}/SKILL.md +9 -9
  321. package/package.json +5 -4
  322. package/dist/lib/commands/docker.d.ts +0 -20
  323. package/dist/lib/commands/docker.d.ts.map +0 -1
  324. package/dist/lib/commands/docker.js +0 -27
  325. package/dist/lib/commands/docker.js.map +0 -1
  326. package/dist/lib/domain/interfaces/IMcpClient.d.ts +0 -44
  327. package/dist/lib/domain/interfaces/IMcpClient.d.ts.map +0 -1
  328. package/dist/lib/domain/interfaces/IMcpClient.js.map +0 -1
  329. package/dist/lib/infrastructure/dal/RepositoryFactory.d.ts +0 -71
  330. package/dist/lib/infrastructure/dal/RepositoryFactory.d.ts.map +0 -1
  331. package/dist/lib/infrastructure/dal/RepositoryFactory.js +0 -134
  332. package/dist/lib/infrastructure/dal/RepositoryFactory.js.map +0 -1
  333. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.d.ts +0 -56
  334. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.d.ts.map +0 -1
  335. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js +0 -98
  336. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js.map +0 -1
  337. package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.d.ts +0 -53
  338. package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.d.ts.map +0 -1
  339. package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.js +0 -168
  340. package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.js.map +0 -1
  341. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts +0 -64
  342. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts.map +0 -1
  343. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js +0 -145
  344. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js.map +0 -1
  345. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts +0 -60
  346. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts.map +0 -1
  347. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js +0 -186
  348. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js.map +0 -1
  349. package/dist/lib/infrastructure/dal/repositories/mcp/index.d.ts +0 -6
  350. package/dist/lib/infrastructure/dal/repositories/mcp/index.d.ts.map +0 -1
  351. package/dist/lib/infrastructure/dal/repositories/mcp/index.js +0 -11
  352. package/dist/lib/infrastructure/dal/repositories/mcp/index.js.map +0 -1
  353. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts +0 -69
  354. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts.map +0 -1
  355. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js +0 -299
  356. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js.map +0 -1
  357. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts +0 -49
  358. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts.map +0 -1
  359. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js +0 -193
  360. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js.map +0 -1
  361. package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.d.ts +0 -55
  362. package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.d.ts.map +0 -1
  363. package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.js +0 -165
  364. package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.js.map +0 -1
  365. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts +0 -58
  366. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts.map +0 -1
  367. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js +0 -210
  368. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js.map +0 -1
  369. package/dist/lib/infrastructure/dal/repositories/zep/index.d.ts +0 -6
  370. package/dist/lib/infrastructure/dal/repositories/zep/index.d.ts.map +0 -1
  371. package/dist/lib/infrastructure/dal/repositories/zep/index.js +0 -11
  372. package/dist/lib/infrastructure/dal/repositories/zep/index.js.map +0 -1
  373. package/dist/lib/infrastructure/dal/routing/RepositoryRouter.d.ts +0 -73
  374. package/dist/lib/infrastructure/dal/routing/RepositoryRouter.d.ts.map +0 -1
  375. package/dist/lib/infrastructure/dal/routing/RepositoryRouter.js +0 -170
  376. package/dist/lib/infrastructure/dal/routing/RepositoryRouter.js.map +0 -1
  377. package/dist/lib/infrastructure/dal/routing/index.d.ts +0 -5
  378. package/dist/lib/infrastructure/dal/routing/index.d.ts.map +0 -1
  379. package/dist/lib/infrastructure/dal/routing/index.js +0 -10
  380. package/dist/lib/infrastructure/dal/routing/index.js.map +0 -1
  381. package/dist/lib/infrastructure/mcp/McpClient.d.ts +0 -71
  382. package/dist/lib/infrastructure/mcp/McpClient.d.ts.map +0 -1
  383. package/dist/lib/infrastructure/mcp/McpClient.js +0 -221
  384. package/dist/lib/infrastructure/mcp/McpClient.js.map +0 -1
  385. package/dist/lib/infrastructure/mcp/index.d.ts +0 -5
  386. package/dist/lib/infrastructure/mcp/index.d.ts.map +0 -1
  387. package/dist/lib/infrastructure/mcp/index.js +0 -9
  388. package/dist/lib/infrastructure/mcp/index.js.map +0 -1
  389. package/dist/lib/infrastructure/services/ConsolidationService.d.ts +0 -21
  390. package/dist/lib/infrastructure/services/ConsolidationService.d.ts.map +0 -1
  391. package/dist/lib/infrastructure/services/ConsolidationService.js +0 -134
  392. package/dist/lib/infrastructure/services/ConsolidationService.js.map +0 -1
  393. package/dist/lib/infrastructure/services/DeduplicationService.d.ts +0 -21
  394. package/dist/lib/infrastructure/services/DeduplicationService.d.ts.map +0 -1
  395. package/dist/lib/infrastructure/services/DeduplicationService.js +0 -111
  396. package/dist/lib/infrastructure/services/DeduplicationService.js.map +0 -1
  397. package/dist/lib/infrastructure/services/MemoryService.d.ts +0 -96
  398. package/dist/lib/infrastructure/services/MemoryService.d.ts.map +0 -1
  399. package/dist/lib/infrastructure/services/MemoryService.js +0 -486
  400. package/dist/lib/infrastructure/services/MemoryService.js.map +0 -1
  401. package/dist/lib/infrastructure/services/TaskService.d.ts +0 -38
  402. package/dist/lib/infrastructure/services/TaskService.d.ts.map +0 -1
  403. package/dist/lib/infrastructure/services/TaskService.js +0 -227
  404. package/dist/lib/infrastructure/services/TaskService.js.map +0 -1
  405. package/dist/lib/skills/common/group-id.d.ts +0 -49
  406. package/dist/lib/skills/common/group-id.d.ts.map +0 -1
  407. package/dist/lib/skills/common/group-id.js +0 -194
  408. package/dist/lib/skills/common/group-id.js.map +0 -1
  409. package/dist/lib/skills/git/bump-version.d.ts +0 -9
  410. package/dist/lib/skills/git/bump-version.d.ts.map +0 -1
  411. package/dist/lib/skills/git/bump-version.js.map +0 -1
  412. package/dist/lib/skills/init-review/ai-enrich.d.ts.map +0 -1
  413. package/dist/lib/skills/init-review/ai-enrich.js.map +0 -1
  414. package/dist/lib/skills/init-review/init-review.d.ts.map +0 -1
  415. package/dist/lib/skills/init-review/init-review.js.map +0 -1
  416. package/dist/lib/skills/shared/clients/McpClient.d.ts +0 -26
  417. package/dist/lib/skills/shared/clients/McpClient.d.ts.map +0 -1
  418. package/dist/lib/skills/shared/clients/McpClient.js +0 -162
  419. package/dist/lib/skills/shared/clients/McpClient.js.map +0 -1
  420. package/dist/lib/skills/shared/clients/Neo4jClient.d.ts +0 -15
  421. package/dist/lib/skills/shared/clients/Neo4jClient.d.ts.map +0 -1
  422. package/dist/lib/skills/shared/clients/Neo4jClient.js +0 -139
  423. package/dist/lib/skills/shared/clients/Neo4jClient.js.map +0 -1
  424. package/dist/lib/skills/shared/clients/ZepClient.d.ts +0 -14
  425. package/dist/lib/skills/shared/clients/ZepClient.d.ts.map +0 -1
  426. package/dist/lib/skills/shared/clients/ZepClient.js +0 -238
  427. package/dist/lib/skills/shared/clients/ZepClient.js.map +0 -1
  428. package/dist/lib/skills/shared/clients/interfaces/IMcpClient.d.ts +0 -56
  429. package/dist/lib/skills/shared/clients/interfaces/IMcpClient.d.ts.map +0 -1
  430. package/dist/lib/skills/shared/clients/interfaces/IMcpClient.js +0 -3
  431. package/dist/lib/skills/shared/clients/interfaces/IMcpClient.js.map +0 -1
  432. package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.d.ts +0 -59
  433. package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.d.ts.map +0 -1
  434. package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.js +0 -3
  435. package/dist/lib/skills/shared/clients/interfaces/INeo4jClient.js.map +0 -1
  436. package/dist/lib/skills/shared/clients/interfaces/IZepClient.d.ts +0 -152
  437. package/dist/lib/skills/shared/clients/interfaces/IZepClient.d.ts.map +0 -1
  438. package/dist/lib/skills/shared/clients/interfaces/IZepClient.js +0 -3
  439. package/dist/lib/skills/shared/clients/interfaces/IZepClient.js.map +0 -1
  440. package/dist/lib/skills/shared/group-id.d.ts +0 -2
  441. package/dist/lib/skills/shared/group-id.d.ts.map +0 -1
  442. package/dist/lib/skills/shared/group-id.js +0 -18
  443. package/dist/lib/skills/shared/group-id.js.map +0 -1
  444. package/dist/lib/skills/shared/services/MemoryService.d.ts +0 -24
  445. package/dist/lib/skills/shared/services/MemoryService.d.ts.map +0 -1
  446. package/dist/lib/skills/shared/services/MemoryService.js +0 -574
  447. package/dist/lib/skills/shared/services/MemoryService.js.map +0 -1
  448. package/dist/lib/skills/shared/services/PromptService.d.ts +0 -28
  449. package/dist/lib/skills/shared/services/PromptService.d.ts.map +0 -1
  450. package/dist/lib/skills/shared/services/PromptService.js +0 -53
  451. package/dist/lib/skills/shared/services/PromptService.js.map +0 -1
  452. package/dist/lib/skills/shared/services/TaskService.d.ts +0 -24
  453. package/dist/lib/skills/shared/services/TaskService.d.ts.map +0 -1
  454. package/dist/lib/skills/shared/services/TaskService.js +0 -388
  455. package/dist/lib/skills/shared/services/TaskService.js.map +0 -1
  456. package/dist/lib/skills/shared/services/interfaces/IMemoryService.d.ts.map +0 -1
  457. package/dist/lib/skills/shared/services/interfaces/IMemoryService.js +0 -3
  458. package/dist/lib/skills/shared/services/interfaces/IMemoryService.js.map +0 -1
  459. package/dist/lib/skills/shared/services/interfaces/ITaskService.d.ts.map +0 -1
  460. package/dist/lib/skills/shared/services/interfaces/ITaskService.js +0 -7
  461. package/dist/lib/skills/shared/services/interfaces/ITaskService.js.map +0 -1
  462. package/dist/lib/skills/shared/utils/group-id.d.ts +0 -64
  463. package/dist/lib/skills/shared/utils/group-id.d.ts.map +0 -1
  464. package/dist/lib/skills/shared/utils/group-id.js +0 -176
  465. package/dist/lib/skills/shared/utils/group-id.js.map +0 -1
  466. package/dist/project/.lisa/docker/docker-compose.graphiti.yml +0 -45
  467. package/dist/project/.lisa/skills/git/SKILL.md +0 -171
  468. /package/dist/lib/skills/{init-review → review}/init-review.d.ts +0 -0
  469. /package/dist/lib/skills/{init-review → review}/init-review.js +0 -0
@@ -1,299 +0,0 @@
1
- "use strict";
2
- /**
3
- * Neo4j Memory Repository
4
- *
5
- * Read-only memory repository using direct Neo4j Cypher queries.
6
- * Optimized for date-ordered listing and aggregations.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Neo4jMemoryRepository = void 0;
10
- const dal_1 = require("../../../../domain/interfaces/dal");
11
- const IMemoryLifecycle_1 = require("../../../../domain/interfaces/types/IMemoryLifecycle");
12
- const IMemoryQuality_1 = require("../../../../domain/interfaces/types/IMemoryQuality");
13
- /**
14
- * Neo4j Memory Repository implementation.
15
- * Read-only with expiration support: writes go through MCP for proper Graphiti ingestion.
16
- */
17
- class Neo4jMemoryRepository {
18
- constructor(connection) {
19
- this.connection = connection;
20
- }
21
- /**
22
- * Find facts by group IDs with optional filtering and sorting.
23
- */
24
- async findByGroupIds(groupIds, options) {
25
- const opts = (0, dal_1.applyQueryDefaults)(options);
26
- const { limit, offset, sort, includeExpired, since, until } = opts;
27
- // Build Cypher query
28
- const groupList = groupIds.map((g) => `"${g}"`).join(', ');
29
- const sortField = `r.${sort?.field || 'created_at'}`;
30
- const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
31
- // Build WHERE clauses
32
- const whereClauses = [
33
- `r.group_id IN [${groupList}]`,
34
- `r.fact IS NOT NULL`,
35
- ];
36
- if (!includeExpired) {
37
- whereClauses.push(`r.expired_at IS NULL`);
38
- }
39
- if (since) {
40
- whereClauses.push(`r.created_at >= datetime("${since.toISOString()}")`);
41
- }
42
- if (until) {
43
- whereClauses.push(`r.created_at <= datetime("${until.toISOString()}")`);
44
- }
45
- const whereClause = whereClauses.join(' AND ');
46
- const cypher = `
47
- MATCH (s:Entity)-[r]->(t:Entity)
48
- WHERE ${whereClause}
49
- RETURN r.uuid AS uuid, r.group_id AS group_id, r.name AS name,
50
- r.fact AS fact, r.created_at AS created_at,
51
- r.valid_at AS valid_at, r.invalid_at AS invalid_at,
52
- r.expired_at AS expired_at
53
- ORDER BY ${sortField} ${sortOrder}
54
- SKIP ${offset}
55
- LIMIT ${limit}
56
- `;
57
- const records = await this.connection.query(cypher);
58
- const items = records.map(this.toMemoryItem);
59
- return {
60
- items,
61
- source: 'neo4j',
62
- hasMore: items.length === limit,
63
- };
64
- }
65
- /**
66
- * Semantic search is NOT supported by Neo4j direct.
67
- * Throws an error - use MCP repository for semantic search.
68
- */
69
- async search(_groupIds, _query, _options) {
70
- throw new Error('Neo4j repository does not support semantic search. Use MCP repository instead.');
71
- }
72
- /**
73
- * Find facts by tags.
74
- * Note: Tag filtering depends on how Graphiti stores tags in Neo4j.
75
- */
76
- async findByTags(groupIds, tags, options) {
77
- const opts = (0, dal_1.applyQueryDefaults)(options);
78
- const { limit, offset, sort, includeExpired } = opts;
79
- const groupList = groupIds.map((g) => `"${g}"`).join(', ');
80
- const tagList = tags.map((t) => `"${t}"`).join(', ');
81
- const sortField = `r.${sort?.field || 'created_at'}`;
82
- const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
83
- const whereClauses = [
84
- `r.group_id IN [${groupList}]`,
85
- `r.fact IS NOT NULL`,
86
- ];
87
- if (!includeExpired) {
88
- whereClauses.push(`r.expired_at IS NULL`);
89
- }
90
- // Add tag filter - Graphiti may store tags differently
91
- // This assumes tags are stored in an array property
92
- if (tags.length > 0) {
93
- whereClauses.push(`ANY(tag IN [${tagList}] WHERE tag IN r.tags)`);
94
- }
95
- const whereClause = whereClauses.join(' AND ');
96
- const cypher = `
97
- MATCH (s:Entity)-[r]->(t:Entity)
98
- WHERE ${whereClause}
99
- RETURN r.uuid AS uuid, r.group_id AS group_id, r.name AS name,
100
- r.fact AS fact, r.created_at AS created_at,
101
- r.valid_at AS valid_at, r.invalid_at AS invalid_at,
102
- r.expired_at AS expired_at
103
- ORDER BY ${sortField} ${sortOrder}
104
- SKIP ${offset}
105
- LIMIT ${limit}
106
- `;
107
- const records = await this.connection.query(cypher);
108
- const items = records.map(this.toMemoryItem);
109
- return {
110
- items,
111
- source: 'neo4j',
112
- hasMore: items.length === limit,
113
- };
114
- }
115
- /**
116
- * Expire a single fact by UUID.
117
- * Sets expired_at timestamp on the matching relationship.
118
- */
119
- async expire(groupId, uuid) {
120
- const cypher = `
121
- MATCH (s:Entity)-[r]->(t:Entity)
122
- WHERE r.group_id = $groupId AND r.uuid = $uuid AND r.expired_at IS NULL
123
- SET r.expired_at = datetime()
124
- `;
125
- await this.connection.write(cypher, { groupId, uuid });
126
- }
127
- /**
128
- * Expire facts matching a filter.
129
- * Uses count-then-write: READ session for count, WRITE session for expiration.
130
- * @returns Number of facts expired
131
- */
132
- async expireByFilter(groupId, filter) {
133
- const whereClauses = [
134
- `r.group_id = $groupId`,
135
- `r.fact IS NOT NULL`,
136
- `r.expired_at IS NULL`,
137
- ];
138
- const params = { groupId };
139
- if (filter.lifecycle) {
140
- const lifecycleTag = (0, IMemoryLifecycle_1.resolveLifecycleTag)(filter.lifecycle);
141
- whereClauses.push(`$lifecycleTag IN r.tags`);
142
- params.lifecycleTag = lifecycleTag;
143
- }
144
- if (filter.olderThan) {
145
- whereClauses.push(`r.created_at <= datetime($olderThan)`);
146
- params.olderThan = filter.olderThan.toISOString();
147
- }
148
- if (filter.tags && filter.tags.length > 0) {
149
- whereClauses.push(`ANY(tag IN $filterTags WHERE tag IN r.tags)`);
150
- params.filterTags = [...filter.tags];
151
- }
152
- const whereClause = whereClauses.join(' AND ');
153
- // Step 1: Count matching facts (READ session)
154
- const countCypher = `
155
- MATCH (s:Entity)-[r]->(t:Entity)
156
- WHERE ${whereClause}
157
- RETURN count(r) AS count
158
- `;
159
- const countResult = await this.connection.query(countCypher, params);
160
- const count = countResult[0]?.count ?? 0;
161
- if (count === 0) {
162
- return 0;
163
- }
164
- // Step 2: Expire matching facts (WRITE session)
165
- const expireCypher = `
166
- MATCH (s:Entity)-[r]->(t:Entity)
167
- WHERE ${whereClause}
168
- SET r.expired_at = datetime()
169
- `;
170
- await this.connection.write(expireCypher, params);
171
- return count;
172
- }
173
- /**
174
- * Find facts at or above a minimum confidence level.
175
- * Filters by confidence:* tags using CONFIDENCE_SCORES ordering.
176
- */
177
- async findByMinConfidence(groupIds, minLevel, options) {
178
- const opts = (0, dal_1.applyQueryDefaults)(options);
179
- const { limit, offset, sort, includeExpired } = opts;
180
- // Build list of confidence tags at or above the minimum level
181
- const minScore = IMemoryQuality_1.CONFIDENCE_SCORES[minLevel];
182
- const acceptedTags = IMemoryQuality_1.CONFIDENCE_VALUES
183
- .filter((level) => IMemoryQuality_1.CONFIDENCE_SCORES[level] >= minScore)
184
- .map(IMemoryQuality_1.resolveConfidenceTag);
185
- const sortField = `r.${sort?.field || 'created_at'}`;
186
- const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
187
- const params = {
188
- groupIds: [...groupIds],
189
- acceptedTags: [...acceptedTags],
190
- offset,
191
- limit,
192
- };
193
- const whereClauses = [
194
- `r.group_id IN $groupIds`,
195
- `r.fact IS NOT NULL`,
196
- `ANY(tag IN r.tags WHERE tag IN $acceptedTags)`,
197
- ];
198
- if (!includeExpired) {
199
- whereClauses.push(`r.expired_at IS NULL`);
200
- }
201
- const whereClause = whereClauses.join(' AND ');
202
- const cypher = `
203
- MATCH (s:Entity)-[r]->(t:Entity)
204
- WHERE ${whereClause}
205
- RETURN r.uuid AS uuid, r.group_id AS group_id, r.name AS name,
206
- r.fact AS fact, r.created_at AS created_at,
207
- r.valid_at AS valid_at, r.invalid_at AS invalid_at,
208
- r.expired_at AS expired_at
209
- ORDER BY ${sortField} ${sortOrder}
210
- SKIP $offset
211
- LIMIT $limit
212
- `;
213
- const records = await this.connection.query(cypher, params);
214
- const items = records.map(this.toMemoryItem);
215
- return {
216
- items,
217
- source: 'neo4j',
218
- hasMore: items.length === limit,
219
- };
220
- }
221
- /**
222
- * Find groups of potentially conflicting facts.
223
- * Detects facts sharing a type:* tag but with differing content.
224
- */
225
- async findConflicts(groupIds, topic, options) {
226
- const opts = (0, dal_1.applyQueryDefaults)(options);
227
- const { limit, includeExpired } = opts;
228
- const params = {
229
- groupIds: [...groupIds],
230
- limit,
231
- };
232
- const whereClauses = [
233
- `r.group_id IN $groupIds`,
234
- `r.fact IS NOT NULL`,
235
- `ANY(tag IN r.tags WHERE tag STARTS WITH 'type:')`,
236
- ];
237
- if (!includeExpired) {
238
- whereClauses.push(`r.expired_at IS NULL`);
239
- }
240
- if (topic) {
241
- whereClauses.push(`$topic IN r.tags`);
242
- params.topic = topic;
243
- }
244
- const whereClause = whereClauses.join(' AND ');
245
- const cypher = `
246
- MATCH (s:Entity)-[r]->(t:Entity)
247
- WHERE ${whereClause}
248
- WITH [tag IN r.tags WHERE tag STARTS WITH 'type:' | tag][0] AS topicTag,
249
- r.uuid AS uuid, r.name AS name, r.fact AS fact,
250
- r.group_id AS group_id, r.created_at AS created_at
251
- WITH topicTag, COLLECT({ uuid: uuid, name: name, fact: fact, group_id: group_id, created_at: created_at }) AS facts
252
- WHERE SIZE(facts) > 1
253
- RETURN topicTag, facts
254
- LIMIT $limit
255
- `;
256
- const records = await this.connection.query(cypher, params);
257
- return records.map((record) => ({
258
- topic: record.topicTag,
259
- facts: record.facts.map((f) => ({
260
- uuid: f.uuid,
261
- name: f.name,
262
- fact: f.fact,
263
- created_at: f.created_at,
264
- })),
265
- detectedAt: new Date().toISOString(),
266
- }));
267
- }
268
- /**
269
- * Neo4j does not support semantic search.
270
- */
271
- supportsSemanticSearch() {
272
- return false;
273
- }
274
- /**
275
- * Neo4j excels at date-ordered queries.
276
- */
277
- supportsDateOrdering() {
278
- return true;
279
- }
280
- /**
281
- * Neo4j direct is read-only (writes go through MCP).
282
- */
283
- supportsWrite() {
284
- return false;
285
- }
286
- /**
287
- * Convert Neo4j record to IMemoryItem.
288
- */
289
- toMemoryItem(record) {
290
- return {
291
- uuid: record.uuid,
292
- name: record.name,
293
- fact: record.fact,
294
- created_at: record.created_at,
295
- };
296
- }
297
- }
298
- exports.Neo4jMemoryRepository = Neo4jMemoryRepository;
299
- //# sourceMappingURL=Neo4jMemoryRepository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Neo4jMemoryRepository.js","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Neo4j Task Repository
3
- *
4
- * Read-only task repository using direct Neo4j Cypher queries.
5
- * Optimized for task aggregations and status queries.
6
- */
7
- import type { ITask, ITaskCounts } from '../../../../domain/interfaces/types/ITask';
8
- import type { IReadOnlyTaskRepository, IQueryOptions, ITaskQueryResult } from '../../../../domain/interfaces/dal';
9
- import { Neo4jConnectionManager } from '../../connections/Neo4jConnectionManager';
10
- /**
11
- * Neo4j Task Repository implementation.
12
- * Read-only: writes go through MCP.
13
- */
14
- export declare class Neo4jTaskRepository implements IReadOnlyTaskRepository {
15
- private readonly connection;
16
- constructor(connection: Neo4jConnectionManager);
17
- /**
18
- * Find tasks by group IDs.
19
- */
20
- findByGroupIds(groupIds: readonly string[], options?: IQueryOptions): Promise<ITaskQueryResult>;
21
- /**
22
- * Find a task by its key (UUID).
23
- */
24
- findByKey(groupId: string, taskKey: string): Promise<ITask | null>;
25
- /**
26
- * Find tasks by status.
27
- * Note: Status filtering requires parsing JSON content, so we filter in JS.
28
- */
29
- findByStatus(groupIds: readonly string[], status: ITask['status'], options?: Omit<IQueryOptions, 'tags'>): Promise<ITaskQueryResult>;
30
- /**
31
- * Get task counts by status.
32
- * Since status is in JSON content, we need to parse and count in JS.
33
- */
34
- getCounts(groupIds: readonly string[]): Promise<ITaskCounts>;
35
- /**
36
- * Neo4j direct is read-only.
37
- */
38
- supportsWrite(): boolean;
39
- /**
40
- * Neo4j excels at aggregations.
41
- */
42
- supportsAggregation(): boolean;
43
- /**
44
- * Convert Neo4j record to ITask.
45
- * Handles both Episodic (JSON content) and Entity (direct fields) schemas.
46
- */
47
- private toTask;
48
- }
49
- //# sourceMappingURL=Neo4jTaskRepository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Neo4jTaskRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EACV,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EACjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAkClF;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,uBAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,sBAAsB;IAE/D;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,gBAAgB,CAAC;IAkC5B;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAqBxB;;;OAGG;IACG,YAAY,CAChB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,gBAAgB,CAAC;IAuC5B;;;OAGG;IACG,SAAS,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAsClE;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;;OAGG;IACH,OAAO,CAAC,MAAM;CA+Bf"}
@@ -1,193 +0,0 @@
1
- "use strict";
2
- /**
3
- * Neo4j Task Repository
4
- *
5
- * Read-only task repository using direct Neo4j Cypher queries.
6
- * Optimized for task aggregations and status queries.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Neo4jTaskRepository = void 0;
10
- const dal_1 = require("../../../../domain/interfaces/dal");
11
- /**
12
- * Neo4j Task Repository implementation.
13
- * Read-only: writes go through MCP.
14
- */
15
- class Neo4jTaskRepository {
16
- constructor(connection) {
17
- this.connection = connection;
18
- }
19
- /**
20
- * Find tasks by group IDs.
21
- */
22
- async findByGroupIds(groupIds, options) {
23
- const opts = (0, dal_1.applyQueryDefaults)(options);
24
- const { limit, offset, sort } = opts;
25
- const groupList = groupIds.map((g) => `"${g}"`).join(', ');
26
- const sortField = sort?.field === 'created_at' ? 'n.created_at' : 'n.title';
27
- const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
28
- // Query for Task episodic nodes in Graphiti's schema
29
- // Tasks are stored as Episodic nodes with name starting with 'TASK:' (uppercase)
30
- // and content containing JSON with type:"task"
31
- const cypher = `
32
- MATCH (e:Episodic)
33
- WHERE e.group_id IN [${groupList}]
34
- AND (e.name STARTS WITH 'TASK:' OR e.content CONTAINS '"type":"task"' OR e.content CONTAINS '"type": "task"')
35
- RETURN e.uuid AS key,
36
- e.name AS title,
37
- e.content AS content,
38
- e.created_at AS created_at
39
- ORDER BY ${sortField.replace('n.', 'e.')} ${sortOrder}
40
- SKIP ${offset}
41
- LIMIT ${limit}
42
- `;
43
- const records = await this.connection.query(cypher);
44
- const items = records.map(this.toTask);
45
- return {
46
- items,
47
- source: 'neo4j',
48
- hasMore: items.length === limit,
49
- };
50
- }
51
- /**
52
- * Find a task by its key (UUID).
53
- */
54
- async findByKey(groupId, taskKey) {
55
- const cypher = `
56
- MATCH (e:Episodic)
57
- WHERE e.group_id = $groupId
58
- AND e.uuid = $taskKey
59
- AND (e.name STARTS WITH 'TASK:' OR e.content CONTAINS '"type":"task"')
60
- RETURN e.uuid AS key,
61
- e.name AS title,
62
- e.content AS content,
63
- e.created_at AS created_at
64
- LIMIT 1
65
- `;
66
- const records = await this.connection.query(cypher, {
67
- groupId,
68
- taskKey,
69
- });
70
- return records.length > 0 ? this.toTask(records[0]) : null;
71
- }
72
- /**
73
- * Find tasks by status.
74
- * Note: Status filtering requires parsing JSON content, so we filter in JS.
75
- */
76
- async findByStatus(groupIds, status, options) {
77
- const opts = (0, dal_1.applyQueryDefaults)(options);
78
- const limitVal = opts.limit ?? 100;
79
- const offsetVal = opts.offset ?? 0;
80
- const sort = opts.sort;
81
- const groupList = groupIds.map((g) => `"${g}"`).join(', ');
82
- const sortField = sort?.field === 'created_at' ? 'e.created_at' : 'e.name';
83
- const sortOrder = sort?.order === 'asc' ? 'ASC' : 'DESC';
84
- // Fetch more than needed since we filter by status in JS
85
- const fetchLimit = (limitVal + offsetVal) * 2;
86
- const cypher = `
87
- MATCH (e:Episodic)
88
- WHERE e.group_id IN [${groupList}]
89
- AND (e.name STARTS WITH 'TASK:' OR e.content CONTAINS '"type":"task"')
90
- RETURN e.uuid AS key,
91
- e.name AS title,
92
- e.content AS content,
93
- e.created_at AS created_at
94
- ORDER BY ${sortField} ${sortOrder}
95
- LIMIT ${fetchLimit}
96
- `;
97
- const records = await this.connection.query(cypher);
98
- const allItems = records.map(r => this.toTask(r));
99
- // Filter by status and apply pagination
100
- const filtered = allItems.filter(t => t.status === status);
101
- const items = filtered.slice(offsetVal, offsetVal + limitVal);
102
- return {
103
- items,
104
- source: 'neo4j',
105
- hasMore: filtered.length > offsetVal + limitVal,
106
- };
107
- }
108
- /**
109
- * Get task counts by status.
110
- * Since status is in JSON content, we need to parse and count in JS.
111
- */
112
- async getCounts(groupIds) {
113
- const groupList = groupIds.map((g) => `"${g}"`).join(', ');
114
- const cypher = `
115
- MATCH (e:Episodic)
116
- WHERE e.group_id IN [${groupList}]
117
- AND (e.name STARTS WITH 'TASK:' OR e.content CONTAINS '"type":"task"')
118
- RETURN e.uuid AS key,
119
- e.name AS title,
120
- e.content AS content,
121
- e.created_at AS created_at
122
- `;
123
- const records = await this.connection.query(cypher);
124
- const tasks = records.map(r => this.toTask(r));
125
- // Use mutable object then cast to readonly
126
- const mutableCounts = {
127
- ready: 0,
128
- 'in-progress': 0,
129
- blocked: 0,
130
- done: 0,
131
- closed: 0,
132
- unknown: 0,
133
- };
134
- for (const task of tasks) {
135
- const status = task.status;
136
- if (status in mutableCounts) {
137
- mutableCounts[status]++;
138
- }
139
- else {
140
- mutableCounts.unknown++;
141
- }
142
- }
143
- return mutableCounts;
144
- }
145
- /**
146
- * Neo4j direct is read-only.
147
- */
148
- supportsWrite() {
149
- return false;
150
- }
151
- /**
152
- * Neo4j excels at aggregations.
153
- */
154
- supportsAggregation() {
155
- return true;
156
- }
157
- /**
158
- * Convert Neo4j record to ITask.
159
- * Handles both Episodic (JSON content) and Entity (direct fields) schemas.
160
- */
161
- toTask(record) {
162
- // Try to parse JSON content from Episodic nodes
163
- let content = null;
164
- if (record.content) {
165
- try {
166
- content = JSON.parse(record.content);
167
- }
168
- catch {
169
- // Ignore parse errors, fall back to name-based extraction
170
- }
171
- }
172
- // If we have valid task content, use it
173
- if (content && content.type === 'task') {
174
- return {
175
- key: record.key,
176
- status: content.status || 'unknown',
177
- title: content.title || record.title?.replace(/^TASK:\s*/i, '') || '',
178
- blocked: record.blocked || [],
179
- created_at: record.created_at,
180
- };
181
- }
182
- // Fall back to name-based extraction (legacy or TASK: prefix)
183
- return {
184
- key: record.key,
185
- status: record.status || 'unknown',
186
- title: record.title?.replace(/^TASK:\s*/i, '').replace(/^Task:\s*/i, '') || '',
187
- blocked: record.blocked || [],
188
- created_at: record.created_at,
189
- };
190
- }
191
- }
192
- exports.Neo4jTaskRepository = Neo4jTaskRepository;
193
- //# sourceMappingURL=Neo4jTaskRepository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Neo4jTaskRepository.js","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- /**
2
- * Zep Cloud Memory Repository
3
- *
4
- * Memory repository using Zep Cloud REST API.
5
- * Cloud-based alternative that doesn't require Docker.
6
- */
7
- import type { IMemoryItem } from '../../../../domain/interfaces/types/IMemoryResult';
8
- import type { IMemoryRepository, IMemorySaveOptions, IQueryOptions, IMemoryQueryResult } from '../../../../domain/interfaces/dal';
9
- import { ZepConnectionManager } from '../../connections/ZepConnectionManager';
10
- /**
11
- * Zep Cloud Memory Repository implementation.
12
- * Uses Zep's native graph API for memory storage.
13
- */
14
- export declare class ZepMemoryRepository implements IMemoryRepository {
15
- private readonly connection;
16
- constructor(connection: ZepConnectionManager);
17
- /**
18
- * Find facts by group IDs using Zep graph search.
19
- */
20
- findByGroupIds(groupIds: readonly string[], options?: IQueryOptions): Promise<IMemoryQueryResult>;
21
- /**
22
- * Semantic search using Zep's graph search.
23
- */
24
- search(groupIds: readonly string[], query: string, options?: Omit<IQueryOptions, 'query'>): Promise<IMemoryQueryResult>;
25
- /**
26
- * Find facts by tags.
27
- * Note: Zep may not support tag filtering directly.
28
- */
29
- findByTags(groupIds: readonly string[], tags: readonly string[], options?: Omit<IQueryOptions, 'tags'>): Promise<IMemoryQueryResult>;
30
- /**
31
- * Save a fact via Zep threads API.
32
- */
33
- save(groupId: string, content: string, options?: IMemorySaveOptions): Promise<IMemoryItem>;
34
- /**
35
- * Save multiple facts in batch.
36
- */
37
- saveBatch(groupId: string, facts: readonly string[], options?: IMemorySaveOptions): Promise<readonly IMemoryItem[]>;
38
- /**
39
- * Zep supports semantic search.
40
- */
41
- supportsSemanticSearch(): boolean;
42
- /**
43
- * Zep supports date ordering (via client-side sort).
44
- */
45
- supportsDateOrdering(): boolean;
46
- /**
47
- * Zep supports write operations.
48
- */
49
- supportsWrite(): boolean;
50
- /**
51
- * Convert Zep edge to IMemoryItem.
52
- */
53
- private toMemoryItem;
54
- }
55
- //# sourceMappingURL=ZepMemoryRepository.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ZepMemoryRepository.d.ts","sourceRoot":"","sources":["../../../../../../src/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EACnB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AA0B9E;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,iBAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,oBAAoB;IAE7D;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,kBAAkB,CAAC;IA8C9B;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;;OAGG;IACG,UAAU,CACd,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,kBAAkB,CAAC;IAqB9B;;OAEG;IACG,IAAI,CACR,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC;IAuCvB;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAWlC;;OAEG;IACH,sBAAsB,IAAI,OAAO;IAIjC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,OAAO,CAAC,YAAY;CAQrB"}