@tonycasey/lisa 1.2.0 → 2.0.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 (565) hide show
  1. package/README.md +22 -15
  2. package/dist/hooks/session-start.js +43114 -0
  3. package/dist/hooks/session-stop.js +42699 -0
  4. package/dist/hooks/user-prompt-submit.js +42757 -0
  5. package/dist/lib/application/handlers/PromptSubmitHandler.d.ts +27 -0
  6. package/dist/lib/application/handlers/PromptSubmitHandler.d.ts.map +1 -0
  7. package/dist/lib/application/handlers/PromptSubmitHandler.js +53 -0
  8. package/dist/lib/application/handlers/PromptSubmitHandler.js.map +1 -0
  9. package/dist/lib/application/handlers/SessionStartHandler.d.ts +50 -0
  10. package/dist/lib/application/handlers/SessionStartHandler.d.ts.map +1 -0
  11. package/dist/lib/application/handlers/SessionStartHandler.js +448 -0
  12. package/dist/lib/application/handlers/SessionStartHandler.js.map +1 -0
  13. package/dist/lib/application/handlers/SessionStopHandler.d.ts +15 -0
  14. package/dist/lib/application/handlers/SessionStopHandler.d.ts.map +1 -0
  15. package/dist/lib/application/handlers/SessionStopHandler.js +35 -0
  16. package/dist/lib/application/handlers/SessionStopHandler.js.map +1 -0
  17. package/dist/lib/application/handlers/index.d.ts +8 -0
  18. package/dist/lib/application/handlers/index.d.ts.map +1 -0
  19. package/dist/lib/application/handlers/index.js +14 -0
  20. package/dist/lib/application/handlers/index.js.map +1 -0
  21. package/dist/lib/application/index.d.ts +13 -0
  22. package/dist/lib/application/index.d.ts.map +1 -0
  23. package/dist/lib/application/index.js +31 -0
  24. package/dist/lib/application/index.js.map +1 -0
  25. package/dist/lib/application/interfaces/ISessionStartResult.d.ts +22 -0
  26. package/dist/lib/application/interfaces/ISessionStartResult.d.ts.map +1 -0
  27. package/dist/lib/application/interfaces/ISessionStartResult.js +3 -0
  28. package/dist/lib/application/interfaces/ISessionStartResult.js.map +1 -0
  29. package/dist/lib/application/interfaces/index.d.ts +5 -0
  30. package/dist/lib/application/interfaces/index.d.ts.map +1 -0
  31. package/dist/lib/application/interfaces/index.js +6 -0
  32. package/dist/lib/application/interfaces/index.js.map +1 -0
  33. package/dist/lib/cli.d.ts +34 -0
  34. package/dist/lib/cli.d.ts.map +1 -0
  35. package/dist/lib/cli.js +664 -0
  36. package/dist/lib/cli.js.map +1 -0
  37. package/dist/lib/domain/errors/LisaError.d.ts +41 -0
  38. package/dist/lib/domain/errors/LisaError.d.ts.map +1 -0
  39. package/dist/lib/domain/errors/LisaError.js +69 -0
  40. package/dist/lib/domain/errors/LisaError.js.map +1 -0
  41. package/dist/lib/domain/errors/index.d.ts +5 -0
  42. package/dist/lib/domain/errors/index.d.ts.map +1 -0
  43. package/dist/lib/domain/errors/index.js +14 -0
  44. package/dist/lib/domain/errors/index.js.map +1 -0
  45. package/dist/lib/domain/index.d.ts +14 -0
  46. package/dist/lib/domain/index.d.ts.map +1 -0
  47. package/dist/lib/domain/index.js +33 -0
  48. package/dist/lib/domain/index.js.map +1 -0
  49. package/dist/lib/domain/interfaces/IEventEmitter.d.ts +32 -0
  50. package/dist/lib/domain/interfaces/IEventEmitter.d.ts.map +1 -0
  51. package/dist/lib/domain/interfaces/IEventEmitter.js +3 -0
  52. package/dist/lib/domain/interfaces/IEventEmitter.js.map +1 -0
  53. package/dist/lib/domain/interfaces/ILisaContext.d.ts +25 -0
  54. package/dist/lib/domain/interfaces/ILisaContext.d.ts.map +1 -0
  55. package/dist/lib/domain/interfaces/ILisaContext.js +3 -0
  56. package/dist/lib/domain/interfaces/ILisaContext.js.map +1 -0
  57. package/dist/lib/domain/interfaces/ILisaServices.d.ts +34 -0
  58. package/dist/lib/domain/interfaces/ILisaServices.d.ts.map +1 -0
  59. package/dist/lib/domain/interfaces/ILisaServices.js +3 -0
  60. package/dist/lib/domain/interfaces/ILisaServices.js.map +1 -0
  61. package/dist/lib/domain/interfaces/ILogger.d.ts +94 -0
  62. package/dist/lib/domain/interfaces/ILogger.d.ts.map +1 -0
  63. package/dist/lib/domain/interfaces/ILogger.js +3 -0
  64. package/dist/lib/domain/interfaces/ILogger.js.map +1 -0
  65. package/dist/lib/domain/interfaces/IMcpClient.d.ts +31 -0
  66. package/dist/lib/domain/interfaces/IMcpClient.d.ts.map +1 -0
  67. package/dist/lib/domain/interfaces/IMcpClient.js +3 -0
  68. package/dist/lib/domain/interfaces/IMcpClient.js.map +1 -0
  69. package/dist/lib/domain/interfaces/IMemoryService.d.ts +56 -0
  70. package/dist/lib/domain/interfaces/IMemoryService.d.ts.map +1 -0
  71. package/dist/lib/domain/interfaces/IMemoryService.js +3 -0
  72. package/dist/lib/domain/interfaces/IMemoryService.js.map +1 -0
  73. package/dist/lib/domain/interfaces/IRecursionService.d.ts +52 -0
  74. package/dist/lib/domain/interfaces/IRecursionService.d.ts.map +1 -0
  75. package/dist/lib/domain/interfaces/IRecursionService.js +3 -0
  76. package/dist/lib/domain/interfaces/IRecursionService.js.map +1 -0
  77. package/dist/lib/domain/interfaces/ISessionCaptureService.d.ts +16 -0
  78. package/dist/lib/domain/interfaces/ISessionCaptureService.d.ts.map +1 -0
  79. package/dist/lib/domain/interfaces/ISessionCaptureService.js +3 -0
  80. package/dist/lib/domain/interfaces/ISessionCaptureService.js.map +1 -0
  81. package/dist/lib/domain/interfaces/ITaskService.d.ts +52 -0
  82. package/dist/lib/domain/interfaces/ITaskService.d.ts.map +1 -0
  83. package/dist/lib/domain/interfaces/ITaskService.js +3 -0
  84. package/dist/lib/domain/interfaces/ITaskService.js.map +1 -0
  85. package/dist/lib/domain/interfaces/dal/IConnectionManager.d.ts +110 -0
  86. package/dist/lib/domain/interfaces/dal/IConnectionManager.d.ts.map +1 -0
  87. package/dist/lib/domain/interfaces/dal/IConnectionManager.js +8 -0
  88. package/dist/lib/domain/interfaces/dal/IConnectionManager.js.map +1 -0
  89. package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts +93 -0
  90. package/dist/lib/domain/interfaces/dal/IMemoryRepository.d.ts.map +1 -0
  91. package/dist/lib/domain/interfaces/dal/IMemoryRepository.js +9 -0
  92. package/dist/lib/domain/interfaces/dal/IMemoryRepository.js.map +1 -0
  93. package/dist/lib/domain/interfaces/dal/IRepositoryRouter.d.ts +88 -0
  94. package/dist/lib/domain/interfaces/dal/IRepositoryRouter.d.ts.map +1 -0
  95. package/dist/lib/domain/interfaces/dal/IRepositoryRouter.js +23 -0
  96. package/dist/lib/domain/interfaces/dal/IRepositoryRouter.js.map +1 -0
  97. package/dist/lib/domain/interfaces/dal/ITaskRepository.d.ts +87 -0
  98. package/dist/lib/domain/interfaces/dal/ITaskRepository.d.ts.map +1 -0
  99. package/dist/lib/domain/interfaces/dal/ITaskRepository.js +9 -0
  100. package/dist/lib/domain/interfaces/dal/ITaskRepository.js.map +1 -0
  101. package/dist/lib/domain/interfaces/dal/index.d.ts +14 -0
  102. package/dist/lib/domain/interfaces/dal/index.d.ts.map +1 -0
  103. package/dist/lib/domain/interfaces/dal/index.js +15 -0
  104. package/dist/lib/domain/interfaces/dal/index.js.map +1 -0
  105. package/dist/lib/domain/interfaces/dal/types.d.ts +81 -0
  106. package/dist/lib/domain/interfaces/dal/types.d.ts.map +1 -0
  107. package/dist/lib/domain/interfaces/dal/types.js +28 -0
  108. package/dist/lib/domain/interfaces/dal/types.js.map +1 -0
  109. package/dist/lib/domain/interfaces/events/IMemoryEvent.d.ts +27 -0
  110. package/dist/lib/domain/interfaces/events/IMemoryEvent.d.ts.map +1 -0
  111. package/dist/lib/domain/interfaces/events/IMemoryEvent.js +26 -0
  112. package/dist/lib/domain/interfaces/events/IMemoryEvent.js.map +1 -0
  113. package/dist/lib/domain/interfaces/events/IPromptSubmitEvent.d.ts +20 -0
  114. package/dist/lib/domain/interfaces/events/IPromptSubmitEvent.d.ts.map +1 -0
  115. package/dist/lib/domain/interfaces/events/IPromptSubmitEvent.js +16 -0
  116. package/dist/lib/domain/interfaces/events/IPromptSubmitEvent.js.map +1 -0
  117. package/dist/lib/domain/interfaces/events/ISessionStartEvent.d.ts +19 -0
  118. package/dist/lib/domain/interfaces/events/ISessionStartEvent.d.ts.map +1 -0
  119. package/dist/lib/domain/interfaces/events/ISessionStartEvent.js +15 -0
  120. package/dist/lib/domain/interfaces/events/ISessionStartEvent.js.map +1 -0
  121. package/dist/lib/domain/interfaces/events/ISessionStopEvent.d.ts +22 -0
  122. package/dist/lib/domain/interfaces/events/ISessionStopEvent.d.ts.map +1 -0
  123. package/dist/lib/domain/interfaces/events/ISessionStopEvent.js +15 -0
  124. package/dist/lib/domain/interfaces/events/ISessionStopEvent.js.map +1 -0
  125. package/dist/lib/domain/interfaces/events/LisaEvent.d.ts +13 -0
  126. package/dist/lib/domain/interfaces/events/LisaEvent.d.ts.map +1 -0
  127. package/dist/lib/domain/interfaces/events/LisaEvent.js +3 -0
  128. package/dist/lib/domain/interfaces/events/LisaEvent.js.map +1 -0
  129. package/dist/lib/domain/interfaces/events/index.d.ts +9 -0
  130. package/dist/lib/domain/interfaces/events/index.d.ts.map +1 -0
  131. package/dist/lib/domain/interfaces/events/index.js +16 -0
  132. package/dist/lib/domain/interfaces/events/index.js.map +1 -0
  133. package/dist/lib/domain/interfaces/index.d.ts +16 -0
  134. package/dist/lib/domain/interfaces/index.d.ts.map +1 -0
  135. package/dist/lib/domain/interfaces/index.js +25 -0
  136. package/dist/lib/domain/interfaces/index.js.map +1 -0
  137. package/dist/lib/domain/interfaces/types/ICapturedWork.d.ts +14 -0
  138. package/dist/lib/domain/interfaces/types/ICapturedWork.d.ts.map +1 -0
  139. package/dist/lib/domain/interfaces/types/ICapturedWork.js +14 -0
  140. package/dist/lib/domain/interfaces/types/ICapturedWork.js.map +1 -0
  141. package/dist/lib/domain/interfaces/types/IMemoryResult.d.ts +39 -0
  142. package/dist/lib/domain/interfaces/types/IMemoryResult.d.ts.map +1 -0
  143. package/dist/lib/domain/interfaces/types/IMemoryResult.js +29 -0
  144. package/dist/lib/domain/interfaces/types/IMemoryResult.js.map +1 -0
  145. package/dist/lib/domain/interfaces/types/ITask.d.ts +46 -0
  146. package/dist/lib/domain/interfaces/types/ITask.d.ts.map +1 -0
  147. package/dist/lib/domain/interfaces/types/ITask.js +17 -0
  148. package/dist/lib/domain/interfaces/types/ITask.js.map +1 -0
  149. package/dist/lib/domain/interfaces/types/index.d.ts +7 -0
  150. package/dist/lib/domain/interfaces/types/index.d.ts.map +1 -0
  151. package/dist/lib/domain/interfaces/types/index.js +14 -0
  152. package/dist/lib/domain/interfaces/types/index.js.map +1 -0
  153. package/dist/lib/domain/types/ISOTimestamp.d.ts +19 -0
  154. package/dist/lib/domain/types/ISOTimestamp.d.ts.map +1 -0
  155. package/dist/lib/domain/types/ISOTimestamp.js +18 -0
  156. package/dist/lib/domain/types/ISOTimestamp.js.map +1 -0
  157. package/dist/lib/domain/types/index.d.ts +7 -0
  158. package/dist/lib/domain/types/index.d.ts.map +1 -0
  159. package/dist/lib/domain/types/index.js +12 -0
  160. package/dist/lib/domain/types/index.js.map +1 -0
  161. package/dist/lib/infrastructure/adapters/claude/index.d.ts +8 -0
  162. package/dist/lib/infrastructure/adapters/claude/index.d.ts.map +1 -0
  163. package/dist/lib/infrastructure/adapters/claude/index.js +18 -0
  164. package/dist/lib/infrastructure/adapters/claude/index.js.map +1 -0
  165. package/dist/lib/infrastructure/adapters/claude/session-start.d.ts +9 -0
  166. package/dist/lib/infrastructure/adapters/claude/session-start.d.ts.map +1 -0
  167. package/dist/lib/infrastructure/adapters/claude/session-start.js +54 -0
  168. package/dist/lib/infrastructure/adapters/claude/session-start.js.map +1 -0
  169. package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts +13 -0
  170. package/dist/lib/infrastructure/adapters/claude/session-stop.d.ts.map +1 -0
  171. package/dist/lib/infrastructure/adapters/claude/session-stop.js +43 -0
  172. package/dist/lib/infrastructure/adapters/claude/session-stop.js.map +1 -0
  173. package/dist/lib/infrastructure/adapters/claude/stdin.d.ts +13 -0
  174. package/dist/lib/infrastructure/adapters/claude/stdin.d.ts.map +1 -0
  175. package/dist/lib/infrastructure/adapters/claude/stdin.js +36 -0
  176. package/dist/lib/infrastructure/adapters/claude/stdin.js.map +1 -0
  177. package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.d.ts +13 -0
  178. package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.d.ts.map +1 -0
  179. package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.js +58 -0
  180. package/dist/lib/infrastructure/adapters/claude/user-prompt-submit.js.map +1 -0
  181. package/dist/lib/infrastructure/adapters/opencode/index.d.ts +7 -0
  182. package/dist/lib/infrastructure/adapters/opencode/index.d.ts.map +1 -0
  183. package/dist/lib/infrastructure/adapters/opencode/index.js +18 -0
  184. package/dist/lib/infrastructure/adapters/opencode/index.js.map +1 -0
  185. package/dist/lib/infrastructure/adapters/opencode/opencode-events.d.ts +73 -0
  186. package/dist/lib/infrastructure/adapters/opencode/opencode-events.d.ts.map +1 -0
  187. package/dist/lib/infrastructure/adapters/opencode/opencode-events.js +131 -0
  188. package/dist/lib/infrastructure/adapters/opencode/opencode-events.js.map +1 -0
  189. package/dist/lib/infrastructure/adapters/opencode/plugin.d.ts +60 -0
  190. package/dist/lib/infrastructure/adapters/opencode/plugin.d.ts.map +1 -0
  191. package/dist/lib/infrastructure/adapters/opencode/plugin.js +147 -0
  192. package/dist/lib/infrastructure/adapters/opencode/plugin.js.map +1 -0
  193. package/dist/lib/infrastructure/context/ContextDetector.d.ts +92 -0
  194. package/dist/lib/infrastructure/context/ContextDetector.d.ts.map +1 -0
  195. package/dist/lib/infrastructure/context/ContextDetector.js +415 -0
  196. package/dist/lib/infrastructure/context/ContextDetector.js.map +1 -0
  197. package/dist/lib/infrastructure/context/index.d.ts +5 -0
  198. package/dist/lib/infrastructure/context/index.d.ts.map +1 -0
  199. package/dist/lib/infrastructure/context/index.js +9 -0
  200. package/dist/lib/infrastructure/context/index.js.map +1 -0
  201. package/dist/lib/infrastructure/dal/RepositoryFactory.d.ts +71 -0
  202. package/dist/lib/infrastructure/dal/RepositoryFactory.d.ts.map +1 -0
  203. package/dist/lib/infrastructure/dal/RepositoryFactory.js +134 -0
  204. package/dist/lib/infrastructure/dal/RepositoryFactory.js.map +1 -0
  205. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.d.ts +56 -0
  206. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.d.ts.map +1 -0
  207. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js +98 -0
  208. package/dist/lib/infrastructure/dal/connections/McpConnectionManager.js.map +1 -0
  209. package/dist/lib/infrastructure/dal/connections/Neo4jConnectionManager.d.ts +60 -0
  210. package/dist/lib/infrastructure/dal/connections/Neo4jConnectionManager.d.ts.map +1 -0
  211. package/dist/lib/infrastructure/dal/connections/Neo4jConnectionManager.js +181 -0
  212. package/dist/lib/infrastructure/dal/connections/Neo4jConnectionManager.js.map +1 -0
  213. package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.d.ts +53 -0
  214. package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.d.ts.map +1 -0
  215. package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.js +168 -0
  216. package/dist/lib/infrastructure/dal/connections/ZepConnectionManager.js.map +1 -0
  217. package/dist/lib/infrastructure/dal/connections/index.d.ts +9 -0
  218. package/dist/lib/infrastructure/dal/connections/index.d.ts.map +1 -0
  219. package/dist/lib/infrastructure/dal/connections/index.js +18 -0
  220. package/dist/lib/infrastructure/dal/connections/index.js.map +1 -0
  221. package/dist/lib/infrastructure/dal/index.d.ts +27 -0
  222. package/dist/lib/infrastructure/dal/index.d.ts.map +1 -0
  223. package/dist/lib/infrastructure/dal/index.js +50 -0
  224. package/dist/lib/infrastructure/dal/index.js.map +1 -0
  225. package/dist/lib/infrastructure/dal/repositories/index.d.ts +7 -0
  226. package/dist/lib/infrastructure/dal/repositories/index.d.ts.map +1 -0
  227. package/dist/lib/infrastructure/dal/repositories/index.js +19 -0
  228. package/dist/lib/infrastructure/dal/repositories/index.js.map +1 -0
  229. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts +54 -0
  230. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.d.ts.map +1 -0
  231. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js +131 -0
  232. package/dist/lib/infrastructure/dal/repositories/mcp/McpMemoryRepository.js.map +1 -0
  233. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts +60 -0
  234. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.d.ts.map +1 -0
  235. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js +182 -0
  236. package/dist/lib/infrastructure/dal/repositories/mcp/McpTaskRepository.js.map +1 -0
  237. package/dist/lib/infrastructure/dal/repositories/mcp/index.d.ts +6 -0
  238. package/dist/lib/infrastructure/dal/repositories/mcp/index.d.ts.map +1 -0
  239. package/dist/lib/infrastructure/dal/repositories/mcp/index.js +11 -0
  240. package/dist/lib/infrastructure/dal/repositories/mcp/index.js.map +1 -0
  241. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts +47 -0
  242. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.d.ts.map +1 -0
  243. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js +144 -0
  244. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jMemoryRepository.js.map +1 -0
  245. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts +46 -0
  246. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.d.ts.map +1 -0
  247. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js +160 -0
  248. package/dist/lib/infrastructure/dal/repositories/neo4j/Neo4jTaskRepository.js.map +1 -0
  249. package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts +6 -0
  250. package/dist/lib/infrastructure/dal/repositories/neo4j/index.d.ts.map +1 -0
  251. package/dist/lib/infrastructure/dal/repositories/neo4j/index.js +11 -0
  252. package/dist/lib/infrastructure/dal/repositories/neo4j/index.js.map +1 -0
  253. package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.d.ts +55 -0
  254. package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.d.ts.map +1 -0
  255. package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.js +165 -0
  256. package/dist/lib/infrastructure/dal/repositories/zep/ZepMemoryRepository.js.map +1 -0
  257. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts +58 -0
  258. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.d.ts.map +1 -0
  259. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js +206 -0
  260. package/dist/lib/infrastructure/dal/repositories/zep/ZepTaskRepository.js.map +1 -0
  261. package/dist/lib/infrastructure/dal/repositories/zep/index.d.ts +6 -0
  262. package/dist/lib/infrastructure/dal/repositories/zep/index.d.ts.map +1 -0
  263. package/dist/lib/infrastructure/dal/repositories/zep/index.js +11 -0
  264. package/dist/lib/infrastructure/dal/repositories/zep/index.js.map +1 -0
  265. package/dist/lib/infrastructure/dal/routing/RepositoryRouter.d.ts +73 -0
  266. package/dist/lib/infrastructure/dal/routing/RepositoryRouter.d.ts.map +1 -0
  267. package/dist/lib/infrastructure/dal/routing/RepositoryRouter.js +170 -0
  268. package/dist/lib/infrastructure/dal/routing/RepositoryRouter.js.map +1 -0
  269. package/dist/lib/infrastructure/dal/routing/index.d.ts +5 -0
  270. package/dist/lib/infrastructure/dal/routing/index.d.ts.map +1 -0
  271. package/dist/lib/infrastructure/dal/routing/index.js +10 -0
  272. package/dist/lib/infrastructure/dal/routing/index.js.map +1 -0
  273. package/dist/lib/infrastructure/di/ServiceFactory.d.ts +44 -0
  274. package/dist/lib/infrastructure/di/ServiceFactory.d.ts.map +1 -0
  275. package/dist/lib/infrastructure/di/ServiceFactory.js +141 -0
  276. package/dist/lib/infrastructure/di/ServiceFactory.js.map +1 -0
  277. package/dist/lib/infrastructure/di/index.d.ts +5 -0
  278. package/dist/lib/infrastructure/di/index.d.ts.map +1 -0
  279. package/dist/lib/infrastructure/di/index.js +10 -0
  280. package/dist/lib/infrastructure/di/index.js.map +1 -0
  281. package/dist/lib/infrastructure/index.d.ts +17 -0
  282. package/dist/lib/infrastructure/index.d.ts.map +1 -0
  283. package/dist/lib/infrastructure/index.js +41 -0
  284. package/dist/lib/infrastructure/index.js.map +1 -0
  285. package/dist/lib/infrastructure/logging/Logger.d.ts +50 -0
  286. package/dist/lib/infrastructure/logging/Logger.d.ts.map +1 -0
  287. package/dist/lib/infrastructure/logging/Logger.js +167 -0
  288. package/dist/lib/infrastructure/logging/Logger.js.map +1 -0
  289. package/dist/lib/infrastructure/logging/context.d.ts +51 -0
  290. package/dist/lib/infrastructure/logging/context.d.ts.map +1 -0
  291. package/dist/lib/infrastructure/logging/context.js +77 -0
  292. package/dist/lib/infrastructure/logging/context.js.map +1 -0
  293. package/dist/lib/infrastructure/logging/factory.d.ts +36 -0
  294. package/dist/lib/infrastructure/logging/factory.d.ts.map +1 -0
  295. package/dist/lib/infrastructure/logging/factory.js +122 -0
  296. package/dist/lib/infrastructure/logging/factory.js.map +1 -0
  297. package/dist/lib/infrastructure/logging/index.d.ts +26 -0
  298. package/dist/lib/infrastructure/logging/index.d.ts.map +1 -0
  299. package/dist/lib/infrastructure/logging/index.js +45 -0
  300. package/dist/lib/infrastructure/logging/index.js.map +1 -0
  301. package/dist/lib/infrastructure/mcp/McpClient.d.ts +36 -0
  302. package/dist/lib/infrastructure/mcp/McpClient.d.ts.map +1 -0
  303. package/dist/lib/infrastructure/mcp/McpClient.js +155 -0
  304. package/dist/lib/infrastructure/mcp/McpClient.js.map +1 -0
  305. package/dist/lib/infrastructure/mcp/index.d.ts +5 -0
  306. package/dist/lib/infrastructure/mcp/index.d.ts.map +1 -0
  307. package/dist/lib/infrastructure/mcp/index.js +9 -0
  308. package/dist/lib/infrastructure/mcp/index.js.map +1 -0
  309. package/dist/lib/infrastructure/services/EventEmitter.d.ts +24 -0
  310. package/dist/lib/infrastructure/services/EventEmitter.d.ts.map +1 -0
  311. package/dist/lib/infrastructure/services/EventEmitter.js +41 -0
  312. package/dist/lib/infrastructure/services/EventEmitter.js.map +1 -0
  313. package/dist/lib/infrastructure/services/MemoryService.d.ts +48 -0
  314. package/dist/lib/infrastructure/services/MemoryService.d.ts.map +1 -0
  315. package/dist/lib/infrastructure/services/MemoryService.js +298 -0
  316. package/dist/lib/infrastructure/services/MemoryService.js.map +1 -0
  317. package/dist/lib/infrastructure/services/RecursionService.d.ts +50 -0
  318. package/dist/lib/infrastructure/services/RecursionService.d.ts.map +1 -0
  319. package/dist/lib/infrastructure/services/RecursionService.js +233 -0
  320. package/dist/lib/infrastructure/services/RecursionService.js.map +1 -0
  321. package/dist/lib/infrastructure/services/SessionCaptureService.d.ts +31 -0
  322. package/dist/lib/infrastructure/services/SessionCaptureService.d.ts.map +1 -0
  323. package/dist/lib/infrastructure/services/SessionCaptureService.js +38 -0
  324. package/dist/lib/infrastructure/services/SessionCaptureService.js.map +1 -0
  325. package/dist/lib/infrastructure/services/TaskService.d.ts +38 -0
  326. package/dist/lib/infrastructure/services/TaskService.d.ts.map +1 -0
  327. package/dist/lib/infrastructure/services/TaskService.js +227 -0
  328. package/dist/lib/infrastructure/services/TaskService.js.map +1 -0
  329. package/dist/lib/infrastructure/services/index.d.ts +9 -0
  330. package/dist/lib/infrastructure/services/index.d.ts.map +1 -0
  331. package/dist/lib/infrastructure/services/index.js +17 -0
  332. package/dist/lib/infrastructure/services/index.js.map +1 -0
  333. package/dist/lib/interfaces/IDockerClient.d.ts +6 -0
  334. package/dist/lib/interfaces/IDockerClient.d.ts.map +1 -0
  335. package/dist/lib/interfaces/IDockerClient.js +1 -0
  336. package/dist/lib/interfaces/IDockerClient.js.map +1 -0
  337. package/dist/lib/interfaces/IMcpClient.d.ts +7 -0
  338. package/dist/lib/interfaces/IMcpClient.d.ts.map +1 -0
  339. package/dist/lib/interfaces/IMcpClient.js +1 -0
  340. package/dist/lib/interfaces/IMcpClient.js.map +1 -0
  341. package/dist/lib/interfaces/IServices.d.ts +9 -0
  342. package/dist/lib/interfaces/IServices.d.ts.map +1 -0
  343. package/dist/lib/interfaces/IServices.js +1 -0
  344. package/dist/lib/interfaces/IServices.js.map +1 -0
  345. package/dist/lib/interfaces/ITemplateCopier.d.ts +6 -0
  346. package/dist/lib/interfaces/ITemplateCopier.d.ts.map +1 -0
  347. package/dist/lib/interfaces/ITemplateCopier.js +1 -0
  348. package/dist/lib/interfaces/ITemplateCopier.js.map +1 -0
  349. package/dist/lib/mcp.d.ts +5 -0
  350. package/dist/lib/mcp.d.ts.map +1 -0
  351. package/dist/lib/mcp.js +12 -1
  352. package/dist/lib/mcp.js.map +1 -0
  353. package/dist/lib/scanner/analyzer.d.ts +51 -0
  354. package/dist/lib/scanner/analyzer.d.ts.map +1 -0
  355. package/dist/lib/scanner/analyzer.js +6 -1
  356. package/dist/lib/scanner/analyzer.js.map +1 -0
  357. package/dist/lib/scanner/discovery.d.ts +25 -0
  358. package/dist/lib/scanner/discovery.d.ts.map +1 -0
  359. package/dist/lib/scanner/discovery.js +4 -3
  360. package/dist/lib/scanner/discovery.js.map +1 -0
  361. package/dist/lib/scanner/facts.d.ts +33 -0
  362. package/dist/lib/scanner/facts.d.ts.map +1 -0
  363. package/dist/lib/scanner/facts.js +23 -5
  364. package/dist/lib/scanner/facts.js.map +1 -0
  365. package/dist/lib/scanner/index.d.ts +31 -0
  366. package/dist/lib/scanner/index.d.ts.map +1 -0
  367. package/dist/lib/scanner/index.js +1 -6
  368. package/dist/lib/scanner/index.js.map +1 -0
  369. package/dist/lib/scanner/reviewer.d.ts +62 -0
  370. package/dist/lib/scanner/reviewer.d.ts.map +1 -0
  371. package/dist/lib/scanner/reviewer.js +26 -8
  372. package/dist/lib/scanner/reviewer.js.map +1 -0
  373. package/dist/lib/services.d.ts +7 -0
  374. package/dist/lib/services.d.ts.map +1 -0
  375. package/dist/lib/services.js +1 -0
  376. package/dist/lib/services.js.map +1 -0
  377. package/dist/opencode/lisa.js +43344 -0
  378. package/dist/package.json +15 -3
  379. package/dist/project/.lisa/.env.template +18 -0
  380. package/dist/{templates → project/.lisa}/rules/shared/git-rules.md +6 -6
  381. package/dist/project/.lisa/skills/common/group-id.d.ts.map +1 -0
  382. package/dist/{templates/agents → project/.lisa}/skills/common/group-id.js +1 -0
  383. package/dist/project/.lisa/skills/common/group-id.js.map +1 -0
  384. package/dist/project/.lisa/skills/common/type-mappings.d.ts.map +1 -0
  385. package/dist/project/.lisa/skills/common/type-mappings.js +93 -0
  386. package/dist/project/.lisa/skills/common/type-mappings.js.map +1 -0
  387. package/dist/{templates/agents → project/.lisa}/skills/git/SKILL.md +7 -7
  388. package/dist/project/.lisa/skills/git/scripts/bump-version.d.ts.map +1 -0
  389. package/dist/project/.lisa/skills/git/scripts/bump-version.js +58 -0
  390. package/dist/project/.lisa/skills/git/scripts/bump-version.js.map +1 -0
  391. package/dist/{templates/agents → project/.lisa}/skills/init-review/SKILL.md +2 -2
  392. package/dist/project/.lisa/skills/init-review/scripts/ai-enrich.d.ts.map +1 -0
  393. package/dist/project/.lisa/skills/init-review/scripts/ai-enrich.js +177 -0
  394. package/dist/project/.lisa/skills/init-review/scripts/ai-enrich.js.map +1 -0
  395. package/dist/project/.lisa/skills/init-review/scripts/init-review.d.ts.map +1 -0
  396. package/dist/project/.lisa/skills/init-review/scripts/init-review.js +143 -0
  397. package/dist/project/.lisa/skills/init-review/scripts/init-review.js.map +1 -0
  398. package/dist/project/.lisa/skills/jira/scripts/jira.d.ts.map +1 -0
  399. package/dist/project/.lisa/skills/jira/scripts/jira.js +159 -0
  400. package/dist/project/.lisa/skills/jira/scripts/jira.js.map +1 -0
  401. package/dist/{templates/agents → project/.lisa}/skills/lisa/SKILL.md +17 -15
  402. package/dist/project/.lisa/skills/lisa/scripts/compile-skills.d.ts.map +1 -0
  403. package/dist/project/.lisa/skills/lisa/scripts/compile-skills.js +75 -0
  404. package/dist/project/.lisa/skills/lisa/scripts/compile-skills.js.map +1 -0
  405. package/dist/project/.lisa/skills/lisa/scripts/storage.d.ts.map +1 -0
  406. package/dist/project/.lisa/skills/lisa/scripts/storage.js +114 -0
  407. package/dist/project/.lisa/skills/lisa/scripts/storage.js.map +1 -0
  408. package/dist/{templates/agents → project/.lisa}/skills/memory/SKILL.md +3 -3
  409. package/dist/project/.lisa/skills/memory/scripts/memory.d.ts.map +1 -0
  410. package/dist/project/.lisa/skills/memory/scripts/memory.js +95 -0
  411. package/dist/project/.lisa/skills/memory/scripts/memory.js.map +1 -0
  412. package/dist/{templates/agents → project/.lisa}/skills/prompt/SKILL.md +1 -1
  413. package/dist/project/.lisa/skills/prompt/scripts/prompt.d.ts.map +1 -0
  414. package/dist/project/.lisa/skills/prompt/scripts/prompt.js +80 -0
  415. package/dist/project/.lisa/skills/prompt/scripts/prompt.js.map +1 -0
  416. package/dist/project/.lisa/skills/shared/clients/McpClient.d.ts.map +1 -0
  417. package/dist/project/.lisa/skills/shared/clients/McpClient.js +117 -0
  418. package/dist/project/.lisa/skills/shared/clients/McpClient.js.map +1 -0
  419. package/dist/project/.lisa/skills/shared/clients/Neo4jClient.d.ts.map +1 -0
  420. package/dist/project/.lisa/skills/shared/clients/Neo4jClient.js +81 -0
  421. package/dist/project/.lisa/skills/shared/clients/Neo4jClient.js.map +1 -0
  422. package/dist/project/.lisa/skills/shared/clients/ZepClient.d.ts.map +1 -0
  423. package/dist/project/.lisa/skills/shared/clients/ZepClient.js +238 -0
  424. package/dist/project/.lisa/skills/shared/clients/ZepClient.js.map +1 -0
  425. package/dist/project/.lisa/skills/shared/clients/index.d.ts.map +1 -0
  426. package/dist/project/.lisa/skills/shared/clients/index.js +33 -0
  427. package/dist/project/.lisa/skills/shared/clients/index.js.map +1 -0
  428. package/dist/project/.lisa/skills/shared/clients/interfaces/IMcpClient.d.ts.map +1 -0
  429. package/dist/project/.lisa/skills/shared/clients/interfaces/IMcpClient.js +3 -0
  430. package/dist/project/.lisa/skills/shared/clients/interfaces/IMcpClient.js.map +1 -0
  431. package/dist/project/.lisa/skills/shared/clients/interfaces/INeo4jClient.d.ts.map +1 -0
  432. package/dist/project/.lisa/skills/shared/clients/interfaces/INeo4jClient.js +3 -0
  433. package/dist/project/.lisa/skills/shared/clients/interfaces/INeo4jClient.js.map +1 -0
  434. package/dist/project/.lisa/skills/shared/clients/interfaces/IZepClient.d.ts.map +1 -0
  435. package/dist/project/.lisa/skills/shared/clients/interfaces/IZepClient.js +3 -0
  436. package/dist/project/.lisa/skills/shared/clients/interfaces/IZepClient.js.map +1 -0
  437. package/dist/project/.lisa/skills/shared/clients/interfaces/index.d.ts.map +1 -0
  438. package/dist/project/.lisa/skills/shared/clients/interfaces/index.js +23 -0
  439. package/dist/project/.lisa/skills/shared/clients/interfaces/index.js.map +1 -0
  440. package/dist/project/.lisa/skills/shared/group-id.d.ts.map +1 -0
  441. package/dist/project/.lisa/skills/shared/group-id.js +18 -0
  442. package/dist/project/.lisa/skills/shared/group-id.js.map +1 -0
  443. package/dist/project/.lisa/skills/shared/index.d.ts.map +1 -0
  444. package/dist/project/.lisa/skills/shared/index.js +31 -0
  445. package/dist/project/.lisa/skills/shared/index.js.map +1 -0
  446. package/dist/project/.lisa/skills/shared/logger.d.ts.map +1 -0
  447. package/dist/project/.lisa/skills/shared/logger.js +18 -0
  448. package/dist/project/.lisa/skills/shared/logger.js.map +1 -0
  449. package/dist/project/.lisa/skills/shared/services/InitReviewService.d.ts.map +1 -0
  450. package/dist/project/.lisa/skills/shared/services/InitReviewService.js +287 -0
  451. package/dist/project/.lisa/skills/shared/services/InitReviewService.js.map +1 -0
  452. package/dist/project/.lisa/skills/shared/services/JiraService.d.ts.map +1 -0
  453. package/dist/project/.lisa/skills/shared/services/JiraService.js +257 -0
  454. package/dist/project/.lisa/skills/shared/services/JiraService.js.map +1 -0
  455. package/dist/project/.lisa/skills/shared/services/MemoryCliService.d.ts.map +1 -0
  456. package/dist/project/.lisa/skills/shared/services/MemoryCliService.js +36 -0
  457. package/dist/project/.lisa/skills/shared/services/MemoryCliService.js.map +1 -0
  458. package/dist/project/.lisa/skills/shared/services/MemoryService.d.ts.map +1 -0
  459. package/dist/project/.lisa/skills/shared/services/MemoryService.js +146 -0
  460. package/dist/project/.lisa/skills/shared/services/MemoryService.js.map +1 -0
  461. package/dist/project/.lisa/skills/shared/services/PromptService.d.ts.map +1 -0
  462. package/dist/project/.lisa/skills/shared/services/PromptService.js +53 -0
  463. package/dist/project/.lisa/skills/shared/services/PromptService.js.map +1 -0
  464. package/dist/project/.lisa/skills/shared/services/SkillCompilerService.d.ts.map +1 -0
  465. package/dist/project/.lisa/skills/shared/services/SkillCompilerService.js +115 -0
  466. package/dist/project/.lisa/skills/shared/services/SkillCompilerService.js.map +1 -0
  467. package/dist/project/.lisa/skills/shared/services/StorageService.d.ts.map +1 -0
  468. package/dist/project/.lisa/skills/shared/services/StorageService.js +257 -0
  469. package/dist/project/.lisa/skills/shared/services/StorageService.js.map +1 -0
  470. package/dist/project/.lisa/skills/shared/services/TaskCliService.d.ts.map +1 -0
  471. package/dist/project/.lisa/skills/shared/services/TaskCliService.js +40 -0
  472. package/dist/project/.lisa/skills/shared/services/TaskCliService.js.map +1 -0
  473. package/dist/project/.lisa/skills/shared/services/TaskService.d.ts.map +1 -0
  474. package/dist/project/.lisa/skills/shared/services/TaskService.js +158 -0
  475. package/dist/project/.lisa/skills/shared/services/TaskService.js.map +1 -0
  476. package/dist/project/.lisa/skills/shared/services/VersionService.d.ts.map +1 -0
  477. package/dist/project/.lisa/skills/shared/services/VersionService.js +88 -0
  478. package/dist/project/.lisa/skills/shared/services/VersionService.js.map +1 -0
  479. package/dist/project/.lisa/skills/shared/services/index.d.ts.map +1 -0
  480. package/dist/project/.lisa/skills/shared/services/index.js +47 -0
  481. package/dist/project/.lisa/skills/shared/services/index.js.map +1 -0
  482. package/dist/project/.lisa/skills/shared/services/interfaces/IMemoryService.d.ts.map +1 -0
  483. package/dist/project/.lisa/skills/shared/services/interfaces/IMemoryService.js +7 -0
  484. package/dist/project/.lisa/skills/shared/services/interfaces/IMemoryService.js.map +1 -0
  485. package/dist/project/.lisa/skills/shared/services/interfaces/ITaskService.d.ts.map +1 -0
  486. package/dist/project/.lisa/skills/shared/services/interfaces/ITaskService.js +7 -0
  487. package/dist/project/.lisa/skills/shared/services/interfaces/ITaskService.js.map +1 -0
  488. package/dist/project/.lisa/skills/shared/services/interfaces/index.d.ts.map +1 -0
  489. package/dist/project/.lisa/skills/shared/services/interfaces/index.js +22 -0
  490. package/dist/project/.lisa/skills/shared/services/interfaces/index.js.map +1 -0
  491. package/dist/project/.lisa/skills/shared/utils/FileCache.d.ts.map +1 -0
  492. package/dist/project/.lisa/skills/shared/utils/FileCache.js +119 -0
  493. package/dist/project/.lisa/skills/shared/utils/FileCache.js.map +1 -0
  494. package/dist/project/.lisa/skills/shared/utils/Logger.d.ts.map +1 -0
  495. package/dist/project/.lisa/skills/shared/utils/Logger.js +197 -0
  496. package/dist/project/.lisa/skills/shared/utils/Logger.js.map +1 -0
  497. package/dist/project/.lisa/skills/shared/utils/cache.d.ts.map +1 -0
  498. package/dist/project/.lisa/skills/shared/utils/cache.js +76 -0
  499. package/dist/project/.lisa/skills/shared/utils/cache.js.map +1 -0
  500. package/dist/project/.lisa/skills/shared/utils/cli.d.ts.map +1 -0
  501. package/dist/project/.lisa/skills/shared/utils/cli.js +87 -0
  502. package/dist/project/.lisa/skills/shared/utils/cli.js.map +1 -0
  503. package/dist/project/.lisa/skills/shared/utils/env.d.ts.map +1 -0
  504. package/dist/project/.lisa/skills/shared/utils/env.js +103 -0
  505. package/dist/project/.lisa/skills/shared/utils/env.js.map +1 -0
  506. package/dist/project/.lisa/skills/shared/utils/group-id.d.ts.map +1 -0
  507. package/dist/project/.lisa/skills/shared/utils/group-id.js +91 -0
  508. package/dist/project/.lisa/skills/shared/utils/group-id.js.map +1 -0
  509. package/dist/project/.lisa/skills/shared/utils/index.d.ts.map +1 -0
  510. package/dist/project/.lisa/skills/shared/utils/index.js +55 -0
  511. package/dist/project/.lisa/skills/shared/utils/index.js.map +1 -0
  512. package/dist/project/.lisa/skills/shared/utils/interfaces/ICache.d.ts.map +1 -0
  513. package/dist/project/.lisa/skills/shared/utils/interfaces/ICache.js +3 -0
  514. package/dist/project/.lisa/skills/shared/utils/interfaces/ICache.js.map +1 -0
  515. package/dist/project/.lisa/skills/shared/utils/interfaces/ILogger.d.ts.map +1 -0
  516. package/dist/project/.lisa/skills/shared/utils/interfaces/ILogger.js +3 -0
  517. package/dist/project/.lisa/skills/shared/utils/interfaces/ILogger.js.map +1 -0
  518. package/dist/project/.lisa/skills/shared/utils/interfaces/index.d.ts.map +1 -0
  519. package/dist/project/.lisa/skills/shared/utils/interfaces/index.js +22 -0
  520. package/dist/project/.lisa/skills/shared/utils/interfaces/index.js.map +1 -0
  521. package/dist/{templates/agents → project/.lisa}/skills/tasks/SKILL.md +2 -2
  522. package/dist/project/.lisa/skills/tasks/scripts/tasks.d.ts.map +1 -0
  523. package/dist/project/.lisa/skills/tasks/scripts/tasks.js +98 -0
  524. package/dist/project/.lisa/skills/tasks/scripts/tasks.js.map +1 -0
  525. package/package.json +31 -10
  526. package/scripts/postinstall.js +93 -60
  527. package/dist/cli.js +0 -414
  528. package/dist/templates/agents/.sample.env +0 -12
  529. package/dist/templates/agents/docs/EXTENDING-SKILLS.md +0 -291
  530. package/dist/templates/agents/docs/EXTENDING-rules.md +0 -57
  531. package/dist/templates/agents/docs/STORAGE_SETUP.md +0 -161
  532. package/dist/templates/agents/skills/git/scripts/bump-version.js +0 -112
  533. package/dist/templates/agents/skills/init-review/scripts/ai-enrich.js +0 -258
  534. package/dist/templates/agents/skills/init-review/scripts/init-review.js +0 -769
  535. package/dist/templates/agents/skills/jira/scripts/jira.js +0 -406
  536. package/dist/templates/agents/skills/lisa/scripts/compile-skills.js +0 -177
  537. package/dist/templates/agents/skills/lisa/scripts/storage.js +0 -374
  538. package/dist/templates/agents/skills/memory/scripts/memory.js +0 -533
  539. package/dist/templates/agents/skills/prompt/scripts/prompt.js +0 -184
  540. package/dist/templates/agents/skills/tasks/scripts/tasks.js +0 -489
  541. package/dist/templates/claude/config.js +0 -40
  542. package/dist/templates/claude/hooks/README.md +0 -158
  543. package/dist/templates/claude/hooks/common/complexity-rater.js +0 -290
  544. package/dist/templates/claude/hooks/common/context.js +0 -263
  545. package/dist/templates/claude/hooks/common/group-id.js +0 -188
  546. package/dist/templates/claude/hooks/common/mcp-client.js +0 -131
  547. package/dist/templates/claude/hooks/common/transcript-parser.js +0 -256
  548. package/dist/templates/claude/hooks/common/zep-client.js +0 -175
  549. package/dist/templates/claude/hooks/session-start.js +0 -511
  550. package/dist/templates/claude/hooks/session-stop-worker.js +0 -484
  551. package/dist/templates/claude/hooks/session-stop.js +0 -122
  552. package/dist/templates/claude/hooks/user-prompt-submit.js +0 -479
  553. package/dist/templates/claude/settings.json +0 -46
  554. package/dist/templates/docker/.env.lisa.example +0 -17
  555. /package/dist/{templates → project/.lisa}/docker/docker-compose.graphiti.yml +0 -0
  556. /package/dist/{templates → project/.lisa}/rules/shared/clean-architecture.md +0 -0
  557. /package/dist/{templates → project/.lisa}/rules/shared/code-quality-rules.md +0 -0
  558. /package/dist/{templates → project/.lisa}/rules/shared/git-rules.local.md +0 -0
  559. /package/dist/{templates → project/.lisa}/rules/shared/testing-principles.md +0 -0
  560. /package/dist/{templates → project/.lisa}/rules/typescript/coding-standards.md +0 -0
  561. /package/dist/{templates → project/.lisa}/rules/typescript/testing.md +0 -0
  562. /package/dist/{templates → project/.lisa}/rules/typescript/typescript-config-guide.md +0 -0
  563. /package/dist/{templates/agents → project/.lisa}/skills/git/scripts/poll-ci.sh +0 -0
  564. /package/dist/{templates/agents → project/.lisa}/skills/jira/SKILL.md +0 -0
  565. /package/dist/{templates/agents → project/.lisa}/skills/lisa/cache/.gitkeep +0 -0
@@ -1,479 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- /**
5
- * Claude Code - User Prompt Submit Hook
6
- *
7
- * This hook runs before a user's prompt is submitted to Claude.
8
- * It can be used to validate, enhance, or log prompts.
9
- *
10
- * Configuration: .claude/settings.json -> hooks.UserPromptSubmit
11
- *
12
- * Note: This hook is optional and only runs if configured.
13
- * If the hook exits with non-zero status, the prompt submission is cancelled.
14
- */
15
- const fs = require('fs');
16
- const path = require('path');
17
- const { spawn } = require('child_process');
18
- const { PROJECT_ROOT, PROMPT_SKILL_PATH, DEV_DIR } = require('../config');
19
- // Plan mode state tracking
20
- const PLAN_MODE_STATE_FILE = path.join(DEV_DIR, '.plan-mode-state.json');
21
- const PLAN_MODE_TTL_MS = 30 * 60 * 1000; // 30 minutes
22
- const RULES_DIR = path.join(PROJECT_ROOT, '.agents/rules');
23
- const MEMORY_SCRIPT = path.join(PROJECT_ROOT, '.agents/skills/memory/scripts/memory.js');
24
- /**
25
- * Check if we should load plan context (first entry into plan mode)
26
- * Returns true only on first entry, not on subsequent prompts in plan mode
27
- */
28
- function shouldLoadPlanContext(isPlanMode) {
29
- if (!isPlanMode) {
30
- // Not in plan mode - clear state if exists
31
- try {
32
- if (fs.existsSync(PLAN_MODE_STATE_FILE)) {
33
- fs.unlinkSync(PLAN_MODE_STATE_FILE);
34
- }
35
- }
36
- catch {
37
- /* ignore cleanup errors */
38
- }
39
- return false;
40
- }
41
- // In plan mode - check if we already loaded context this session
42
- if (fs.existsSync(PLAN_MODE_STATE_FILE)) {
43
- try {
44
- const state = JSON.parse(fs.readFileSync(PLAN_MODE_STATE_FILE, 'utf8'));
45
- const ageMs = Date.now() - new Date(state.loadedAt).getTime();
46
- // Context was loaded recently - skip
47
- if (ageMs < PLAN_MODE_TTL_MS) {
48
- return false;
49
- }
50
- }
51
- catch {
52
- /* ignore parse errors, reload */
53
- }
54
- }
55
- // First time in plan mode - mark as loaded and return true
56
- try {
57
- // Ensure DEV_DIR exists
58
- if (!fs.existsSync(DEV_DIR)) {
59
- fs.mkdirSync(DEV_DIR, { recursive: true });
60
- }
61
- fs.writeFileSync(PLAN_MODE_STATE_FILE, JSON.stringify({
62
- loadedAt: new Date().toISOString(),
63
- }));
64
- }
65
- catch {
66
- /* continue even if state write fails */
67
- }
68
- return true;
69
- }
70
- /**
71
- * Load rules summary from .agents/rules directory
72
- * Returns concise list of available rules with key topics
73
- */
74
- function loadRulesSummary() {
75
- if (!fs.existsSync(RULES_DIR)) {
76
- return null;
77
- }
78
- const rules = [];
79
- const categories = ['shared', 'typescript', 'python', 'go'];
80
- for (const category of categories) {
81
- const categoryDir = path.join(RULES_DIR, category);
82
- if (!fs.existsSync(categoryDir))
83
- continue;
84
- try {
85
- const files = fs.readdirSync(categoryDir).filter((f) => f.endsWith('.md'));
86
- for (const file of files) {
87
- const filePath = path.join(categoryDir, file);
88
- try {
89
- const content = fs.readFileSync(filePath, 'utf8');
90
- // Extract title from first H1
91
- const titleMatch = content.match(/^#\s+(.+)$/m);
92
- const title = titleMatch ? titleMatch[1] : file.replace('.md', '');
93
- // Extract key headings (H2s) - first 3
94
- const h2s = content.match(/^##\s+(.+)$/gm) || [];
95
- const topics = h2s
96
- .slice(0, 3)
97
- .map((h) => h.replace(/^##\s+/, ''))
98
- .join(', ');
99
- rules.push(`- ${category}/${file}: ${title}${topics ? ` (${topics})` : ''}`);
100
- }
101
- catch {
102
- /* skip unreadable files */
103
- }
104
- }
105
- }
106
- catch {
107
- /* skip unreadable directories */
108
- }
109
- }
110
- return rules.length > 0 ? rules.join('\n') : null;
111
- }
112
- /**
113
- * Load memory via memory.js script
114
- * Returns formatted recent facts from Graphiti
115
- */
116
- function loadPlanModeMemory() {
117
- if (!fs.existsSync(MEMORY_SCRIPT)) {
118
- return Promise.resolve(null);
119
- }
120
- return new Promise((resolve) => {
121
- const child = spawn('node', [MEMORY_SCRIPT, 'load', '--cache', '--limit', '15'], {
122
- cwd: PROJECT_ROOT,
123
- stdio: ['ignore', 'pipe', 'pipe'],
124
- });
125
- let stdout = '';
126
- child.stdout.on('data', (data) => {
127
- stdout += data;
128
- });
129
- child.on('close', (code) => {
130
- if (code === 0) {
131
- try {
132
- const result = JSON.parse(stdout);
133
- if (result.status === 'ok' && result.facts && result.facts.length > 0) {
134
- // Format facts concisely
135
- const formatted = result.facts
136
- .slice(0, 10)
137
- .map((f) => `- ${f.fact}`)
138
- .join('\n');
139
- resolve(formatted);
140
- }
141
- else {
142
- resolve(null);
143
- }
144
- }
145
- catch {
146
- resolve(null);
147
- }
148
- }
149
- else {
150
- resolve(null);
151
- }
152
- });
153
- child.on('error', () => resolve(null));
154
- // Timeout after 5 seconds
155
- setTimeout(() => {
156
- child.kill();
157
- resolve(null);
158
- }, 5000);
159
- });
160
- }
161
- /**
162
- * Load retrospective records from memory
163
- * Returns formatted retrospective learnings (naming, structure, style, gotchas)
164
- */
165
- function loadRetrospectiveMemory() {
166
- if (!fs.existsSync(MEMORY_SCRIPT)) {
167
- return Promise.resolve(null);
168
- }
169
- return new Promise((resolve) => {
170
- const child = spawn('node', [MEMORY_SCRIPT, 'load', '--cache', '--query', 'RETROSPECTIVE', '--limit', '5'], {
171
- cwd: PROJECT_ROOT,
172
- stdio: ['ignore', 'pipe', 'pipe'],
173
- });
174
- let stdout = '';
175
- child.stdout.on('data', (data) => {
176
- stdout += data;
177
- });
178
- child.on('close', (code) => {
179
- if (code === 0) {
180
- try {
181
- const result = JSON.parse(stdout);
182
- if (result.status === 'ok' && result.facts && result.facts.length > 0) {
183
- // Format retrospective facts - these contain learnings about the project
184
- const formatted = result.facts
185
- .slice(0, 3) // Limit to most recent 3 retrospectives
186
- .map((f) => {
187
- // Clean up the fact text, removing the RETROSPECTIVE: prefix if present
188
- const text = f.fact.replace(/^RETROSPECTIVE:\s*/i, '');
189
- return `- ${text}`;
190
- })
191
- .join('\n');
192
- resolve(formatted);
193
- }
194
- else {
195
- resolve(null);
196
- }
197
- }
198
- catch {
199
- resolve(null);
200
- }
201
- }
202
- else {
203
- resolve(null);
204
- }
205
- });
206
- child.on('error', () => resolve(null));
207
- // Timeout after 5 seconds
208
- setTimeout(() => {
209
- child.kill();
210
- resolve(null);
211
- }, 5000);
212
- });
213
- }
214
- /**
215
- * Validate prompt for potentially problematic patterns
216
- */
217
- function validatePrompt(prompt) {
218
- const warnings = [];
219
- // Check for overly broad requests
220
- if (prompt.toLowerCase().includes('delete all') ||
221
- prompt.toLowerCase().includes('remove everything')) {
222
- warnings.push(' Destructive operation detected - please be specific');
223
- }
224
- // Check for requests without context
225
- if (prompt.length < 10) {
226
- warnings.push(' Very short prompt - consider providing more context');
227
- }
228
- return warnings;
229
- }
230
- /**
231
- * Enhance prompt with project context if needed
232
- */
233
- function enhancePrompt(prompt) {
234
- const suggestions = [];
235
- if (prompt.toLowerCase().includes('architecture') ||
236
- prompt.toLowerCase().includes('structure')) {
237
- const archPath = path.join(DEV_DIR, 'architecture.md');
238
- if (fs.existsSync(archPath)) {
239
- suggestions.push(' Consider referencing @.dev/architecture.md for context');
240
- }
241
- }
242
- if (prompt.toLowerCase().includes('todo') ||
243
- prompt.toLowerCase().includes('task')) {
244
- const todoPath = path.join(DEV_DIR, 'todo.md');
245
- if (fs.existsSync(todoPath)) {
246
- suggestions.push(' Your todo list is available at @.dev/todo.md');
247
- }
248
- }
249
- return suggestions;
250
- }
251
- /**
252
- * Log prompt for analytics (optional)
253
- */
254
- function logPrompt(prompt) {
255
- const logPath = path.join(DEV_DIR, '.prompt-log.jsonl');
256
- const logEntry = {
257
- timestamp: new Date().toISOString(),
258
- promptLength: prompt.length,
259
- promptPreview: prompt.substring(0, 100)
260
- };
261
- try {
262
- fs.appendFileSync(logPath, JSON.stringify(logEntry) + '\n');
263
- }
264
- catch (_error) {
265
- // Silently fail if logging doesn't work
266
- }
267
- }
268
- /**
269
- * Check if Graphiti MCP server is available
270
- * Returns true if server responds, false otherwise
271
- */
272
- async function isGraphitiAvailable() {
273
- // Read endpoint from .env file (same logic as prompt skill)
274
- const envPath = path.join(PROJECT_ROOT, '.agents', 'skills', '.env');
275
- let endpoint = 'http://localhost:8010/mcp/';
276
- try {
277
- if (fs.existsSync(envPath)) {
278
- const raw = fs.readFileSync(envPath, 'utf8');
279
- const lines = raw.split(/\r?\n/);
280
- for (const line of lines) {
281
- if (line.startsWith('GRAPHITI_ENDPOINT=')) {
282
- endpoint = line.slice('GRAPHITI_ENDPOINT='.length).trim();
283
- break;
284
- }
285
- }
286
- }
287
- }
288
- catch {
289
- // Use default endpoint
290
- }
291
- try {
292
- const controller = new AbortController();
293
- const timeoutId = setTimeout(() => controller.abort(), 2000);
294
- const response = await fetch(endpoint, {
295
- method: 'POST',
296
- headers: { 'Content-Type': 'application/json' },
297
- body: JSON.stringify({
298
- jsonrpc: '2.0',
299
- id: 'health',
300
- method: 'ping',
301
- params: {}
302
- }),
303
- signal: controller.signal
304
- });
305
- clearTimeout(timeoutId);
306
- return response.ok || response.status === 400; // 400 means server is up but method not found
307
- }
308
- catch {
309
- return false;
310
- }
311
- }
312
- /**
313
- * Store prompt to Graphiti MCP for cross-session memory
314
- * Graphiti's LLM automatically classifies the content as:
315
- * - KeyDecision, DirectionChange, ArchitecturalChoice, Preference, etc.
316
- * Classification happens server-side based on entity_types in config.yaml
317
- */
318
- async function storeToGraphiti(prompt) {
319
- if (!fs.existsSync(PROMPT_SKILL_PATH)) {
320
- return null; // Silently skip if skill not found
321
- }
322
- // Check if Graphiti is available before attempting storage
323
- const available = await isGraphitiAvailable();
324
- if (!available) {
325
- return { status: 'unavailable' };
326
- }
327
- return new Promise((resolve) => {
328
- const child = spawn('node', [
329
- PROMPT_SKILL_PATH,
330
- '--text', prompt,
331
- '--role', 'user',
332
- '--source', 'user-prompt' // Graphiti LLM classifies content automatically
333
- ], {
334
- cwd: PROJECT_ROOT,
335
- stdio: ['ignore', 'pipe', 'pipe']
336
- });
337
- let stdout = '';
338
- let stderr = '';
339
- child.stdout.on('data', (data) => { stdout += data; });
340
- child.stderr.on('data', (data) => { stderr += data; });
341
- child.on('close', (code) => {
342
- if (code === 0) {
343
- try {
344
- const result = JSON.parse(stdout);
345
- resolve(result);
346
- }
347
- catch {
348
- resolve({ status: 'ok', raw: stdout.trim() });
349
- }
350
- }
351
- else {
352
- // Check if it's a connection error
353
- const errorMsg = stderr.trim() || `exit code ${code}`;
354
- if (errorMsg.includes('fetch failed') || errorMsg.includes('ECONNREFUSED')) {
355
- resolve({ status: 'unavailable' });
356
- }
357
- else {
358
- resolve({ status: 'error', error: errorMsg });
359
- }
360
- }
361
- });
362
- child.on('error', (err) => {
363
- if (err.message.includes('fetch failed') || err.message.includes('ECONNREFUSED')) {
364
- resolve({ status: 'unavailable' });
365
- }
366
- else {
367
- resolve({ status: 'error', error: err.message });
368
- }
369
- });
370
- // Timeout after 5 seconds
371
- setTimeout(() => {
372
- child.kill();
373
- resolve({ status: 'timeout' });
374
- }, 5000);
375
- });
376
- }
377
- /**
378
- * Store prompt to Graphiti - ASYNC/NON-BLOCKING version
379
- * Spawns detached process and returns immediately without waiting.
380
- * Used to avoid blocking the user's prompt submission.
381
- */
382
- function storeToGraphitiAsync(prompt) {
383
- if (!fs.existsSync(PROMPT_SKILL_PATH)) {
384
- return; // Silently skip if skill not found
385
- }
386
- try {
387
- const child = spawn('node', [PROMPT_SKILL_PATH, '--text', prompt, '--role', 'user', '--source', 'user-prompt'], {
388
- cwd: PROJECT_ROOT,
389
- detached: true, // Detach from parent process
390
- stdio: 'ignore', // Don't wait for I/O
391
- });
392
- // Unref to allow parent to exit independently
393
- child.unref();
394
- }
395
- catch {
396
- // Silently ignore spawn errors - don't block the prompt
397
- }
398
- }
399
- /**
400
- * Main execution - reads JSON from stdin (Claude Code hook protocol)
401
- */
402
- function main() {
403
- let inputData = '';
404
- // Read JSON from stdin
405
- process.stdin.on('data', (chunk) => {
406
- inputData += chunk;
407
- });
408
- process.stdin.on('end', async () => {
409
- try {
410
- const hookInput = JSON.parse(inputData);
411
- const prompt = hookInput.prompt || '';
412
- if (!prompt) {
413
- console.log(' No prompt in hook input');
414
- process.exit(0);
415
- }
416
- // Log what we captured for debugging
417
- console.log(`Captured prompt (${prompt.length} chars): "${prompt.substring(0, 80)}${prompt.length > 80 ? '...' : ''}"`);
418
- // Check for plan mode and load context on first entry
419
- const permissionMode = hookInput.permission_mode || hookInput.permissionMode || '';
420
- if (shouldLoadPlanContext(permissionMode === 'plan')) {
421
- console.log('\nšŸ“‹ Plan Mode - Loading Context...\n');
422
- // Load rules, memory, and retrospectives in parallel
423
- const [rules, memory, retrospectives] = await Promise.all([
424
- Promise.resolve(loadRulesSummary()),
425
- loadPlanModeMemory(),
426
- loadRetrospectiveMemory(),
427
- ]);
428
- if (rules) {
429
- console.log('šŸ“š Project Rules Available:');
430
- console.log(rules);
431
- }
432
- if (retrospectives) {
433
- console.log('\nšŸ“ Project Learnings (from retrospectives):');
434
- console.log(retrospectives);
435
- }
436
- if (memory) {
437
- console.log('\n🧠 Recent Memory:');
438
- console.log(memory);
439
- }
440
- console.log(''); // Empty line after context
441
- }
442
- // Validate prompt
443
- const warnings = validatePrompt(prompt);
444
- if (warnings.length > 0) {
445
- warnings.forEach(warning => console.log(warning));
446
- }
447
- // Enhance prompt with suggestions
448
- const suggestions = enhancePrompt(prompt);
449
- if (suggestions.length > 0) {
450
- suggestions.forEach(suggestion => console.log(suggestion));
451
- }
452
- // Log prompt for analytics
453
- logPrompt(prompt);
454
- // Store to Graphiti MCP for cross-session memory (fire-and-forget, non-blocking)
455
- storeToGraphitiAsync(prompt);
456
- // Exit immediately - don't wait for Graphiti storage
457
- process.exit(0);
458
- }
459
- catch (error) {
460
- const message = error instanceof Error ? error.message : String(error);
461
- console.error(` Failed to parse hook input: ${message}`);
462
- // Exit with 0 to not block the prompt on errors
463
- process.exit(0);
464
- }
465
- });
466
- }
467
- // Run if called directly
468
- if (require.main === module) {
469
- try {
470
- main();
471
- }
472
- catch (error) {
473
- const message = error instanceof Error ? error.message : String(error);
474
- console.error(` Prompt validation failed: ${message}`);
475
- // Exit with 0 to not block the prompt
476
- process.exit(0);
477
- }
478
- }
479
- module.exports = { validatePrompt, enhancePrompt, logPrompt, shouldLoadPlanContext, loadRulesSummary, loadPlanModeMemory, loadRetrospectiveMemory };
@@ -1,46 +0,0 @@
1
- {
2
- "workflowsDirectory": ".claude/workflows",
3
- "autoLoadRules": true,
4
- "hooks": {
5
- "SessionStart": [
6
- {
7
- "hooks": [
8
- {
9
- "type": "command",
10
- "command": "node .claude/hooks/session-start.js"
11
- }
12
- ]
13
- }
14
- ],
15
- "Stop": [
16
- {
17
- "hooks": [
18
- {
19
- "type": "command",
20
- "command": "node .claude/hooks/session-stop.js"
21
- }
22
- ]
23
- }
24
- ],
25
- "UserPromptSubmit": [
26
- {
27
- "hooks": [
28
- {
29
- "type": "command",
30
- "command": "node .claude/hooks/user-prompt-submit.js"
31
- }
32
- ]
33
- }
34
- ]
35
- },
36
- "excludePatterns": [
37
- "**/node_modules/**",
38
- "**/dist/**",
39
- "**/build/**",
40
- "**/lib/**",
41
- "**/.git/**",
42
- "**/coverage/**",
43
- "**/.next/**",
44
- "**/.nuxt/**"
45
- ]
46
- }
@@ -1,17 +0,0 @@
1
- # Lisa Memory Settings
2
- # Copy this file to .env in your project root and fill in the values
3
-
4
- # OpenAI API key (required for entity extraction)
5
- OPENAI_API_KEY=sk-...
6
-
7
- # Neo4j credentials
8
- NEO4J_USER=neo4j
9
- NEO4J_PASSWORD=demodemo
10
- NEO4J_DATABASE=neo4j
11
-
12
- # Graphiti MCP
13
- # Group ID defaults to project name from package.json or directory name
14
- GRAPHITI_GROUP_ID=your-project-name
15
- GRAPHITI_ENDPOINT=http://localhost:8010/mcp/
16
- SEMAPHORE_LIMIT=10
17
- USE_PARALLEL_RUNTIME=false