@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
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ /**
3
+ * Git Extractor Service
4
+ *
5
+ * Heuristic-based extraction of structured facts from GitHub PR data.
6
+ * Fetches PR descriptions, review comments, and linked issues, then
7
+ * applies pattern matching to extract decision, gotcha, and convention facts.
8
+ *
9
+ * Complements the LLM-based CommitEnricher with fast, no-cost extraction.
10
+ *
11
+ * Part of LISA-9: Phase 3 Git-Powered Memory Extraction.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.createGitExtractorService = createGitExtractorService;
15
+ const HeuristicPatterns_1 = require("../../infrastructure/services/patterns/HeuristicPatterns");
16
+ /** Default maximum PRs to process in one call. */
17
+ const DEFAULT_MAX_PRS = 10;
18
+ /** Confidence level ordering for filtering. */
19
+ const CONFIDENCE_ORDER = {
20
+ verified: 4,
21
+ high: 3,
22
+ medium: 2,
23
+ low: 1,
24
+ uncertain: 0,
25
+ };
26
+ /**
27
+ * Create a Git extractor service.
28
+ *
29
+ * @param dataFetcher - GitHub data fetcher for PR/issue data
30
+ * @param logger - Optional logger
31
+ * @returns A Git extractor service
32
+ */
33
+ function createGitExtractorService(dataFetcher, logger) {
34
+ return {
35
+ async extractFromPRs(prNumbers, repo, options = {}) {
36
+ const maxPRs = options.maxPRs ?? DEFAULT_MAX_PRS;
37
+ const skipPRs = new Set(options.skipPRs ?? []);
38
+ const extractTypes = options.extractTypes;
39
+ const minConfidence = options.minConfidence ?? 'low';
40
+ const minConfidenceLevel = CONFIDENCE_ORDER[minConfidence];
41
+ // Filter and limit PRs to process
42
+ const toProcess = prNumbers
43
+ .filter(n => !skipPRs.has(n))
44
+ .slice(0, maxPRs);
45
+ if (toProcess.length === 0) {
46
+ return {
47
+ facts: [],
48
+ prsProcessed: 0,
49
+ prsSkipped: prNumbers.length,
50
+ patternsMatched: 0,
51
+ };
52
+ }
53
+ logger?.debug('Starting PR extraction', {
54
+ repo,
55
+ prCount: toProcess.length,
56
+ extractTypes,
57
+ });
58
+ const allFacts = [];
59
+ let prsProcessed = 0;
60
+ let prsSkipped = prNumbers.length - toProcess.length;
61
+ let patternsMatched = 0;
62
+ // Process each PR
63
+ for (const prNumber of toProcess) {
64
+ try {
65
+ const pr = await dataFetcher.fetchPR(repo, prNumber);
66
+ if (!pr) {
67
+ prsSkipped++;
68
+ continue;
69
+ }
70
+ prsProcessed++;
71
+ // Extract from PR description
72
+ const descFacts = extractFromText(pr.body, 'pr-description', prNumber, undefined, extractTypes);
73
+ allFacts.push(...descFacts);
74
+ patternsMatched += descFacts.length;
75
+ // Extract from review comments
76
+ for (const comment of pr.reviewComments) {
77
+ const commentFacts = extractFromText(comment.body, 'review-comment', prNumber, undefined, extractTypes);
78
+ // Boost confidence for resolved review threads (indicates accepted feedback)
79
+ if (comment.isResolved) {
80
+ for (const fact of commentFacts) {
81
+ if (fact.type === 'gotcha' || fact.type === 'convention') {
82
+ // Resolved feedback is more likely to be valuable
83
+ fact.confidence = boostConfidence(fact.confidence);
84
+ }
85
+ }
86
+ }
87
+ // Add file path as tag if available
88
+ if (comment.path) {
89
+ for (const fact of commentFacts) {
90
+ fact.tags.push(comment.path);
91
+ }
92
+ }
93
+ allFacts.push(...commentFacts);
94
+ patternsMatched += commentFacts.length;
95
+ }
96
+ // Extract from linked issues
97
+ for (const issue of pr.linkedIssues) {
98
+ if (issue.body) {
99
+ const issueFacts = extractFromText(issue.body, 'issue-body', prNumber, issue.number, extractTypes);
100
+ allFacts.push(...issueFacts);
101
+ patternsMatched += issueFacts.length;
102
+ }
103
+ }
104
+ logger?.debug('Extracted facts from PR', {
105
+ prNumber,
106
+ factCount: allFacts.length,
107
+ });
108
+ }
109
+ catch (error) {
110
+ logger?.warn('Failed to process PR', {
111
+ repo,
112
+ prNumber,
113
+ error: error.message,
114
+ });
115
+ prsSkipped++;
116
+ }
117
+ }
118
+ // Filter by minimum confidence
119
+ const filteredFacts = allFacts.filter(f => CONFIDENCE_ORDER[f.confidence] >= minConfidenceLevel);
120
+ // Deduplicate by similar text
121
+ const uniqueFacts = deduplicateFacts(filteredFacts);
122
+ logger?.info('PR extraction complete', {
123
+ repo,
124
+ prsProcessed,
125
+ prsSkipped,
126
+ patternsMatched,
127
+ factsExtracted: uniqueFacts.length,
128
+ });
129
+ return {
130
+ facts: uniqueFacts,
131
+ prsProcessed,
132
+ prsSkipped,
133
+ patternsMatched,
134
+ };
135
+ },
136
+ };
137
+ }
138
+ /**
139
+ * Extract facts from text using heuristic patterns.
140
+ */
141
+ function extractFromText(text, source, prNumber, issueNumber, filterTypes) {
142
+ if (!text || text.trim().length === 0) {
143
+ return [];
144
+ }
145
+ const matches = filterTypes
146
+ ? filterTypes.flatMap(type => (0, HeuristicPatterns_1.extractByFactType)(text, type))
147
+ : (0, HeuristicPatterns_1.extractPatternMatches)(text);
148
+ return matches.map(match => ({
149
+ text: cleanExtractedText(match.text),
150
+ type: match.factType,
151
+ source,
152
+ confidence: match.confidence,
153
+ tags: extractTags(match.text),
154
+ prNumber,
155
+ issueNumber,
156
+ matchedPattern: match.patternName,
157
+ }));
158
+ }
159
+ /**
160
+ * Clean extracted text for storage.
161
+ */
162
+ function cleanExtractedText(text) {
163
+ return text
164
+ .replace(/\s+/g, ' ') // Normalize whitespace
165
+ .replace(/^\s*[-*]\s*/, '') // Remove leading bullet points
166
+ .trim();
167
+ }
168
+ /**
169
+ * Extract potential tags from text (file paths, technologies).
170
+ */
171
+ function extractTags(text) {
172
+ const tags = [];
173
+ // Extract file paths
174
+ const pathPattern = /(?:^|\s)([\w/-]+\.[a-z]{1,4})(?:\s|$|[,:])/gi;
175
+ let match;
176
+ while ((match = pathPattern.exec(text)) !== null) {
177
+ if (match[1] && !match[1].includes('://')) {
178
+ tags.push(match[1]);
179
+ }
180
+ }
181
+ // Extract technology names (common ones)
182
+ const techPatterns = [
183
+ /\b(typescript|javascript|react|node|graphql|rest)\b/gi,
184
+ /\b(postgres|mongodb|redis|neo4j)\b/gi,
185
+ /\b(docker|kubernetes|aws|gcp)\b/gi,
186
+ ];
187
+ for (const pattern of techPatterns) {
188
+ while ((match = pattern.exec(text)) !== null) {
189
+ if (match[1]) {
190
+ tags.push(match[1].toLowerCase());
191
+ }
192
+ }
193
+ }
194
+ return [...new Set(tags)]; // Dedupe
195
+ }
196
+ /**
197
+ * Boost confidence level by one step.
198
+ */
199
+ function boostConfidence(confidence) {
200
+ switch (confidence) {
201
+ case 'low':
202
+ return 'medium';
203
+ case 'medium':
204
+ return 'high';
205
+ default:
206
+ return confidence;
207
+ }
208
+ }
209
+ /**
210
+ * Deduplicate facts by similar text.
211
+ * Converts mutable facts to readonly interface.
212
+ */
213
+ function deduplicateFacts(facts) {
214
+ const seen = new Map();
215
+ for (const fact of facts) {
216
+ // Normalize text for comparison
217
+ const normalized = fact.text.toLowerCase().replace(/\s+/g, ' ').trim();
218
+ // Check for exact or near-duplicate
219
+ const existing = seen.get(normalized);
220
+ if (existing) {
221
+ // Keep the one with higher confidence
222
+ if (CONFIDENCE_ORDER[fact.confidence] > CONFIDENCE_ORDER[existing.confidence]) {
223
+ seen.set(normalized, fact);
224
+ }
225
+ }
226
+ else {
227
+ seen.set(normalized, fact);
228
+ }
229
+ }
230
+ return Array.from(seen.values());
231
+ }
232
+ //# sourceMappingURL=GitExtractorService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitExtractorService.js","sourceRoot":"","sources":["../../../../src/lib/application/services/GitExtractorService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Git Indexing Service
3
+ *
4
+ * Saves extracted git facts to memory with appropriate quality tags,
5
+ * lifecycle metadata, and deduplication.
6
+ *
7
+ * Quality defaults:
8
+ * - source: code-analysis
9
+ * - confidence: from IHeuristicFact (typically medium)
10
+ * - lifecycle: project
11
+ *
12
+ * Part of LISA-10: Phase 4 Indexing.
13
+ */
14
+ import type { IGitIndexingService } from '../../domain/interfaces/IGitIndexingService';
15
+ import type { IMemoryService } from '../../domain/interfaces/IMemoryService';
16
+ import type { ILogger } from '../../domain/interfaces/ILogger';
17
+ /**
18
+ * Create a Git indexing service.
19
+ *
20
+ * @param memory - Memory service for saving facts
21
+ * @param logger - Optional logger
22
+ * @returns A Git indexing service
23
+ */
24
+ export declare function createGitIndexingService(memory: IMemoryService, logger?: ILogger): IGitIndexingService;
25
+ //# sourceMappingURL=GitIndexingService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitIndexingService.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/services/GitIndexingService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,mBAAmB,EAIpB,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AA6E/D;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,cAAc,EACtB,MAAM,CAAC,EAAE,OAAO,GACf,mBAAmB,CA4GrB"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ /**
3
+ * Git Indexing Service
4
+ *
5
+ * Saves extracted git facts to memory with appropriate quality tags,
6
+ * lifecycle metadata, and deduplication.
7
+ *
8
+ * Quality defaults:
9
+ * - source: code-analysis
10
+ * - confidence: from IHeuristicFact (typically medium)
11
+ * - lifecycle: project
12
+ *
13
+ * Part of LISA-10: Phase 4 Indexing.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.createGitIndexingService = createGitIndexingService;
17
+ const IGitIndexingService_1 = require("../../domain/interfaces/IGitIndexingService");
18
+ const IMemoryQuality_1 = require("../../domain/interfaces/types/IMemoryQuality");
19
+ /** Default similarity threshold for deduplication. */
20
+ const DEFAULT_SIMILARITY_THRESHOLD = 0.85;
21
+ /**
22
+ * Simple string similarity using Jaccard index on word tokens.
23
+ * Returns a value between 0 (no similarity) and 1 (identical).
24
+ */
25
+ function calculateSimilarity(a, b) {
26
+ const tokenize = (s) => new Set(s.toLowerCase().split(/\s+/).filter(Boolean));
27
+ const setA = tokenize(a);
28
+ const setB = tokenize(b);
29
+ if (setA.size === 0 && setB.size === 0)
30
+ return 1;
31
+ if (setA.size === 0 || setB.size === 0)
32
+ return 0;
33
+ let intersection = 0;
34
+ for (const word of setA) {
35
+ if (setB.has(word))
36
+ intersection++;
37
+ }
38
+ const union = setA.size + setB.size - intersection;
39
+ return union === 0 ? 0 : intersection / union;
40
+ }
41
+ /**
42
+ * Build tags for a fact following LISA-10 quality defaults.
43
+ */
44
+ function buildTags(fact, memoryType) {
45
+ const tags = [
46
+ // Quality tags
47
+ (0, IMemoryQuality_1.resolveSourceTag)('code-analysis'),
48
+ `confidence:${fact.confidence}`,
49
+ 'lifecycle:project',
50
+ // Extraction metadata (type:heuristic-extraction needed for checkExtractedPRs dedupe)
51
+ 'type:heuristic-extraction',
52
+ `factType:${fact.type}`,
53
+ `factSource:${fact.source}`,
54
+ 'extractionMethod:heuristic',
55
+ ];
56
+ // Memory type tag (if mapped)
57
+ if (memoryType) {
58
+ tags.push(`memoryType:${memoryType}`);
59
+ }
60
+ // Linking tags
61
+ if (fact.prNumber !== undefined) {
62
+ tags.push(`pr:${fact.prNumber}`);
63
+ }
64
+ if (fact.issueNumber !== undefined) {
65
+ tags.push(`issue:${fact.issueNumber}`);
66
+ }
67
+ if (fact.commitSha) {
68
+ tags.push(`commit:${fact.commitSha}`);
69
+ }
70
+ if (fact.matchedPattern) {
71
+ tags.push(`pattern:${fact.matchedPattern}`);
72
+ }
73
+ // Original tags from extraction (prefixed to avoid collisions)
74
+ for (const tag of fact.tags) {
75
+ tags.push(`tag:${tag}`);
76
+ }
77
+ return tags;
78
+ }
79
+ /**
80
+ * Create a Git indexing service.
81
+ *
82
+ * @param memory - Memory service for saving facts
83
+ * @param logger - Optional logger
84
+ * @returns A Git indexing service
85
+ */
86
+ function createGitIndexingService(memory, logger) {
87
+ return {
88
+ async indexFacts(facts, options = {}) {
89
+ const { conventionalType, skipDeduplication = false, similarityThreshold = DEFAULT_SIMILARITY_THRESHOLD, } = options;
90
+ // Map conventional type to memory type
91
+ const memoryType = conventionalType
92
+ ? IGitIndexingService_1.COMMIT_TYPE_TO_MEMORY_TYPE[conventionalType]
93
+ : null;
94
+ // Check if this commit type should be skipped entirely
95
+ if (conventionalType && memoryType === null) {
96
+ logger?.debug('Skipping indexing for commit type', { conventionalType });
97
+ return {
98
+ indexed: 0,
99
+ skipped: facts.length,
100
+ duplicates: 0,
101
+ };
102
+ }
103
+ let indexed = 0;
104
+ let skipped = 0;
105
+ let duplicates = 0;
106
+ // Load existing facts for deduplication
107
+ let existingFacts = [];
108
+ if (!skipDeduplication && facts.length > 0) {
109
+ try {
110
+ // Search for existing facts with similar metadata
111
+ existingFacts = await memory.searchFacts('source:code-analysis extractionMethod:heuristic', 100);
112
+ logger?.debug('Loaded existing facts for deduplication', {
113
+ count: existingFacts.length,
114
+ });
115
+ }
116
+ catch (error) {
117
+ // Continue without deduplication if search fails
118
+ logger?.warn('Failed to load existing facts for deduplication', {
119
+ error: error.message,
120
+ });
121
+ }
122
+ }
123
+ // Index each fact
124
+ for (const fact of facts) {
125
+ // Check for duplicates
126
+ if (!skipDeduplication && existingFacts.length > 0) {
127
+ const isDuplicate = existingFacts.some(existing => {
128
+ const existingText = existing.fact || existing.text || '';
129
+ return calculateSimilarity(existingText, fact.text) >= similarityThreshold;
130
+ });
131
+ if (isDuplicate) {
132
+ logger?.debug('Skipping duplicate fact', {
133
+ text: fact.text.substring(0, 50) + '...',
134
+ });
135
+ duplicates++;
136
+ continue;
137
+ }
138
+ }
139
+ // Build tags
140
+ const tags = buildTags(fact, memoryType);
141
+ // Save to memory with lifecycle metadata
142
+ try {
143
+ await memory.addFactWithLifecycle(fact.text, {
144
+ lifecycle: 'project',
145
+ tags,
146
+ });
147
+ indexed++;
148
+ // Add to existing facts to prevent duplicates within this batch
149
+ existingFacts.push({ fact: fact.text });
150
+ logger?.debug('Indexed fact', {
151
+ type: fact.type,
152
+ memoryType,
153
+ prNumber: fact.prNumber,
154
+ });
155
+ }
156
+ catch (error) {
157
+ logger?.warn('Failed to index fact', {
158
+ error: error.message,
159
+ text: fact.text.substring(0, 50) + '...',
160
+ });
161
+ skipped++;
162
+ }
163
+ }
164
+ logger?.info('Git indexing complete', {
165
+ indexed,
166
+ skipped,
167
+ duplicates,
168
+ conventionalType,
169
+ memoryType,
170
+ });
171
+ return { indexed, skipped, duplicates };
172
+ },
173
+ };
174
+ }
175
+ //# sourceMappingURL=GitIndexingService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitIndexingService.js","sourceRoot":"","sources":["../../../../src/lib/application/services/GitIndexingService.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * MemoryContextLoader
3
3
  *
4
- * Loads memory context using the DAL router for optimal date ordering.
5
- * Uses Neo4j for date-ordered facts, MCP for init-review and tasks.
4
+ * Loads memory context from git-mem.
5
+ * Queries facts, init-review, and tasks via the IMemoryService and ITaskService adapters.
6
6
  *
7
7
  * Extracted from SessionStartHandler to isolate memory loading strategy.
8
8
  */
9
- import type { IMemoryService, ITaskService, IMcpClient, IMemoryItem, ILogger, IMemoryDateOptions } from '../../domain';
10
- import type { IRepositoryRouter } from '../../domain/interfaces/dal';
9
+ import type { IMemoryService, ITaskService, ILogger, IMemoryDateOptions } from '../../domain';
10
+ import type { IMemoryItem } from '../../domain/interfaces/types/IMemoryResult';
11
11
  export interface IMemoryLoadResult {
12
12
  facts: IMemoryItem[];
13
13
  nodes: IMemoryItem[];
@@ -18,20 +18,11 @@ export interface IMemoryLoadResult {
18
18
  export declare class MemoryContextLoader {
19
19
  private readonly memory;
20
20
  private readonly tasks;
21
- private readonly mcp;
22
- private readonly router?;
23
21
  private readonly logger?;
24
- constructor(memory: IMemoryService, tasks: ITaskService, mcp: IMcpClient, router?: IRepositoryRouter | undefined, logger?: ILogger | undefined);
22
+ constructor(memory: IMemoryService, tasks: ITaskService, logger?: ILogger | undefined);
25
23
  /**
26
- * Load memory using the optimal strategy (DAL or MCP fallback).
24
+ * Load memory context from git-mem.
27
25
  */
28
- loadMemory(hierarchicalGroupIds: readonly string[], projectAliases: readonly string[], branch: string | null, dateOptions?: IMemoryDateOptions): Promise<IMemoryLoadResult>;
29
- /**
30
- * Load memory using the DAL router for optimal date ordering.
31
- * Uses AbortController-based cancellation to ensure no mutations
32
- * occur after timeout and resources are properly cleaned up.
33
- */
34
- private loadMemoryWithDAL;
35
- private buildRepoTags;
26
+ loadMemory(dateOptions?: IMemoryDateOptions): Promise<IMemoryLoadResult>;
36
27
  }
37
28
  //# sourceMappingURL=MemoryContextLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryContextLoader.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/services/MemoryContextLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,OAAO,EACP,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAcrE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAJP,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,UAAU,EACf,MAAM,CAAC,EAAE,iBAAiB,YAAA,EAC1B,MAAM,CAAC,EAAE,OAAO,YAAA;IAGnC;;OAEG;IACG,UAAU,CACd,oBAAoB,EAAE,SAAS,MAAM,EAAE,EACvC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,WAAW,CAAC,EAAE,kBAAkB,GAC/B,OAAO,CAAC,iBAAiB,CAAC;IAc7B;;;;OAIG;YACW,iBAAiB;IAoI/B,OAAO,CAAC,aAAa;CAMtB"}
1
+ {"version":3,"file":"MemoryContextLoader.d.ts","sourceRoot":"","sources":["../../../../src/lib/application/services/MemoryContextLoader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACP,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6CAA6C,CAAC;AAO/E,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAFP,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,OAAO,YAAA;IAGnC;;OAEG;IACG,UAAU,CAAC,WAAW,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAkF/E"}
@@ -2,8 +2,8 @@
2
2
  /**
3
3
  * MemoryContextLoader
4
4
  *
5
- * Loads memory context using the DAL router for optimal date ordering.
6
- * Uses Neo4j for date-ordered facts, MCP for init-review and tasks.
5
+ * Loads memory context from git-mem.
6
+ * Queries facts, init-review, and tasks via the IMemoryService and ITaskService adapters.
7
7
  *
8
8
  * Extracted from SessionStartHandler to isolate memory loading strategy.
9
9
  */
@@ -11,33 +11,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.MemoryContextLoader = void 0;
12
12
  const domain_1 = require("../../domain");
13
13
  class MemoryContextLoader {
14
- constructor(memory, tasks, mcp, router, logger) {
14
+ constructor(memory, tasks, logger) {
15
15
  this.memory = memory;
16
16
  this.tasks = tasks;
17
- this.mcp = mcp;
18
- this.router = router;
19
17
  this.logger = logger;
20
18
  }
21
19
  /**
22
- * Load memory using the optimal strategy (DAL or MCP fallback).
20
+ * Load memory context from git-mem.
23
21
  */
24
- async loadMemory(hierarchicalGroupIds, projectAliases, branch, dateOptions) {
25
- if (this.router && this.router.isBackendAvailable('neo4j')) {
26
- return this.loadMemoryWithDAL(hierarchicalGroupIds, projectAliases, branch, undefined, dateOptions);
27
- }
28
- // Fall back to MCP-only path
29
- const result = await this.memory.loadMemory(hierarchicalGroupIds, projectAliases, branch, 5000 // 5 second timeout
30
- );
31
- return result;
32
- }
33
- /**
34
- * Load memory using the DAL router for optimal date ordering.
35
- * Uses AbortController-based cancellation to ensure no mutations
36
- * occur after timeout and resources are properly cleaned up.
37
- */
38
- async loadMemoryWithDAL(hierarchicalGroupIds, projectAliases, branch, signal, dateOptions) {
39
- const memory = this.memory;
40
- const mcp = this.mcp;
22
+ async loadMemory(dateOptions) {
41
23
  const result = {
42
24
  facts: [],
43
25
  nodes: [],
@@ -46,13 +28,11 @@ class MemoryContextLoader {
46
28
  timedOut: false,
47
29
  };
48
30
  const TIMEOUT_MS = 5000;
49
- // Combine hierarchical group IDs with project aliases for comprehensive search
50
- const allGroupIds = [...new Set([...hierarchicalGroupIds, ...projectAliases])];
51
31
  const cancellableResult = await (0, domain_1.withCancellation)(async (abortSignal) => {
52
- // Load init-review via MCP (semantic search for specific tag)
32
+ // Load init-review
53
33
  try {
54
34
  (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled before init-review');
55
- const initFacts = await memory.searchFacts(allGroupIds, 'init-review', 1);
35
+ const initFacts = await this.memory.searchFacts('init-review', 1);
56
36
  (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled after init-review fetch');
57
37
  const initFact = initFacts.find((f) => f.tags?.includes('type:init-review'));
58
38
  if (initFact) {
@@ -62,56 +42,23 @@ class MemoryContextLoader {
62
42
  catch (error) {
63
43
  if ((0, domain_1.isCancellationError)(error))
64
44
  throw error;
65
- // Continue if init-review load fails
66
45
  }
67
- // Load facts using DAL with date ordering (Neo4j preferred)
46
+ // Load facts with date ordering
68
47
  try {
69
48
  (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled before facts');
70
- const facts = await memory.loadFactsDateOrdered(allGroupIds, 100, dateOptions);
49
+ const facts = await this.memory.loadFactsDateOrdered(100, dateOptions);
71
50
  (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled after facts fetch');
72
51
  result.facts = facts;
73
52
  }
74
53
  catch (error) {
75
54
  if ((0, domain_1.isCancellationError)(error))
76
55
  throw error;
77
- // Continue if fact load fails
78
56
  }
79
- // Fall back to nodes when no facts are found (preserve MCP behavior)
80
- if (!result.facts.length) {
81
- try {
82
- const seenUuids = new Set();
83
- for (const alias of projectAliases) {
84
- (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled during node iteration');
85
- const nodeParams = {
86
- query: alias,
87
- tags: this.buildRepoTags(alias, branch),
88
- max_nodes: 20,
89
- group_ids: [...allGroupIds],
90
- };
91
- const [nodeResp] = await mcp.call('search_nodes', nodeParams);
92
- (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled after nodes fetch');
93
- const aliasedNodes = nodeResp?.result?.nodes || nodeResp?.nodes || [];
94
- for (const node of aliasedNodes) {
95
- const uuid = node.uuid || `${node.name}-${node.fact}`;
96
- if (!seenUuids.has(uuid)) {
97
- seenUuids.add(uuid);
98
- result.nodes.push(node);
99
- }
100
- }
101
- }
102
- }
103
- catch (error) {
104
- if ((0, domain_1.isCancellationError)(error))
105
- throw error;
106
- // Continue if node load fails
107
- }
108
- }
109
- // Load tasks via DAL (uses Neo4j when available for date ordering)
57
+ // Load tasks
110
58
  try {
111
59
  (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled before tasks');
112
- const loadedTasks = await this.tasks.getTasksSimple(allGroupIds);
60
+ const loadedTasks = await this.tasks.getTasksSimple();
113
61
  (0, domain_1.checkCancellation)(abortSignal, 'Memory load cancelled after tasks fetch');
114
- // Convert ITask[] to IMemoryItem[] format for compatibility
115
62
  for (const task of loadedTasks) {
116
63
  result.tasks.push({
117
64
  uuid: task.key,
@@ -130,27 +77,17 @@ class MemoryContextLoader {
130
77
  catch (error) {
131
78
  if ((0, domain_1.isCancellationError)(error))
132
79
  throw error;
133
- // Continue if task load fails
134
80
  }
135
81
  return result;
136
82
  }, {
137
83
  timeoutMs: TIMEOUT_MS,
138
- signal,
139
84
  onCancel: () => {
140
- this.logger?.debug('Memory load with DAL cancelled');
85
+ this.logger?.debug('Memory load cancelled');
141
86
  },
142
87
  });
143
88
  result.timedOut = cancellableResult.timedOut;
144
89
  return result;
145
90
  }
146
- buildRepoTags(repo, branch) {
147
- const tags = [];
148
- if (repo)
149
- tags.push(`repo:${repo}`);
150
- if (branch)
151
- tags.push(`branch:${branch}`);
152
- return tags;
153
- }
154
91
  }
155
92
  exports.MemoryContextLoader = MemoryContextLoader;
156
93
  //# sourceMappingURL=MemoryContextLoader.js.map