@djibrilm/lazy-review 0.0.1

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 (264) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +95 -0
  3. package/dist/bin.d.ts +3 -0
  4. package/dist/bin.d.ts.map +1 -0
  5. package/dist/bin.js +17 -0
  6. package/dist/bin.js.map +1 -0
  7. package/dist/client/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  8. package/dist/client/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  9. package/dist/client/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  10. package/dist/client/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  11. package/dist/client/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  12. package/dist/client/assets/index-4oL_AGyI.css +1 -0
  13. package/dist/client/assets/index-CJtKCyBg.js +848 -0
  14. package/dist/client/favicon.png +0 -0
  15. package/dist/client/favicon.svg +1 -0
  16. package/dist/client/icons.svg +24 -0
  17. package/dist/client/index.html +17 -0
  18. package/dist/client/resources/images/logo.png +0 -0
  19. package/dist/client/resources/images/openai.png +0 -0
  20. package/dist/constants.d.ts +3 -0
  21. package/dist/constants.d.ts.map +1 -0
  22. package/dist/constants.js +3 -0
  23. package/dist/constants.js.map +1 -0
  24. package/dist/dev.d.ts +2 -0
  25. package/dist/dev.d.ts.map +1 -0
  26. package/dist/dev.js +10 -0
  27. package/dist/dev.js.map +1 -0
  28. package/dist/modules/ai-agent/agent-context-manager.d.ts +57 -0
  29. package/dist/modules/ai-agent/agent-context-manager.d.ts.map +1 -0
  30. package/dist/modules/ai-agent/agent-context-manager.js +159 -0
  31. package/dist/modules/ai-agent/agent-context-manager.js.map +1 -0
  32. package/dist/modules/ai-agent/ai-agent.module.d.ts +17 -0
  33. package/dist/modules/ai-agent/ai-agent.module.d.ts.map +1 -0
  34. package/dist/modules/ai-agent/ai-agent.module.js +24 -0
  35. package/dist/modules/ai-agent/ai-agent.module.js.map +1 -0
  36. package/dist/modules/ai-agent/ai-agent.utils.d.ts +10 -0
  37. package/dist/modules/ai-agent/ai-agent.utils.d.ts.map +1 -0
  38. package/dist/modules/ai-agent/ai-agent.utils.js +389 -0
  39. package/dist/modules/ai-agent/ai-agent.utils.js.map +1 -0
  40. package/dist/modules/ai-agent/base.agent.d.ts +26 -0
  41. package/dist/modules/ai-agent/base.agent.d.ts.map +1 -0
  42. package/dist/modules/ai-agent/base.agent.js +101 -0
  43. package/dist/modules/ai-agent/base.agent.js.map +1 -0
  44. package/dist/modules/ai-agent/chat.agent.d.ts +35 -0
  45. package/dist/modules/ai-agent/chat.agent.d.ts.map +1 -0
  46. package/dist/modules/ai-agent/chat.agent.js +590 -0
  47. package/dist/modules/ai-agent/chat.agent.js.map +1 -0
  48. package/dist/modules/ai-agent/code-base-indexer.agent.d.ts +13 -0
  49. package/dist/modules/ai-agent/code-base-indexer.agent.d.ts.map +1 -0
  50. package/dist/modules/ai-agent/code-base-indexer.agent.js +506 -0
  51. package/dist/modules/ai-agent/code-base-indexer.agent.js.map +1 -0
  52. package/dist/modules/ai-agent/codebase-scanner.d.ts +37 -0
  53. package/dist/modules/ai-agent/codebase-scanner.d.ts.map +1 -0
  54. package/dist/modules/ai-agent/codebase-scanner.js +260 -0
  55. package/dist/modules/ai-agent/codebase-scanner.js.map +1 -0
  56. package/dist/modules/ai-agent/model-loader.d.ts +7 -0
  57. package/dist/modules/ai-agent/model-loader.d.ts.map +1 -0
  58. package/dist/modules/ai-agent/model-loader.js +129 -0
  59. package/dist/modules/ai-agent/model-loader.js.map +1 -0
  60. package/dist/modules/ai-agent/orientation-loader.d.ts +2 -0
  61. package/dist/modules/ai-agent/orientation-loader.d.ts.map +1 -0
  62. package/dist/modules/ai-agent/orientation-loader.js +70 -0
  63. package/dist/modules/ai-agent/orientation-loader.js.map +1 -0
  64. package/dist/modules/ai-agent/pr-review-session.manager.d.ts +36 -0
  65. package/dist/modules/ai-agent/pr-review-session.manager.d.ts.map +1 -0
  66. package/dist/modules/ai-agent/pr-review-session.manager.js +106 -0
  67. package/dist/modules/ai-agent/pr-review-session.manager.js.map +1 -0
  68. package/dist/modules/ai-agent/pr-review.agent.d.ts +22 -0
  69. package/dist/modules/ai-agent/pr-review.agent.d.ts.map +1 -0
  70. package/dist/modules/ai-agent/pr-review.agent.js +269 -0
  71. package/dist/modules/ai-agent/pr-review.agent.js.map +1 -0
  72. package/dist/modules/ai-agent/research-loop.d.ts +3 -0
  73. package/dist/modules/ai-agent/research-loop.d.ts.map +1 -0
  74. package/dist/modules/ai-agent/research-loop.js +691 -0
  75. package/dist/modules/ai-agent/research-loop.js.map +1 -0
  76. package/dist/modules/ai-agent/review-pipeline/agent-loop.d.ts +36 -0
  77. package/dist/modules/ai-agent/review-pipeline/agent-loop.d.ts.map +1 -0
  78. package/dist/modules/ai-agent/review-pipeline/agent-loop.js +178 -0
  79. package/dist/modules/ai-agent/review-pipeline/agent-loop.js.map +1 -0
  80. package/dist/modules/ai-agent/review-pipeline/change-analyzer.d.ts +8 -0
  81. package/dist/modules/ai-agent/review-pipeline/change-analyzer.d.ts.map +1 -0
  82. package/dist/modules/ai-agent/review-pipeline/change-analyzer.js +93 -0
  83. package/dist/modules/ai-agent/review-pipeline/change-analyzer.js.map +1 -0
  84. package/dist/modules/ai-agent/review-pipeline/finding-ranker.d.ts +47 -0
  85. package/dist/modules/ai-agent/review-pipeline/finding-ranker.d.ts.map +1 -0
  86. package/dist/modules/ai-agent/review-pipeline/finding-ranker.js +91 -0
  87. package/dist/modules/ai-agent/review-pipeline/finding-ranker.js.map +1 -0
  88. package/dist/modules/ai-agent/review-pipeline/finding-verifier.d.ts +29 -0
  89. package/dist/modules/ai-agent/review-pipeline/finding-verifier.d.ts.map +1 -0
  90. package/dist/modules/ai-agent/review-pipeline/finding-verifier.js +130 -0
  91. package/dist/modules/ai-agent/review-pipeline/finding-verifier.js.map +1 -0
  92. package/dist/modules/ai-agent/review-pipeline/repository-explorer.d.ts +21 -0
  93. package/dist/modules/ai-agent/review-pipeline/repository-explorer.d.ts.map +1 -0
  94. package/dist/modules/ai-agent/review-pipeline/repository-explorer.js +247 -0
  95. package/dist/modules/ai-agent/review-pipeline/repository-explorer.js.map +1 -0
  96. package/dist/modules/ai-agent/review-pipeline/review-controller.d.ts +22 -0
  97. package/dist/modules/ai-agent/review-pipeline/review-controller.d.ts.map +1 -0
  98. package/dist/modules/ai-agent/review-pipeline/review-controller.js +102 -0
  99. package/dist/modules/ai-agent/review-pipeline/review-controller.js.map +1 -0
  100. package/dist/modules/ai-agent/review-pipeline/review-writer.d.ts +4 -0
  101. package/dist/modules/ai-agent/review-pipeline/review-writer.d.ts.map +1 -0
  102. package/dist/modules/ai-agent/review-pipeline/review-writer.js +52 -0
  103. package/dist/modules/ai-agent/review-pipeline/review-writer.js.map +1 -0
  104. package/dist/modules/ai-agent/review-pipeline/secret-scanner.d.ts +25 -0
  105. package/dist/modules/ai-agent/review-pipeline/secret-scanner.d.ts.map +1 -0
  106. package/dist/modules/ai-agent/review-pipeline/secret-scanner.js +159 -0
  107. package/dist/modules/ai-agent/review-pipeline/secret-scanner.js.map +1 -0
  108. package/dist/modules/ai-agent/review-pipeline/specialist-reviewer.d.ts +9 -0
  109. package/dist/modules/ai-agent/review-pipeline/specialist-reviewer.d.ts.map +1 -0
  110. package/dist/modules/ai-agent/review-pipeline/specialist-reviewer.js +114 -0
  111. package/dist/modules/ai-agent/review-pipeline/specialist-reviewer.js.map +1 -0
  112. package/dist/modules/ai-agent/review-pipeline/types.d.ts +53 -0
  113. package/dist/modules/ai-agent/review-pipeline/types.d.ts.map +1 -0
  114. package/dist/modules/ai-agent/review-pipeline/types.js +45 -0
  115. package/dist/modules/ai-agent/review-pipeline/types.js.map +1 -0
  116. package/dist/modules/ai-agent/tool-executor.d.ts +37 -0
  117. package/dist/modules/ai-agent/tool-executor.d.ts.map +1 -0
  118. package/dist/modules/ai-agent/tool-executor.js +199 -0
  119. package/dist/modules/ai-agent/tool-executor.js.map +1 -0
  120. package/dist/modules/ai-agent/tool-types.d.ts +72 -0
  121. package/dist/modules/ai-agent/tool-types.d.ts.map +1 -0
  122. package/dist/modules/ai-agent/tool-types.js +2 -0
  123. package/dist/modules/ai-agent/tool-types.js.map +1 -0
  124. package/dist/modules/ai-agent/tools/fs-tools.d.ts +54 -0
  125. package/dist/modules/ai-agent/tools/fs-tools.d.ts.map +1 -0
  126. package/dist/modules/ai-agent/tools/fs-tools.js +237 -0
  127. package/dist/modules/ai-agent/tools/fs-tools.js.map +1 -0
  128. package/dist/modules/ai-agent/tools/git-tools.d.ts +322 -0
  129. package/dist/modules/ai-agent/tools/git-tools.d.ts.map +1 -0
  130. package/dist/modules/ai-agent/tools/git-tools.js +557 -0
  131. package/dist/modules/ai-agent/tools/git-tools.js.map +1 -0
  132. package/dist/modules/ai-agent/tools/pr-chat-tools.d.ts +15 -0
  133. package/dist/modules/ai-agent/tools/pr-chat-tools.d.ts.map +1 -0
  134. package/dist/modules/ai-agent/tools/pr-chat-tools.js +232 -0
  135. package/dist/modules/ai-agent/tools/pr-chat-tools.js.map +1 -0
  136. package/dist/modules/database/database.module.d.ts +10 -0
  137. package/dist/modules/database/database.module.d.ts.map +1 -0
  138. package/dist/modules/database/database.module.js +36 -0
  139. package/dist/modules/database/database.module.js.map +1 -0
  140. package/dist/modules/database/vector-database.service.d.ts +27 -0
  141. package/dist/modules/database/vector-database.service.d.ts.map +1 -0
  142. package/dist/modules/database/vector-database.service.js +170 -0
  143. package/dist/modules/database/vector-database.service.js.map +1 -0
  144. package/dist/modules/github/github.module.d.ts +964 -0
  145. package/dist/modules/github/github.module.d.ts.map +1 -0
  146. package/dist/modules/github/github.module.js +316 -0
  147. package/dist/modules/github/github.module.js.map +1 -0
  148. package/dist/modules/main.module.d.ts +20 -0
  149. package/dist/modules/main.module.d.ts.map +1 -0
  150. package/dist/modules/main.module.js +59 -0
  151. package/dist/modules/main.module.js.map +1 -0
  152. package/dist/modules/qvac/qvac.module.d.ts +28 -0
  153. package/dist/modules/qvac/qvac.module.d.ts.map +1 -0
  154. package/dist/modules/qvac/qvac.module.js +146 -0
  155. package/dist/modules/qvac/qvac.module.js.map +1 -0
  156. package/dist/modules/server/dtos/create-project.dto.d.ts +9 -0
  157. package/dist/modules/server/dtos/create-project.dto.d.ts.map +1 -0
  158. package/dist/modules/server/dtos/create-project.dto.js +2 -0
  159. package/dist/modules/server/dtos/create-project.dto.js.map +1 -0
  160. package/dist/modules/server/entities/agent-task.entity.d.ts +16 -0
  161. package/dist/modules/server/entities/agent-task.entity.d.ts.map +1 -0
  162. package/dist/modules/server/entities/agent-task.entity.js +72 -0
  163. package/dist/modules/server/entities/agent-task.entity.js.map +1 -0
  164. package/dist/modules/server/entities/ai-provider.entity.d.ts +11 -0
  165. package/dist/modules/server/entities/ai-provider.entity.d.ts.map +1 -0
  166. package/dist/modules/server/entities/ai-provider.entity.js +47 -0
  167. package/dist/modules/server/entities/ai-provider.entity.js.map +1 -0
  168. package/dist/modules/server/entities/deployment-plan-approval.entity.d.ts +10 -0
  169. package/dist/modules/server/entities/deployment-plan-approval.entity.d.ts.map +1 -0
  170. package/dist/modules/server/entities/deployment-plan-approval.entity.js +42 -0
  171. package/dist/modules/server/entities/deployment-plan-approval.entity.js.map +1 -0
  172. package/dist/modules/server/entities/deployment-plan-artifact.entity.d.ts +10 -0
  173. package/dist/modules/server/entities/deployment-plan-artifact.entity.d.ts.map +1 -0
  174. package/dist/modules/server/entities/deployment-plan-artifact.entity.js +42 -0
  175. package/dist/modules/server/entities/deployment-plan-artifact.entity.js.map +1 -0
  176. package/dist/modules/server/entities/deployment-plan-feedback.entity.d.ts +9 -0
  177. package/dist/modules/server/entities/deployment-plan-feedback.entity.d.ts.map +1 -0
  178. package/dist/modules/server/entities/deployment-plan-feedback.entity.js +37 -0
  179. package/dist/modules/server/entities/deployment-plan-feedback.entity.js.map +1 -0
  180. package/dist/modules/server/entities/deployment-plan-revision.entity.d.ts +11 -0
  181. package/dist/modules/server/entities/deployment-plan-revision.entity.d.ts.map +1 -0
  182. package/dist/modules/server/entities/deployment-plan-revision.entity.js +47 -0
  183. package/dist/modules/server/entities/deployment-plan-revision.entity.js.map +1 -0
  184. package/dist/modules/server/entities/deployment-plan.entity.d.ts +13 -0
  185. package/dist/modules/server/entities/deployment-plan.entity.d.ts.map +1 -0
  186. package/dist/modules/server/entities/deployment-plan.entity.js +58 -0
  187. package/dist/modules/server/entities/deployment-plan.entity.js.map +1 -0
  188. package/dist/modules/server/entities/project.entity.d.ts +26 -0
  189. package/dist/modules/server/entities/project.entity.d.ts.map +1 -0
  190. package/dist/modules/server/entities/project.entity.js +122 -0
  191. package/dist/modules/server/entities/project.entity.js.map +1 -0
  192. package/dist/modules/server/entities/settings.entity.d.ts +12 -0
  193. package/dist/modules/server/entities/settings.entity.d.ts.map +1 -0
  194. package/dist/modules/server/entities/settings.entity.js +62 -0
  195. package/dist/modules/server/entities/settings.entity.js.map +1 -0
  196. package/dist/modules/server/entities/terminal-log.entity.d.ts +10 -0
  197. package/dist/modules/server/entities/terminal-log.entity.d.ts.map +1 -0
  198. package/dist/modules/server/entities/terminal-log.entity.js +42 -0
  199. package/dist/modules/server/entities/terminal-log.entity.js.map +1 -0
  200. package/dist/modules/server/middleware/auth.middleware.d.ts +8 -0
  201. package/dist/modules/server/middleware/auth.middleware.d.ts.map +1 -0
  202. package/dist/modules/server/middleware/auth.middleware.js +26 -0
  203. package/dist/modules/server/middleware/auth.middleware.js.map +1 -0
  204. package/dist/modules/server/routes/auth.routes.d.ts +13 -0
  205. package/dist/modules/server/routes/auth.routes.d.ts.map +1 -0
  206. package/dist/modules/server/routes/auth.routes.js +59 -0
  207. package/dist/modules/server/routes/auth.routes.js.map +1 -0
  208. package/dist/modules/server/routes/github.routes.d.ts +14 -0
  209. package/dist/modules/server/routes/github.routes.d.ts.map +1 -0
  210. package/dist/modules/server/routes/github.routes.js +124 -0
  211. package/dist/modules/server/routes/github.routes.js.map +1 -0
  212. package/dist/modules/server/routes/project.routes.d.ts +11 -0
  213. package/dist/modules/server/routes/project.routes.d.ts.map +1 -0
  214. package/dist/modules/server/routes/project.routes.js +78 -0
  215. package/dist/modules/server/routes/project.routes.js.map +1 -0
  216. package/dist/modules/server/routes/qvac.routes.d.ts +11 -0
  217. package/dist/modules/server/routes/qvac.routes.d.ts.map +1 -0
  218. package/dist/modules/server/routes/qvac.routes.js +24 -0
  219. package/dist/modules/server/routes/qvac.routes.js.map +1 -0
  220. package/dist/modules/server/routes/routes.d.ts +20 -0
  221. package/dist/modules/server/routes/routes.d.ts.map +1 -0
  222. package/dist/modules/server/routes/routes.js +35 -0
  223. package/dist/modules/server/routes/routes.js.map +1 -0
  224. package/dist/modules/server/routes/settings.controller.d.ts +14 -0
  225. package/dist/modules/server/routes/settings.controller.d.ts.map +1 -0
  226. package/dist/modules/server/routes/settings.controller.js +65 -0
  227. package/dist/modules/server/routes/settings.controller.js.map +1 -0
  228. package/dist/modules/server/server.module.d.ts +19 -0
  229. package/dist/modules/server/server.module.d.ts.map +1 -0
  230. package/dist/modules/server/server.module.js +63 -0
  231. package/dist/modules/server/server.module.js.map +1 -0
  232. package/dist/modules/server/services/auth.services.d.ts +19 -0
  233. package/dist/modules/server/services/auth.services.d.ts.map +1 -0
  234. package/dist/modules/server/services/auth.services.js +87 -0
  235. package/dist/modules/server/services/auth.services.js.map +1 -0
  236. package/dist/modules/server/services/deployment-plan.services.d.ts +6 -0
  237. package/dist/modules/server/services/deployment-plan.services.d.ts.map +1 -0
  238. package/dist/modules/server/services/deployment-plan.services.js +8 -0
  239. package/dist/modules/server/services/deployment-plan.services.js.map +1 -0
  240. package/dist/modules/server/services/github.services.d.ts +939 -0
  241. package/dist/modules/server/services/github.services.d.ts.map +1 -0
  242. package/dist/modules/server/services/github.services.js +46 -0
  243. package/dist/modules/server/services/github.services.js.map +1 -0
  244. package/dist/modules/server/services/project.services.d.ts +41 -0
  245. package/dist/modules/server/services/project.services.d.ts.map +1 -0
  246. package/dist/modules/server/services/project.services.js +360 -0
  247. package/dist/modules/server/services/project.services.js.map +1 -0
  248. package/dist/modules/server/services/qvac.services.d.ts +10 -0
  249. package/dist/modules/server/services/qvac.services.d.ts.map +1 -0
  250. package/dist/modules/server/services/qvac.services.js +58 -0
  251. package/dist/modules/server/services/qvac.services.js.map +1 -0
  252. package/dist/modules/server/services/settings.service.d.ts +60 -0
  253. package/dist/modules/server/services/settings.service.d.ts.map +1 -0
  254. package/dist/modules/server/services/settings.service.js +125 -0
  255. package/dist/modules/server/services/settings.service.js.map +1 -0
  256. package/dist/modules/socket-gateway/interfaces/project-creation-log.interface.d.ts +14 -0
  257. package/dist/modules/socket-gateway/interfaces/project-creation-log.interface.d.ts.map +1 -0
  258. package/dist/modules/socket-gateway/interfaces/project-creation-log.interface.js +2 -0
  259. package/dist/modules/socket-gateway/interfaces/project-creation-log.interface.js.map +1 -0
  260. package/dist/modules/socket-gateway/socket-gateway.module.d.ts +28 -0
  261. package/dist/modules/socket-gateway/socket-gateway.module.d.ts.map +1 -0
  262. package/dist/modules/socket-gateway/socket-gateway.module.js +92 -0
  263. package/dist/modules/socket-gateway/socket-gateway.module.js.map +1 -0
  264. package/package.json +95 -0
Binary file
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg">
2
+ <symbol id="bluesky-icon" viewBox="0 0 16 17">
3
+ <g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
4
+ <defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
5
+ </symbol>
6
+ <symbol id="discord-icon" viewBox="0 0 20 19">
7
+ <path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
8
+ </symbol>
9
+ <symbol id="documentation-icon" viewBox="0 0 21 20">
10
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
11
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
12
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
13
+ </symbol>
14
+ <symbol id="github-icon" viewBox="0 0 19 19">
15
+ <path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
16
+ </symbol>
17
+ <symbol id="social-icon" viewBox="0 0 20 20">
18
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
19
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
20
+ </symbol>
21
+ <symbol id="x-icon" viewBox="0 0 19 19">
22
+ <path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
23
+ </symbol>
24
+ </svg>
@@ -0,0 +1,17 @@
1
+ <!doctype html>
2
+ <html lang="en" class="dark">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link rel="icon" type="image/svg+xml" href="/favicon.png" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
+ <title>Lazy Review</title>
9
+ <script type="module" crossorigin src="/assets/index-CJtKCyBg.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/assets/index-4oL_AGyI.css">
11
+ </head>
12
+
13
+ <body>
14
+ <div id="root"></div>
15
+ </body>
16
+
17
+ </html>
@@ -0,0 +1,3 @@
1
+ export declare const LLM_MODEL_ID = "GEMMA4_4B_MULTIMODAL_Q6_K";
2
+ export declare const EMBEDDING_MODEL_ID = "GTE_LARGE_FP16";
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,8BAA8B,CAAC;AACxD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const LLM_MODEL_ID = 'GEMMA4_4B_MULTIMODAL_Q6_K';
2
+ export const EMBEDDING_MODEL_ID = 'GTE_LARGE_FP16';
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,2BAA2B,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC"}
package/dist/dev.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import 'reflect-metadata';
2
+ //# sourceMappingURL=dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC"}
package/dist/dev.js ADDED
@@ -0,0 +1,10 @@
1
+ import 'reflect-metadata';
2
+ import { MainModule } from './modules/main.module.js';
3
+ const programModule = new MainModule();
4
+ const port = process.env.PORT ? parseInt(process.env.PORT, 10) : 16500;
5
+ console.log(`Starting Lazy Review in development mode on port ${port}...`);
6
+ programModule.start({ port }).catch((error) => {
7
+ console.error('Failed to start MainModule:', error);
8
+ process.exit(1);
9
+ });
10
+ //# sourceMappingURL=dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,aAAa,GAAG,IAAI,UAAU,EAAE,CAAC;AAEvC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAEvE,OAAO,CAAC,GAAG,CAAC,oDAAoD,IAAI,KAAK,CAAC,CAAC;AAE3E,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC5C,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ export interface ResearchMemory {
2
+ projectUnderstanding?: {
3
+ purpose?: string;
4
+ applicationType?: string;
5
+ architecture?: string;
6
+ };
7
+ technologies: string[];
8
+ modules: Array<{
9
+ path: string;
10
+ purpose: string;
11
+ dependencies?: string[];
12
+ }>;
13
+ relationships: Array<{
14
+ from: string;
15
+ to: string;
16
+ relation: string;
17
+ }>;
18
+ conventions: string[];
19
+ discoveries: string[];
20
+ unresolvedQuestions: string[];
21
+ }
22
+ export interface ResearchState {
23
+ understood: string[];
24
+ openQuestions: string[];
25
+ inspectedFiles: Record<string, {
26
+ purpose: string;
27
+ findings: string[];
28
+ }>;
29
+ currentGoal?: string;
30
+ }
31
+ export interface ResearchBudget {
32
+ iterationsRemaining: number;
33
+ toolCallsRemaining: number;
34
+ sourceTokensRemaining: number;
35
+ }
36
+ export declare class AgentContextManager {
37
+ private readonly modelId;
38
+ private readonly maxContextTokens;
39
+ private readonly outputReserve;
40
+ private readonly kvCacheId?;
41
+ private researchMemory;
42
+ private researchState;
43
+ private recentMessages;
44
+ private readonly systemPrompt;
45
+ constructor(systemPrompt: string, modelId: string, maxContextTokens?: number, outputReserve?: number, kvCacheId?: string | undefined);
46
+ getResearchMemory(): ResearchMemory;
47
+ getResearchState(): ResearchState;
48
+ updateResearchState(updates: Partial<ResearchState>): void;
49
+ markFileInspected(filePath: string, purpose: string, findings: string[]): void;
50
+ hasInspected(filePath: string): boolean;
51
+ estimateTokens(value: unknown): number;
52
+ buildHistory(budget?: ResearchBudget): any[];
53
+ addRecent(message: any): void;
54
+ needsCompaction(extraTokens?: number, budget?: ResearchBudget): boolean;
55
+ compactWithLLM(progressCallback?: (msg: string) => void): Promise<void>;
56
+ }
57
+ //# sourceMappingURL=agent-context-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-context-manager.d.ts","sourceRoot":"","sources":["../../../src/modules/ai-agent/agent-context-manager.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,oBAAoB,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC,CAAC;IACH,aAAa,EAAE,KAAK,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,mBAAmB;IAQ5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAV7B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAGpC,YAAY,EAAE,MAAM,EACH,OAAO,EAAE,MAAM,EACf,gBAAgB,SAAS,EACzB,aAAa,SAAO,EACpB,SAAS,CAAC,EAAE,MAAM,YAAA;IAuBrC,iBAAiB;IAIjB,gBAAgB;IAIhB,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC;IAInD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;IAIvE,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIvC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM;IAKtC,YAAY,CAAC,MAAM,CAAC,EAAE,cAAc;IA8BpC,SAAS,CAAC,OAAO,EAAE,GAAG;IAItB,eAAe,CAAC,WAAW,SAAI,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO;IAQ5D,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAuE9E"}
@@ -0,0 +1,159 @@
1
+ import { completion } from '@qvac/sdk';
2
+ import { extractJson } from './ai-agent.utils.js';
3
+ export class AgentContextManager {
4
+ modelId;
5
+ maxContextTokens;
6
+ outputReserve;
7
+ kvCacheId;
8
+ researchMemory;
9
+ researchState;
10
+ recentMessages = [];
11
+ systemPrompt;
12
+ constructor(systemPrompt, modelId, maxContextTokens = 128000, outputReserve = 2500, kvCacheId) {
13
+ this.modelId = modelId;
14
+ this.maxContextTokens = maxContextTokens;
15
+ this.outputReserve = outputReserve;
16
+ this.kvCacheId = kvCacheId;
17
+ this.systemPrompt = `${systemPrompt}
18
+
19
+ STRICT RULE: DO NOT use <execute_tool> tags, <think> tags, or any XML. If you want to use a tool, output ONLY a JSON object with "name" and "arguments" keys. If you want to respond to the user without using a tool, output plain text.
20
+ Example Tool Call:
21
+ {"name": "read_file", "arguments": {"filePath": "src/index.ts"}}
22
+ `;
23
+ this.researchMemory = {
24
+ technologies: [],
25
+ modules: [],
26
+ relationships: [],
27
+ conventions: [],
28
+ discoveries: [],
29
+ unresolvedQuestions: [],
30
+ };
31
+ this.researchState = {
32
+ understood: [],
33
+ openQuestions: [],
34
+ inspectedFiles: {},
35
+ };
36
+ }
37
+ getResearchMemory() {
38
+ return this.researchMemory;
39
+ }
40
+ getResearchState() {
41
+ return this.researchState;
42
+ }
43
+ updateResearchState(updates) {
44
+ this.researchState = { ...this.researchState, ...updates };
45
+ }
46
+ markFileInspected(filePath, purpose, findings) {
47
+ this.researchState.inspectedFiles[filePath] = { purpose, findings };
48
+ }
49
+ hasInspected(filePath) {
50
+ return !!this.researchState.inspectedFiles[filePath];
51
+ }
52
+ estimateTokens(value) {
53
+ const text = typeof value === 'string' ? value : JSON.stringify(value);
54
+ return Math.ceil(text.length / 4);
55
+ }
56
+ buildHistory(budget) {
57
+ let memoryContext = `
58
+ ## Persistent Research Memory
59
+ ${JSON.stringify(this.researchMemory, null, 2)}
60
+
61
+ ## Current Research State
62
+ ${JSON.stringify(this.researchState, null, 2)}
63
+ `;
64
+ if (budget) {
65
+ memoryContext += `\n## Research Budget Remaining\n${JSON.stringify(budget, null, 2)}\n`;
66
+ }
67
+ memoryContext += `\nContinue investigating or reasoning based on this memory.
68
+ Do not assume facts not represented here or in the immediate tool results.
69
+ `;
70
+ return [
71
+ {
72
+ role: 'system',
73
+ content: this.systemPrompt,
74
+ },
75
+ {
76
+ role: 'user',
77
+ content: memoryContext,
78
+ },
79
+ ...this.recentMessages,
80
+ ];
81
+ }
82
+ addRecent(message) {
83
+ this.recentMessages.push(message);
84
+ }
85
+ needsCompaction(extraTokens = 0, budget) {
86
+ const history = this.buildHistory(budget);
87
+ const used = history.reduce((sum, msg) => sum + this.estimateTokens(msg.content), 0);
88
+ const available = this.maxContextTokens - this.outputReserve;
89
+ // Compact when at 70% of available space
90
+ return used + extraTokens > available * 0.7;
91
+ }
92
+ async compactWithLLM(progressCallback) {
93
+ if (this.recentMessages.length <= 1)
94
+ return; // Nothing to compact really
95
+ if (progressCallback) {
96
+ progressCallback('🗜️ Context budget threshold reached. Distilling research memory...');
97
+ }
98
+ const compactionPrompt = `Update the research memory and research state using the new events below.
99
+
100
+ Rules:
101
+ - Preserve existing verified facts in ResearchMemory.
102
+ - Add newly discovered facts to ResearchMemory.
103
+ - Keep file paths and symbol references.
104
+ - Remove conversational wording.
105
+ - Update ResearchState with what is currently understood and what questions remain open.
106
+ - Keep the existing inspectedFiles in ResearchState as they are (do not clear them).
107
+
108
+ Return a JSON object with two top-level keys: "researchMemory" and "researchState".
109
+
110
+ OLD MEMORY:
111
+ ${JSON.stringify({ researchMemory: this.researchMemory, researchState: this.researchState }, null, 2)}
112
+
113
+ NEW EVENTS:
114
+ ${this.recentMessages.map((m) => `[${m.role.toUpperCase()}]: ${typeof m.content === 'string' ? m.content.substring(0, 5000) : JSON.stringify(m.content).substring(0, 5000)}`).join('\n\n')}
115
+ `;
116
+ try {
117
+ const run = completion({
118
+ modelId: this.modelId,
119
+ history: [{ role: 'user', content: compactionPrompt }],
120
+ maxTokens: 4000,
121
+ stream: false,
122
+ toolDialect: 'json',
123
+ ...(this.kvCacheId ? { kvCache: this.kvCacheId } : {}),
124
+ });
125
+ const runRes = await (run.final || run);
126
+ const resultText = runRes.contentText || '';
127
+ const newCtx = extractJson(resultText);
128
+ if (newCtx.researchMemory) {
129
+ this.researchMemory = {
130
+ ...this.researchMemory,
131
+ ...newCtx.researchMemory,
132
+ };
133
+ }
134
+ if (newCtx.researchState) {
135
+ this.researchState = {
136
+ ...this.researchState,
137
+ ...newCtx.researchState,
138
+ inspectedFiles: {
139
+ ...this.researchState.inspectedFiles,
140
+ ...(newCtx.researchState.inspectedFiles || {}),
141
+ },
142
+ };
143
+ }
144
+ // Keep only the most recent tool interactions to maintain conversational thread context
145
+ this.recentMessages = this.recentMessages.slice(-2);
146
+ if (progressCallback) {
147
+ progressCallback('✅ Research memory compacted successfully.');
148
+ }
149
+ }
150
+ catch (e) {
151
+ console.warn('Failed to compact research memory:', e);
152
+ if (progressCallback) {
153
+ progressCallback('⚠️ Memory compaction failed, truncating oldest messages instead.');
154
+ }
155
+ this.recentMessages = this.recentMessages.slice(4);
156
+ }
157
+ }
158
+ }
159
+ //# sourceMappingURL=agent-context-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-context-manager.js","sourceRoot":"","sources":["../../../src/modules/ai-agent/agent-context-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { MainModule } from '../main.module.js';
2
+ import { CodeBaseIndexerAgent } from './code-base-indexer.agent.js';
3
+ import { PrReviewAgent } from './pr-review.agent.js';
4
+ import { ChatAgent } from './chat.agent.js';
5
+ import { PRReviewSessionManager } from './pr-review-session.manager.js';
6
+ export declare class AiAgentModule {
7
+ mainModule: MainModule;
8
+ service: CodeBaseIndexerAgent;
9
+ prReviewAgent: PrReviewAgent;
10
+ chatAgent: ChatAgent;
11
+ sessionManager: PRReviewSessionManager;
12
+ constructor(mainModule: MainModule);
13
+ /** Cancel an in-progress indexing run. Returns false if none is running. */
14
+ cancelIndexing(projectId: string): boolean;
15
+ }
16
+ export default AiAgentModule;
17
+ //# sourceMappingURL=ai-agent.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent.module.d.ts","sourceRoot":"","sources":["../../../src/modules/ai-agent/ai-agent.module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,qBAAa,aAAa;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,sBAAsB,CAAC;gBAE3B,UAAU,EAAE,UAAU;IAQlC,4EAA4E;IAC5E,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAG3C;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { CodeBaseIndexerAgent } from './code-base-indexer.agent.js';
2
+ import { PrReviewAgent } from './pr-review.agent.js';
3
+ import { ChatAgent } from './chat.agent.js';
4
+ import { PRReviewSessionManager } from './pr-review-session.manager.js';
5
+ export class AiAgentModule {
6
+ mainModule;
7
+ service;
8
+ prReviewAgent;
9
+ chatAgent;
10
+ sessionManager;
11
+ constructor(mainModule) {
12
+ this.mainModule = mainModule;
13
+ this.service = new CodeBaseIndexerAgent(mainModule);
14
+ this.prReviewAgent = new PrReviewAgent(mainModule);
15
+ this.chatAgent = new ChatAgent(mainModule);
16
+ this.sessionManager = new PRReviewSessionManager(mainModule);
17
+ }
18
+ /** Cancel an in-progress indexing run. Returns false if none is running. */
19
+ cancelIndexing(projectId) {
20
+ return this.service.cancelIndexing(projectId);
21
+ }
22
+ }
23
+ export default AiAgentModule;
24
+ //# sourceMappingURL=ai-agent.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent.module.js","sourceRoot":"","sources":["../../../src/modules/ai-agent/ai-agent.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,MAAM,OAAO,aAAa;IACxB,UAAU,CAAa;IACvB,OAAO,CAAuB;IAC9B,aAAa,CAAgB;IAC7B,SAAS,CAAY;IACrB,cAAc,CAAyB;IAEvC,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;IAED,4EAA4E;IAC5E,cAAc,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare function chunkText(text: string, maxChunkSize?: number): string[];
2
+ export declare function extractSymbolsWithAST(filePath: string, text: string): Promise<any[]>;
3
+ export declare function extractJson(text: string): any;
4
+ export declare const createProjectManifestSummary: (facts: any) => string;
5
+ export declare function parseDiff(diffString: string): {
6
+ file: string;
7
+ diff: string;
8
+ }[];
9
+ export declare function purgeQvacKvCache(): boolean;
10
+ //# sourceMappingURL=ai-agent.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent.utils.d.ts","sourceRoot":"","sources":["../../../src/modules/ai-agent/ai-agent.utils.ts"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,SAAO,GAAG,MAAM,EAAE,CAqCrE;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAyF1F;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAmB7C;AAED,eAAO,MAAM,4BAA4B,GAAI,OAAO,GAAG,KAAG,MAyHzD,CAAC;AAmJF,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CA8B9E;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAY1C"}