@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-review-session.manager.js","sourceRoot":"","sources":["../../../src/modules/ai-agent/pr-review-session.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { BaseAgent } from './base.agent.js';
2
+ export interface ReviewIssue {
3
+ severity: 'critical' | 'warning' | 'suggestion';
4
+ title: string;
5
+ description: string;
6
+ file?: string;
7
+ line?: number;
8
+ convention?: string;
9
+ }
10
+ export interface PRReviewResult {
11
+ summary: string;
12
+ issues: ReviewIssue[];
13
+ overallVerdict: 'approve' | 'request_changes' | 'comment';
14
+ }
15
+ export declare class PrReviewAgent extends BaseAgent {
16
+ /**
17
+ * Generate a structured AI review for a PR diff, grounded in the project's
18
+ * architectural manifest stored in the vector DB.
19
+ */
20
+ generatePRReview(projectId: string, prDiff: string, prTitle: string, prBody: string, prNumber: number): Promise<PRReviewResult>;
21
+ }
22
+ //# sourceMappingURL=pr-review.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-review.agent.d.ts","sourceRoot":"","sources":["../../../src/modules/ai-agent/pr-review.agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQ5C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,YAAY,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;CAC3D;AAED,qBAAa,aAAc,SAAQ,SAAS;IAC1C;;;OAGG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;CA8Q3B"}
@@ -0,0 +1,269 @@
1
+ import { completion } from '@qvac/sdk';
2
+ import { BaseAgent } from './base.agent.js';
3
+ import ProjectEntity from '../server/entities/project.entity.js';
4
+ import { extractJson, parseDiff, createProjectManifestSummary } from './ai-agent.utils.js';
5
+ import { z } from 'zod';
6
+ import { createGitTools } from './tools/git-tools.js';
7
+ import { createFsTools } from './tools/fs-tools.js';
8
+ import { AgentContextManager } from './agent-context-manager.js';
9
+ export class PrReviewAgent extends BaseAgent {
10
+ /**
11
+ * Generate a structured AI review for a PR diff, grounded in the project's
12
+ * architectural manifest stored in the vector DB.
13
+ */
14
+ async generatePRReview(projectId, prDiff, prTitle, prBody, prNumber) {
15
+ const session = this.mainModule.aiAgent.sessionManager.getSession(projectId, prNumber);
16
+ let llmId;
17
+ let embeddingId;
18
+ let parsedDiffFiles;
19
+ let baseTools;
20
+ let projectOverview;
21
+ if (session) {
22
+ llmId = session.llmId;
23
+ embeddingId = session.embeddingId;
24
+ parsedDiffFiles = session.parsedDiffFiles;
25
+ baseTools = [...session.gitTools, ...session.fsTools];
26
+ projectOverview = session.projectOverview;
27
+ }
28
+ else {
29
+ const models = await this.ensureModelsLoaded();
30
+ llmId = models.llmId;
31
+ embeddingId = models.embeddingId;
32
+ const project = await ProjectEntity.findOne({ where: { id: projectId } });
33
+ if (!project)
34
+ throw new Error(`Project ${projectId} not found.`);
35
+ baseTools = [
36
+ ...createGitTools(project.repository_path),
37
+ ...createFsTools(project.repository_path),
38
+ ];
39
+ parsedDiffFiles = prDiff ? parseDiff(prDiff) : [];
40
+ projectOverview = project.analysis
41
+ ? createProjectManifestSummary(project.analysis)
42
+ : 'No project overview available.';
43
+ }
44
+ const context = await this.getRelevantContext(projectId, embeddingId, `code review for: ${prTitle} ${prBody}`);
45
+ const jsonSchema = `{
46
+ "summary": "2-3 paragraph markdown summary of the PR and your overall assessment",
47
+ "overallVerdict": "approve" | "request_changes" | "comment",
48
+ "issues": [
49
+ // List ALL issues found. You can have multiple issues here (0, 1, or many).
50
+ {
51
+ "severity": "critical" | "warning" | "suggestion",
52
+ "title": "Short title of the issue",
53
+ "description": "Detailed explanation of why this is an issue and how to fix it",
54
+ "file": "optional: path/to/file.ts",
55
+ "line": null,
56
+ "convention": "optional: the specific convention being violated, quoted from the manifest"
57
+ }
58
+ ]
59
+ }`;
60
+ const systemPrompt = `You are an expert autonomous code reviewer embedded in Lazy Review. You have access to the project's architectural manifest which describes the codebase conventions, patterns, and rules.
61
+
62
+ Your job is to review the provided pull request and identify ALL:
63
+ 1. Architectural violations (violations of the project's established conventions)
64
+ 2. Security issues
65
+ 3. Code quality concerns
66
+ 4. Suggestions for improvement
67
+
68
+ Examine each file change carefully. Do not be lazy. You should output all issues you find. The issues array can contain as many items as necessary. If there are no issues, the array should be empty.
69
+
70
+ Output ONLY valid JSON matching this exact schema — no markdown, no explanation outside the JSON:
71
+ ${jsonSchema}`;
72
+ const parsedDiffFilesForSnippet = session?.parsedDiffFiles ?? (prDiff ? parseDiff(prDiff) : []);
73
+ let diffSnippet = '';
74
+ if (parsedDiffFilesForSnippet.length > 0) {
75
+ diffSnippet = `## Changed Files and Diffs in PR:\n`;
76
+ let totalLength = 0;
77
+ for (const fileDiff of parsedDiffFilesForSnippet) {
78
+ if (totalLength > 20000) {
79
+ diffSnippet += `### File: ${fileDiff.file} (Diff omitted due to size limit)\n\n`;
80
+ continue;
81
+ }
82
+ const truncatedFileDiff = fileDiff.diff.length > 6000
83
+ ? fileDiff.diff.substring(0, 6000) + '\n... [TRUNCATED] ...'
84
+ : fileDiff.diff;
85
+ diffSnippet += `### File: ${fileDiff.file}\n\`\`\`diff\n${truncatedFileDiff}\n\`\`\`\n\n`;
86
+ totalLength += truncatedFileDiff.length;
87
+ }
88
+ }
89
+ else {
90
+ diffSnippet = 'No files changed.';
91
+ }
92
+ // Provide the tool so the agent can read files slowly and on-demand
93
+ const readPrFileDiffTool = {
94
+ name: 'read_pr_file_diff',
95
+ description: 'Get the exact diff for a specific file modified in this PR.',
96
+ parameters: z.object({
97
+ file_path: z.string().describe('The path of the changed file (e.g. src/main.ts).'),
98
+ }),
99
+ handler: async (args) => {
100
+ const fileDiff = parsedDiffFiles.find((f) => f.file === args.file_path);
101
+ if (fileDiff)
102
+ return { diff: fileDiff.diff };
103
+ return { error: `File ${args.file_path} not found in this PR's diff.` };
104
+ },
105
+ };
106
+ const semanticSearchTool = {
107
+ name: 'semantic_search',
108
+ description: 'Search the indexed codebase using semantic similarity. Useful for finding architecture patterns, existing conventions, or context about unfamiliar code.',
109
+ parameters: z.object({
110
+ query: z.string().describe('The search query for semantic matching.'),
111
+ }),
112
+ handler: async (args) => {
113
+ const factsContext = await this.getRelevantContext(projectId, embeddingId, args.query);
114
+ if (!factsContext)
115
+ return { result: 'No relevant semantic information found.' };
116
+ return { result: factsContext };
117
+ },
118
+ };
119
+ const runtimeTools = [...baseTools, readPrFileDiffTool, semanticSearchTool];
120
+ const userMessage = `/no_think
121
+ ## Codebase Overview (Project Manifest)
122
+ ${projectOverview}
123
+
124
+ ## Relevant Semantic Context
125
+ ${context || 'No indexed semantic context available.'}
126
+
127
+ ---
128
+
129
+ ## Pull Request: ${prTitle}
130
+ ${prBody ? `**Description:** ${prBody}\n\n` : ''}
131
+ ${diffSnippet}
132
+
133
+ Review this PR carefully and identify all issues. You may use tools (like read_file, get_pr_files, semantic_search) if you need additional codebase context. Output your JSON review when done.`;
134
+ const contextManager = new AgentContextManager(systemPrompt, llmId, 128000, 2500);
135
+ contextManager.addRecent({ role: 'user', content: userMessage });
136
+ const MAX_ITERATIONS = 15;
137
+ let iterations = 0;
138
+ let finalResponseText = '';
139
+ while (iterations < MAX_ITERATIONS) {
140
+ // Compaction logic removed temporarily
141
+ const run = completion({
142
+ modelId: llmId,
143
+ history: contextManager.buildHistory(),
144
+ tools: runtimeTools,
145
+ toolDialect: 'json',
146
+ stream: false,
147
+ });
148
+ const result = await this.awaitCompletion(run);
149
+ const text = result.contentText || '';
150
+ contextManager.addRecent({ role: 'assistant', content: text });
151
+ const resolvedToolCalls = await result.toolCalls;
152
+ let toolCalls = [];
153
+ if (resolvedToolCalls && resolvedToolCalls.length > 0) {
154
+ toolCalls = resolvedToolCalls;
155
+ }
156
+ else {
157
+ const regex = /\{(?:[^{}]|(?:\{(?:[^{}]|(?:\{[^{}]*\}))*\}))*\}/g;
158
+ let match;
159
+ while ((match = regex.exec(text)) !== null) {
160
+ try {
161
+ const parsed = JSON.parse(match[0]);
162
+ if (parsed.name && parsed.arguments) {
163
+ toolCalls.push(parsed);
164
+ }
165
+ }
166
+ catch {
167
+ // ignore
168
+ }
169
+ }
170
+ const agRegex = /<\|tool_call\|?>?\s*:?\s*(?:call\s*:\s*)?([a-zA-Z0-9_-]+)\{(.*?)\}/g;
171
+ let agMatch;
172
+ while ((agMatch = agRegex.exec(text)) !== null) {
173
+ try {
174
+ let parsedArgs = {};
175
+ if (agMatch[2] && agMatch[2].trim()) {
176
+ parsedArgs = JSON.parse('{' + agMatch[2] + '}');
177
+ }
178
+ toolCalls.push({ name: agMatch[1] || '', arguments: parsedArgs });
179
+ }
180
+ catch {
181
+ try {
182
+ const parsedArgs = JSON.parse(agMatch[2] || '{}');
183
+ toolCalls.push({ name: agMatch[1] || '', arguments: parsedArgs });
184
+ }
185
+ catch {
186
+ // ignore
187
+ }
188
+ }
189
+ }
190
+ }
191
+ if (toolCalls.length > 0) {
192
+ for (const call of toolCalls) {
193
+ const tool = runtimeTools.find((t) => t.name === call.name);
194
+ if (tool) {
195
+ console.log(`🤖 [Executing Tool] ${tool.name}`, call.arguments);
196
+ try {
197
+ let toolResult;
198
+ if ('invoke' in call && typeof call.invoke === 'function') {
199
+ toolResult = await call.invoke();
200
+ }
201
+ else if ('handler' in tool && typeof tool.handler === 'function') {
202
+ toolResult = await tool.handler(call.arguments);
203
+ }
204
+ else if ('invoke' in tool && typeof tool.invoke === 'function') {
205
+ toolResult = await tool.invoke(call.arguments);
206
+ }
207
+ // Compaction removed temporarily
208
+ contextManager.addRecent({
209
+ role: 'tool',
210
+ content: JSON.stringify(toolResult, null, 2),
211
+ });
212
+ }
213
+ catch (e) {
214
+ contextManager.addRecent({ role: 'tool', content: `Tool error: ${e.message}` });
215
+ }
216
+ }
217
+ else {
218
+ contextManager.addRecent({ role: 'tool', content: `Tool ${call.name} not found.` });
219
+ }
220
+ }
221
+ }
222
+ else {
223
+ finalResponseText = text;
224
+ break;
225
+ }
226
+ iterations++;
227
+ }
228
+ let parsed;
229
+ try {
230
+ parsed = extractJson(finalResponseText);
231
+ if (!parsed.summary)
232
+ throw new Error('Missing summary');
233
+ }
234
+ catch {
235
+ contextManager.addRecent({
236
+ role: 'user',
237
+ content: `/no_think\nYou have reached the maximum number of research steps. Output the final JSON strictly following this schema:\n${jsonSchema}`,
238
+ });
239
+ const finalRun = completion({
240
+ modelId: llmId,
241
+ history: contextManager.buildHistory(),
242
+ stream: false,
243
+ });
244
+ const finalResult = await this.awaitCompletion(finalRun);
245
+ try {
246
+ parsed = extractJson(finalResult.contentText);
247
+ }
248
+ catch {
249
+ parsed = {
250
+ summary: finalResult.contentText || 'Review generation failed to produce structured output.',
251
+ issues: [],
252
+ overallVerdict: 'comment',
253
+ };
254
+ }
255
+ }
256
+ parsed.issues = parsed.issues || [];
257
+ parsed.summary = parsed.summary || 'Review complete.';
258
+ parsed.overallVerdict = parsed.overallVerdict || 'comment';
259
+ if (this.mainModule.socket) {
260
+ this.mainModule.socket.emitReviewProgress({
261
+ projectId,
262
+ status: 'success',
263
+ review: parsed,
264
+ });
265
+ }
266
+ return parsed;
267
+ }
268
+ }
269
+ //# sourceMappingURL=pr-review.agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-review.agent.js","sourceRoot":"","sources":["../../../src/modules/ai-agent/pr-review.agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import ProjectEntity from '../server/entities/project.entity.js';
2
+ export declare function runResearchAgentLoop(project: ProjectEntity, absoluteRoot: string, gemma4ModelId: string, orientationFileContents: string[], progress: (msg: string) => void, checkCancelled: () => void, awaitCompletion: (run: any) => Promise<any>): Promise<any>;
3
+ //# sourceMappingURL=research-loop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research-loop.d.ts","sourceRoot":"","sources":["../../../src/modules/ai-agent/research-loop.ts"],"names":[],"mappings":"AAQA,OAAO,aAAa,MAAM,sCAAsC,CAAC;AA2HjE,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,uBAAuB,EAAE,MAAM,EAAE,EACjC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC/B,cAAc,EAAE,MAAM,IAAI,EAC1B,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,gBA4rB5C"}