@diff-review-system/drs 3.3.1 → 4.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 (387) hide show
  1. package/.pi/agents/describe/pr-describer.md +14 -0
  2. package/.pi/agents/review/unified-reviewer.md +31 -1
  3. package/.pi/agents/task/agents-md-updater.md +26 -0
  4. package/.pi/agents/task/changelog-updater.md +29 -0
  5. package/.pi/agents/task/review-issue-fixer.md +42 -0
  6. package/.pi/agents/visual/pr-explainer.md +205 -0
  7. package/.pi/workflows/github-pr-describe.yaml +26 -0
  8. package/.pi/workflows/github-pr-fix-review-issues-stacked.yaml +148 -0
  9. package/.pi/workflows/github-pr-post-comment.yaml +19 -0
  10. package/.pi/workflows/github-pr-review-post.yaml +43 -0
  11. package/.pi/workflows/github-pr-review.yaml +364 -0
  12. package/.pi/workflows/github-pr-show-changes.yaml +25 -0
  13. package/.pi/workflows/github-pr-update-agents-md-stacked.yaml +103 -0
  14. package/.pi/workflows/github-pr-visual-explain.yaml +35 -0
  15. package/.pi/workflows/gitlab-mr-describe.yaml +24 -0
  16. package/.pi/workflows/gitlab-mr-fix-review-issues-stacked.yaml +144 -0
  17. package/.pi/workflows/gitlab-mr-post-comment.yaml +17 -0
  18. package/.pi/workflows/gitlab-mr-review.yaml +364 -0
  19. package/.pi/workflows/gitlab-mr-show-changes.yaml +23 -0
  20. package/.pi/workflows/gitlab-mr-update-agents-md-stacked.yaml +100 -0
  21. package/.pi/workflows/gitlab-mr-visual-explain.yaml +33 -0
  22. package/.pi/workflows/local-changelog-update.yaml +23 -0
  23. package/.pi/workflows/local-fix-review-issues.yaml +111 -0
  24. package/.pi/workflows/local-review.yaml +24 -0
  25. package/.pi/workflows/local-update-agents-md.yaml +24 -0
  26. package/.pi/workflows/local-visual-explain.yaml +31 -0
  27. package/.pi/workflows/release-changelog-finalize.yaml +47 -0
  28. package/.pi/workflows/tag-changelog-update.yaml +26 -0
  29. package/README.md +281 -104
  30. package/dist/ci/runner.d.ts.map +1 -1
  31. package/dist/ci/runner.js +9 -8
  32. package/dist/ci/runner.js.map +1 -1
  33. package/dist/cli/index.js +95 -325
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/cli/init.d.ts.map +1 -1
  36. package/dist/cli/init.js +25 -23
  37. package/dist/cli/init.js.map +1 -1
  38. package/dist/cli/run-agent.d.ts +26 -0
  39. package/dist/cli/run-agent.d.ts.map +1 -0
  40. package/dist/cli/run-agent.js +143 -0
  41. package/dist/cli/run-agent.js.map +1 -0
  42. package/dist/cli/workflow.d.ts +105 -0
  43. package/dist/cli/workflow.d.ts.map +1 -0
  44. package/dist/cli/workflow.js +3309 -0
  45. package/dist/cli/workflow.js.map +1 -0
  46. package/dist/github/client.d.ts +12 -0
  47. package/dist/github/client.d.ts.map +1 -1
  48. package/dist/github/client.js +27 -0
  49. package/dist/github/client.js.map +1 -1
  50. package/dist/github/platform-adapter.d.ts +6 -1
  51. package/dist/github/platform-adapter.d.ts.map +1 -1
  52. package/dist/github/platform-adapter.js +84 -8
  53. package/dist/github/platform-adapter.js.map +1 -1
  54. package/dist/gitlab/client.d.ts +11 -0
  55. package/dist/gitlab/client.d.ts.map +1 -1
  56. package/dist/gitlab/client.js +11 -0
  57. package/dist/gitlab/client.js.map +1 -1
  58. package/dist/gitlab/platform-adapter.d.ts +3 -1
  59. package/dist/gitlab/platform-adapter.d.ts.map +1 -1
  60. package/dist/gitlab/platform-adapter.js +32 -1
  61. package/dist/gitlab/platform-adapter.js.map +1 -1
  62. package/dist/lib/agent-id.d.ts +9 -0
  63. package/dist/lib/agent-id.d.ts.map +1 -0
  64. package/dist/lib/agent-id.js +32 -0
  65. package/dist/lib/agent-id.js.map +1 -0
  66. package/dist/lib/comment-formatter.d.ts +15 -1
  67. package/dist/lib/comment-formatter.d.ts.map +1 -1
  68. package/dist/lib/comment-formatter.js +53 -4
  69. package/dist/lib/comment-formatter.js.map +1 -1
  70. package/dist/lib/comment-manager.d.ts +4 -0
  71. package/dist/lib/comment-manager.d.ts.map +1 -1
  72. package/dist/lib/comment-manager.js +7 -1
  73. package/dist/lib/comment-manager.js.map +1 -1
  74. package/dist/lib/comment-poster.d.ts +2 -2
  75. package/dist/lib/comment-poster.d.ts.map +1 -1
  76. package/dist/lib/comment-poster.js +31 -4
  77. package/dist/lib/comment-poster.js.map +1 -1
  78. package/dist/lib/config.d.ts +160 -44
  79. package/dist/lib/config.d.ts.map +1 -1
  80. package/dist/lib/config.js +475 -101
  81. package/dist/lib/config.js.map +1 -1
  82. package/dist/lib/context-compression.d.ts +10 -0
  83. package/dist/lib/context-compression.d.ts.map +1 -1
  84. package/dist/lib/context-compression.js +101 -13
  85. package/dist/lib/context-compression.js.map +1 -1
  86. package/dist/lib/context-loader.d.ts +5 -4
  87. package/dist/lib/context-loader.d.ts.map +1 -1
  88. package/dist/lib/context-loader.js +79 -7
  89. package/dist/lib/context-loader.js.map +1 -1
  90. package/dist/lib/describe-core.d.ts.map +1 -1
  91. package/dist/lib/describe-core.js +3 -2
  92. package/dist/lib/describe-core.js.map +1 -1
  93. package/dist/lib/description-executor.js +1 -1
  94. package/dist/lib/description-executor.js.map +1 -1
  95. package/dist/lib/diff-lines.d.ts +18 -0
  96. package/dist/lib/diff-lines.d.ts.map +1 -0
  97. package/dist/lib/diff-lines.js +40 -0
  98. package/dist/lib/diff-lines.js.map +1 -0
  99. package/dist/lib/exit.js +4 -4
  100. package/dist/lib/exit.js.map +1 -1
  101. package/dist/lib/html-artifact.d.ts +14 -0
  102. package/dist/lib/html-artifact.d.ts.map +1 -0
  103. package/dist/lib/html-artifact.js +59 -0
  104. package/dist/lib/html-artifact.js.map +1 -0
  105. package/dist/lib/issue-parser.js +3 -3
  106. package/dist/lib/issue-parser.js.map +1 -1
  107. package/dist/lib/json-output-schema.d.ts +70 -0
  108. package/dist/lib/json-output-schema.d.ts.map +1 -1
  109. package/dist/lib/json-output-schema.js +40 -0
  110. package/dist/lib/json-output-schema.js.map +1 -1
  111. package/dist/lib/logger.d.ts +1 -1
  112. package/dist/lib/logger.d.ts.map +1 -1
  113. package/dist/lib/platform-client.d.ts +26 -0
  114. package/dist/lib/platform-client.d.ts.map +1 -1
  115. package/dist/lib/review-artifact.d.ts +69 -0
  116. package/dist/lib/review-artifact.d.ts.map +1 -0
  117. package/dist/lib/review-artifact.js +171 -0
  118. package/dist/lib/review-artifact.js.map +1 -0
  119. package/dist/lib/review-core.d.ts +6 -4
  120. package/dist/lib/review-core.d.ts.map +1 -1
  121. package/dist/lib/review-core.js +88 -173
  122. package/dist/lib/review-core.js.map +1 -1
  123. package/dist/lib/review-orchestrator.d.ts +23 -0
  124. package/dist/lib/review-orchestrator.d.ts.map +1 -1
  125. package/dist/lib/review-orchestrator.js +31 -21
  126. package/dist/lib/review-orchestrator.js.map +1 -1
  127. package/dist/lib/review-usage.d.ts +4 -0
  128. package/dist/lib/review-usage.d.ts.map +1 -1
  129. package/dist/lib/review-usage.js +25 -0
  130. package/dist/lib/review-usage.js.map +1 -1
  131. package/dist/lib/trace-collector.d.ts +105 -0
  132. package/dist/lib/trace-collector.d.ts.map +1 -0
  133. package/dist/lib/trace-collector.js +255 -0
  134. package/dist/lib/trace-collector.js.map +1 -0
  135. package/dist/lib/trace-html.d.ts +3 -0
  136. package/dist/lib/trace-html.d.ts.map +1 -0
  137. package/dist/lib/trace-html.js +349 -0
  138. package/dist/lib/trace-html.js.map +1 -0
  139. package/dist/lib/workflow-artifacts.d.ts +54 -0
  140. package/dist/lib/workflow-artifacts.d.ts.map +1 -0
  141. package/dist/lib/workflow-artifacts.js +150 -0
  142. package/dist/lib/workflow-artifacts.js.map +1 -0
  143. package/dist/pi/sdk.d.ts.map +1 -1
  144. package/dist/pi/sdk.js +605 -16
  145. package/dist/pi/sdk.js.map +1 -1
  146. package/dist/runtime/agent-loader.d.ts +10 -6
  147. package/dist/runtime/agent-loader.d.ts.map +1 -1
  148. package/dist/runtime/agent-loader.js +55 -29
  149. package/dist/runtime/agent-loader.js.map +1 -1
  150. package/dist/runtime/built-in-paths.d.ts +1 -0
  151. package/dist/runtime/built-in-paths.d.ts.map +1 -1
  152. package/dist/runtime/built-in-paths.js +7 -0
  153. package/dist/runtime/built-in-paths.js.map +1 -1
  154. package/dist/runtime/client.d.ts +14 -0
  155. package/dist/runtime/client.d.ts.map +1 -1
  156. package/dist/runtime/client.js +87 -56
  157. package/dist/runtime/client.js.map +1 -1
  158. package/dist/runtime/path-config.d.ts +2 -2
  159. package/dist/runtime/path-config.d.ts.map +1 -1
  160. package/dist/runtime/path-config.js +8 -8
  161. package/dist/runtime/path-config.js.map +1 -1
  162. package/package.json +22 -16
  163. package/.pi/agents/review/documentation.md +0 -56
  164. package/.pi/agents/review/performance.md +0 -53
  165. package/.pi/agents/review/quality.md +0 -59
  166. package/.pi/agents/review/security.md +0 -53
  167. package/.pi/agents/review/style.md +0 -132
  168. package/dist/cli/describe-mr.d.ts +0 -11
  169. package/dist/cli/describe-mr.d.ts.map +0 -1
  170. package/dist/cli/describe-mr.js +0 -134
  171. package/dist/cli/describe-mr.js.map +0 -1
  172. package/dist/cli/describe-pr.d.ts +0 -12
  173. package/dist/cli/describe-pr.d.ts.map +0 -1
  174. package/dist/cli/describe-pr.js +0 -135
  175. package/dist/cli/describe-pr.js.map +0 -1
  176. package/dist/cli/post-comments.d.ts +0 -20
  177. package/dist/cli/post-comments.d.ts.map +0 -1
  178. package/dist/cli/post-comments.js +0 -225
  179. package/dist/cli/post-comments.js.map +0 -1
  180. package/dist/cli/review-local.d.ts +0 -13
  181. package/dist/cli/review-local.d.ts.map +0 -1
  182. package/dist/cli/review-local.integration.test.d.ts +0 -2
  183. package/dist/cli/review-local.integration.test.d.ts.map +0 -1
  184. package/dist/cli/review-local.integration.test.js +0 -343
  185. package/dist/cli/review-local.integration.test.js.map +0 -1
  186. package/dist/cli/review-local.js +0 -90
  187. package/dist/cli/review-local.js.map +0 -1
  188. package/dist/cli/review-local.live.e2e.test.d.ts +0 -2
  189. package/dist/cli/review-local.live.e2e.test.d.ts.map +0 -1
  190. package/dist/cli/review-local.live.e2e.test.js +0 -153
  191. package/dist/cli/review-local.live.e2e.test.js.map +0 -1
  192. package/dist/cli/review-local.test.d.ts +0 -2
  193. package/dist/cli/review-local.test.d.ts.map +0 -1
  194. package/dist/cli/review-local.test.js +0 -164
  195. package/dist/cli/review-local.test.js.map +0 -1
  196. package/dist/cli/review-mr.d.ts +0 -22
  197. package/dist/cli/review-mr.d.ts.map +0 -1
  198. package/dist/cli/review-mr.js +0 -181
  199. package/dist/cli/review-mr.js.map +0 -1
  200. package/dist/cli/review-mr.test.d.ts +0 -2
  201. package/dist/cli/review-mr.test.d.ts.map +0 -1
  202. package/dist/cli/review-mr.test.js +0 -142
  203. package/dist/cli/review-mr.test.js.map +0 -1
  204. package/dist/cli/review-pr.d.ts +0 -22
  205. package/dist/cli/review-pr.d.ts.map +0 -1
  206. package/dist/cli/review-pr.js +0 -181
  207. package/dist/cli/review-pr.js.map +0 -1
  208. package/dist/cli/review-pr.test.d.ts +0 -2
  209. package/dist/cli/review-pr.test.d.ts.map +0 -1
  210. package/dist/cli/review-pr.test.js +0 -137
  211. package/dist/cli/review-pr.test.js.map +0 -1
  212. package/dist/cli/review-url.d.ts +0 -35
  213. package/dist/cli/review-url.d.ts.map +0 -1
  214. package/dist/cli/review-url.js +0 -110
  215. package/dist/cli/review-url.js.map +0 -1
  216. package/dist/cli/review-url.test.d.ts +0 -2
  217. package/dist/cli/review-url.test.d.ts.map +0 -1
  218. package/dist/cli/review-url.test.js +0 -132
  219. package/dist/cli/review-url.test.js.map +0 -1
  220. package/dist/cli/show-changes.d.ts +0 -15
  221. package/dist/cli/show-changes.d.ts.map +0 -1
  222. package/dist/cli/show-changes.js +0 -184
  223. package/dist/cli/show-changes.js.map +0 -1
  224. package/dist/github/client.test.d.ts +0 -2
  225. package/dist/github/client.test.d.ts.map +0 -1
  226. package/dist/github/client.test.js +0 -206
  227. package/dist/github/client.test.js.map +0 -1
  228. package/dist/github/platform-adapter.test.d.ts +0 -2
  229. package/dist/github/platform-adapter.test.d.ts.map +0 -1
  230. package/dist/github/platform-adapter.test.js +0 -40
  231. package/dist/github/platform-adapter.test.js.map +0 -1
  232. package/dist/gitlab/diff-parser.test.d.ts +0 -2
  233. package/dist/gitlab/diff-parser.test.d.ts.map +0 -1
  234. package/dist/gitlab/diff-parser.test.js +0 -315
  235. package/dist/gitlab/diff-parser.test.js.map +0 -1
  236. package/dist/gitlab/platform-adapter.test.d.ts +0 -2
  237. package/dist/gitlab/platform-adapter.test.d.ts.map +0 -1
  238. package/dist/gitlab/platform-adapter.test.js +0 -21
  239. package/dist/gitlab/platform-adapter.test.js.map +0 -1
  240. package/dist/index.test.d.ts +0 -2
  241. package/dist/index.test.d.ts.map +0 -1
  242. package/dist/index.test.js +0 -7
  243. package/dist/index.test.js.map +0 -1
  244. package/dist/lib/code-quality-report.test.d.ts +0 -2
  245. package/dist/lib/code-quality-report.test.d.ts.map +0 -1
  246. package/dist/lib/code-quality-report.test.js +0 -327
  247. package/dist/lib/code-quality-report.test.js.map +0 -1
  248. package/dist/lib/comment-formatter.test.d.ts +0 -2
  249. package/dist/lib/comment-formatter.test.d.ts.map +0 -1
  250. package/dist/lib/comment-formatter.test.js +0 -694
  251. package/dist/lib/comment-formatter.test.js.map +0 -1
  252. package/dist/lib/comment-manager.test.d.ts +0 -2
  253. package/dist/lib/comment-manager.test.d.ts.map +0 -1
  254. package/dist/lib/comment-manager.test.js +0 -680
  255. package/dist/lib/comment-manager.test.js.map +0 -1
  256. package/dist/lib/comment-poster.test.d.ts +0 -5
  257. package/dist/lib/comment-poster.test.d.ts.map +0 -1
  258. package/dist/lib/comment-poster.test.js +0 -245
  259. package/dist/lib/comment-poster.test.js.map +0 -1
  260. package/dist/lib/config-model-overrides.test.d.ts +0 -12
  261. package/dist/lib/config-model-overrides.test.d.ts.map +0 -1
  262. package/dist/lib/config-model-overrides.test.js +0 -254
  263. package/dist/lib/config-model-overrides.test.js.map +0 -1
  264. package/dist/lib/config.test.d.ts +0 -2
  265. package/dist/lib/config.test.d.ts.map +0 -1
  266. package/dist/lib/config.test.js +0 -73
  267. package/dist/lib/config.test.js.map +0 -1
  268. package/dist/lib/context-compression.test.d.ts +0 -2
  269. package/dist/lib/context-compression.test.d.ts.map +0 -1
  270. package/dist/lib/context-compression.test.js +0 -337
  271. package/dist/lib/context-compression.test.js.map +0 -1
  272. package/dist/lib/context-loader.test.d.ts +0 -2
  273. package/dist/lib/context-loader.test.d.ts.map +0 -1
  274. package/dist/lib/context-loader.test.js +0 -207
  275. package/dist/lib/context-loader.test.js.map +0 -1
  276. package/dist/lib/cursor-fix-link.test.d.ts +0 -2
  277. package/dist/lib/cursor-fix-link.test.d.ts.map +0 -1
  278. package/dist/lib/cursor-fix-link.test.js +0 -70
  279. package/dist/lib/cursor-fix-link.test.js.map +0 -1
  280. package/dist/lib/describe-core.test.d.ts +0 -2
  281. package/dist/lib/describe-core.test.d.ts.map +0 -1
  282. package/dist/lib/describe-core.test.js +0 -208
  283. package/dist/lib/describe-core.test.js.map +0 -1
  284. package/dist/lib/describe-output-path.test.d.ts +0 -2
  285. package/dist/lib/describe-output-path.test.d.ts.map +0 -1
  286. package/dist/lib/describe-output-path.test.js +0 -51
  287. package/dist/lib/describe-output-path.test.js.map +0 -1
  288. package/dist/lib/describe-parser.test.d.ts +0 -2
  289. package/dist/lib/describe-parser.test.d.ts.map +0 -1
  290. package/dist/lib/describe-parser.test.js +0 -282
  291. package/dist/lib/describe-parser.test.js.map +0 -1
  292. package/dist/lib/description-executor.test.d.ts +0 -2
  293. package/dist/lib/description-executor.test.d.ts.map +0 -1
  294. package/dist/lib/description-executor.test.js +0 -128
  295. package/dist/lib/description-executor.test.js.map +0 -1
  296. package/dist/lib/description-formatter.test.d.ts +0 -2
  297. package/dist/lib/description-formatter.test.d.ts.map +0 -1
  298. package/dist/lib/description-formatter.test.js +0 -57
  299. package/dist/lib/description-formatter.test.js.map +0 -1
  300. package/dist/lib/diff-parser.test.d.ts +0 -2
  301. package/dist/lib/diff-parser.test.d.ts.map +0 -1
  302. package/dist/lib/diff-parser.test.js +0 -335
  303. package/dist/lib/diff-parser.test.js.map +0 -1
  304. package/dist/lib/error-comment-poster.test.d.ts +0 -2
  305. package/dist/lib/error-comment-poster.test.d.ts.map +0 -1
  306. package/dist/lib/error-comment-poster.test.js +0 -128
  307. package/dist/lib/error-comment-poster.test.js.map +0 -1
  308. package/dist/lib/exit.test.d.ts +0 -2
  309. package/dist/lib/exit.test.d.ts.map +0 -1
  310. package/dist/lib/exit.test.js +0 -120
  311. package/dist/lib/exit.test.js.map +0 -1
  312. package/dist/lib/issue-parser.test.d.ts +0 -2
  313. package/dist/lib/issue-parser.test.d.ts.map +0 -1
  314. package/dist/lib/issue-parser.test.js +0 -281
  315. package/dist/lib/issue-parser.test.js.map +0 -1
  316. package/dist/lib/json-output-schema.test.d.ts +0 -2
  317. package/dist/lib/json-output-schema.test.d.ts.map +0 -1
  318. package/dist/lib/json-output-schema.test.js +0 -92
  319. package/dist/lib/json-output-schema.test.js.map +0 -1
  320. package/dist/lib/json-output.test.d.ts +0 -2
  321. package/dist/lib/json-output.test.d.ts.map +0 -1
  322. package/dist/lib/json-output.test.js +0 -141
  323. package/dist/lib/json-output.test.js.map +0 -1
  324. package/dist/lib/logger.test.d.ts +0 -2
  325. package/dist/lib/logger.test.d.ts.map +0 -1
  326. package/dist/lib/logger.test.js +0 -324
  327. package/dist/lib/logger.test.js.map +0 -1
  328. package/dist/lib/position-validator.test.d.ts +0 -2
  329. package/dist/lib/position-validator.test.d.ts.map +0 -1
  330. package/dist/lib/position-validator.test.js +0 -128
  331. package/dist/lib/position-validator.test.js.map +0 -1
  332. package/dist/lib/prompt-budget.test.d.ts +0 -2
  333. package/dist/lib/prompt-budget.test.d.ts.map +0 -1
  334. package/dist/lib/prompt-budget.test.js +0 -55
  335. package/dist/lib/prompt-budget.test.js.map +0 -1
  336. package/dist/lib/repository-validator.test.d.ts +0 -5
  337. package/dist/lib/repository-validator.test.d.ts.map +0 -1
  338. package/dist/lib/repository-validator.test.js +0 -341
  339. package/dist/lib/repository-validator.test.js.map +0 -1
  340. package/dist/lib/review-core.test.d.ts +0 -2
  341. package/dist/lib/review-core.test.d.ts.map +0 -1
  342. package/dist/lib/review-core.test.js +0 -600
  343. package/dist/lib/review-core.test.js.map +0 -1
  344. package/dist/lib/review-orchestrator.test.d.ts +0 -2
  345. package/dist/lib/review-orchestrator.test.d.ts.map +0 -1
  346. package/dist/lib/review-orchestrator.test.js +0 -531
  347. package/dist/lib/review-orchestrator.test.js.map +0 -1
  348. package/dist/lib/review-output-path.test.d.ts +0 -2
  349. package/dist/lib/review-output-path.test.d.ts.map +0 -1
  350. package/dist/lib/review-output-path.test.js +0 -83
  351. package/dist/lib/review-output-path.test.js.map +0 -1
  352. package/dist/lib/review-parser.test.d.ts +0 -2
  353. package/dist/lib/review-parser.test.d.ts.map +0 -1
  354. package/dist/lib/review-parser.test.js +0 -130
  355. package/dist/lib/review-parser.test.js.map +0 -1
  356. package/dist/lib/review-usage.test.d.ts +0 -2
  357. package/dist/lib/review-usage.test.d.ts.map +0 -1
  358. package/dist/lib/review-usage.test.js +0 -83
  359. package/dist/lib/review-usage.test.js.map +0 -1
  360. package/dist/lib/unified-review-executor.d.ts +0 -60
  361. package/dist/lib/unified-review-executor.d.ts.map +0 -1
  362. package/dist/lib/unified-review-executor.js +0 -207
  363. package/dist/lib/unified-review-executor.js.map +0 -1
  364. package/dist/lib/unified-review-executor.test.d.ts +0 -5
  365. package/dist/lib/unified-review-executor.test.d.ts.map +0 -1
  366. package/dist/lib/unified-review-executor.test.js +0 -472
  367. package/dist/lib/unified-review-executor.test.js.map +0 -1
  368. package/dist/lib/write-json-output.test.d.ts +0 -2
  369. package/dist/lib/write-json-output.test.d.ts.map +0 -1
  370. package/dist/lib/write-json-output.test.js +0 -259
  371. package/dist/lib/write-json-output.test.js.map +0 -1
  372. package/dist/pi/sdk.test.d.ts +0 -2
  373. package/dist/pi/sdk.test.d.ts.map +0 -1
  374. package/dist/pi/sdk.test.js +0 -449
  375. package/dist/pi/sdk.test.js.map +0 -1
  376. package/dist/runtime/agent-loader.test.d.ts +0 -2
  377. package/dist/runtime/agent-loader.test.d.ts.map +0 -1
  378. package/dist/runtime/agent-loader.test.js +0 -280
  379. package/dist/runtime/agent-loader.test.js.map +0 -1
  380. package/dist/runtime/client.test.d.ts +0 -2
  381. package/dist/runtime/client.test.d.ts.map +0 -1
  382. package/dist/runtime/client.test.js +0 -523
  383. package/dist/runtime/client.test.js.map +0 -1
  384. package/dist/runtime/path-config.test.d.ts +0 -2
  385. package/dist/runtime/path-config.test.d.ts.map +0 -1
  386. package/dist/runtime/path-config.test.js +0 -112
  387. package/dist/runtime/path-config.test.js.map +0 -1
@@ -1,472 +0,0 @@
1
- /**
2
- * Tests for unified-review-executor.ts
3
- */
4
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
5
- import { executeUnifiedReview } from './unified-review-executor.js';
6
- // Mock all dependencies
7
- vi.mock('./config.js', () => ({
8
- getModelOverrides: vi.fn(() => ({})),
9
- getUnifiedModelOverride: vi.fn(() => ({})),
10
- getDescriberModelOverride: vi.fn(() => ({})),
11
- getDefaultModel: vi.fn(() => undefined),
12
- }));
13
- vi.mock('./repository-validator.js', () => ({
14
- enforceRepoBranchMatch: vi.fn().mockResolvedValue(undefined),
15
- resolveBaseBranch: vi.fn(() => ({
16
- baseBranch: 'main',
17
- resolvedBaseBranch: 'origin/main',
18
- source: 'pr:targetBranch',
19
- })),
20
- getCanonicalDiffCommand: vi.fn(() => 'git diff origin/main origin/feature -- <file>'),
21
- }));
22
- vi.mock('./review-orchestrator.js', () => {
23
- const connectToRuntime = vi.fn(() => ({
24
- createSession: vi.fn(),
25
- streamMessages: vi.fn(),
26
- shutdown: vi.fn().mockResolvedValue(undefined),
27
- getMinContextWindow: vi.fn(() => undefined),
28
- }));
29
- return {
30
- filterIgnoredFiles: vi.fn((files) => files),
31
- connectToRuntime,
32
- getReviewBudgetModelIds: vi.fn((config, agentModelOverrides, unifiedModelOverrides) => {
33
- const mode = config.review.mode ?? 'multi-agent';
34
- const modelIds = mode === 'unified'
35
- ? Object.values(unifiedModelOverrides)
36
- : mode === 'hybrid'
37
- ? [...Object.values(agentModelOverrides), ...Object.values(unifiedModelOverrides)]
38
- : Object.values(agentModelOverrides);
39
- return [...new Set(modelIds)].filter((id) => !!id);
40
- }),
41
- };
42
- });
43
- vi.mock('./review-core.js', () => ({
44
- buildBaseInstructions: vi.fn(() => 'Review these files...'),
45
- runReviewPipeline: vi.fn(() => ({
46
- summary: {
47
- issuesFound: 2,
48
- filesReviewed: 2,
49
- bySeverity: { CRITICAL: 0, HIGH: 1, MEDIUM: 1, LOW: 0 },
50
- byCategory: { SECURITY: 0, QUALITY: 1, STYLE: 1, PERFORMANCE: 0, DOCUMENTATION: 0 },
51
- },
52
- issues: [
53
- {
54
- severity: 'HIGH',
55
- category: 'QUALITY',
56
- title: 'Test issue',
57
- problem: 'Test issue detected',
58
- solution: 'Fix this issue',
59
- file: 'test.ts',
60
- line: 10,
61
- agent: 'quality',
62
- },
63
- ],
64
- changeSummary: undefined,
65
- filesReviewed: 2,
66
- agentResults: [],
67
- })),
68
- displayReviewSummary: vi.fn(),
69
- }));
70
- vi.mock('./comment-poster.js', () => ({
71
- postReviewComments: vi.fn().mockResolvedValue(undefined),
72
- }));
73
- vi.mock('./description-executor.js', () => ({
74
- runDescribeIfEnabled: vi.fn().mockResolvedValue({
75
- title: 'Test PR',
76
- description: 'Test description',
77
- }),
78
- }));
79
- vi.mock('./code-quality-report.js', () => ({
80
- generateCodeQualityReport: vi.fn(() => []),
81
- formatCodeQualityReport: vi.fn(() => '[]'),
82
- }));
83
- vi.mock('./json-output.js', () => ({
84
- formatReviewJson: vi.fn(() => ({})),
85
- writeReviewJson: vi.fn().mockResolvedValue(undefined),
86
- printReviewJson: vi.fn(),
87
- }));
88
- vi.mock('./context-compression.js', () => ({
89
- prepareDiffsForAgent: vi.fn((files) => ({ files, generated: [] })),
90
- formatCompressionSummary: vi.fn(() => ''),
91
- resolveCompressionBudget: vi.fn((_contextWindow, options) => options ?? {}),
92
- }));
93
- vi.mock('fs/promises', () => ({
94
- writeFile: vi.fn().mockResolvedValue(undefined),
95
- }));
96
- describe('unified-review-executor', () => {
97
- let mockPlatformClient;
98
- let mockConfig;
99
- let consoleLogSpy;
100
- let processExitSpy;
101
- beforeEach(() => {
102
- // Mock console.log to suppress output during tests
103
- consoleLogSpy = vi.spyOn(console, 'log').mockImplementation(() => { });
104
- processExitSpy = vi.spyOn(process, 'exit').mockImplementation(() => undefined);
105
- mockPlatformClient = {
106
- getPullRequest: vi.fn().mockResolvedValue({
107
- number: 123,
108
- title: 'Test PR',
109
- author: 'test-user',
110
- sourceBranch: 'feature',
111
- targetBranch: 'main',
112
- platformData: {},
113
- }),
114
- getChangedFiles: vi.fn().mockResolvedValue([
115
- { filename: 'src/test.ts', status: 'modified', patch: '+added line' },
116
- { filename: 'src/utils.ts', status: 'added', patch: '+new file' },
117
- ]),
118
- getComments: vi.fn().mockResolvedValue([]),
119
- getInlineComments: vi.fn().mockResolvedValue([]),
120
- createComment: vi.fn(),
121
- updateComment: vi.fn(),
122
- createBulkInlineComments: vi.fn(),
123
- addLabels: vi.fn(),
124
- };
125
- mockConfig = {
126
- review: {
127
- agents: ['security', 'quality'],
128
- mode: 'multi-agent',
129
- ignorePatterns: [],
130
- includePatterns: [],
131
- },
132
- contextCompression: {
133
- maxTokens: 10000,
134
- },
135
- pi: {},
136
- gitlab: {
137
- url: 'https://gitlab.com',
138
- token: 'mock-token',
139
- },
140
- github: {
141
- token: 'mock-token',
142
- },
143
- };
144
- });
145
- afterEach(() => {
146
- consoleLogSpy.mockRestore();
147
- processExitSpy.mockRestore();
148
- vi.clearAllMocks();
149
- });
150
- describe('executeUnifiedReview', () => {
151
- it('should execute a complete review successfully', async () => {
152
- const options = {
153
- platformClient: mockPlatformClient,
154
- projectId: 'owner/repo',
155
- prNumber: 123,
156
- postComments: false,
157
- workingDir: '/test/dir',
158
- };
159
- await executeUnifiedReview(mockConfig, options);
160
- expect(mockPlatformClient.getPullRequest).toHaveBeenCalledWith('owner/repo', 123);
161
- expect(mockPlatformClient.getChangedFiles).toHaveBeenCalledWith('owner/repo', 123);
162
- });
163
- it('should use pre-fetched PR and file data when provided', async () => {
164
- const options = {
165
- platformClient: mockPlatformClient,
166
- projectId: 'owner/repo',
167
- prNumber: 123,
168
- postComments: false,
169
- pullRequest: {
170
- number: 123,
171
- title: 'Preloaded PR',
172
- author: 'test-user',
173
- sourceBranch: 'feature',
174
- targetBranch: 'main',
175
- headSha: 'head-sha',
176
- platformData: {},
177
- },
178
- changedFiles: [
179
- {
180
- filename: 'src/preloaded.ts',
181
- status: 'modified',
182
- additions: 1,
183
- deletions: 0,
184
- patch: '+preloaded change',
185
- },
186
- ],
187
- };
188
- await executeUnifiedReview(mockConfig, options);
189
- expect(mockPlatformClient.getPullRequest).not.toHaveBeenCalled();
190
- expect(mockPlatformClient.getChangedFiles).not.toHaveBeenCalled();
191
- });
192
- it('should include platform patches in review instructions when available', async () => {
193
- const { buildBaseInstructions } = await import('./review-core.js');
194
- const options = {
195
- platformClient: mockPlatformClient,
196
- projectId: 'owner/repo',
197
- prNumber: 123,
198
- postComments: false,
199
- };
200
- await executeUnifiedReview(mockConfig, options);
201
- expect(buildBaseInstructions).toHaveBeenCalledWith('PR/MR #123', expect.arrayContaining([
202
- expect.objectContaining({ filename: 'src/test.ts', patch: '+added line' }),
203
- expect.objectContaining({ filename: 'src/utils.ts', patch: '+new file' }),
204
- ]), 'git diff origin/main origin/feature -- <file>', '');
205
- });
206
- it('uses only unified model IDs for budget sizing in unified mode', async () => {
207
- const { getModelOverrides, getUnifiedModelOverride } = await import('./config.js');
208
- const { connectToRuntime } = await import('./review-orchestrator.js');
209
- vi.mocked(getModelOverrides).mockReturnValueOnce({
210
- 'review/security': 'provider/small-8k',
211
- });
212
- vi.mocked(getUnifiedModelOverride).mockReturnValueOnce({
213
- 'review/unified-reviewer': 'provider/large-200k',
214
- });
215
- const mockRuntimeClient = {
216
- shutdown: vi.fn().mockResolvedValue(undefined),
217
- getMinContextWindow: vi.fn(() => undefined),
218
- };
219
- vi.mocked(connectToRuntime).mockResolvedValueOnce(mockRuntimeClient);
220
- const options = {
221
- platformClient: mockPlatformClient,
222
- projectId: 'owner/repo',
223
- prNumber: 123,
224
- postComments: false,
225
- };
226
- await executeUnifiedReview({
227
- ...mockConfig,
228
- review: {
229
- ...mockConfig.review,
230
- mode: 'unified',
231
- },
232
- }, options);
233
- expect(mockRuntimeClient.getMinContextWindow).toHaveBeenCalledWith(['provider/large-200k']);
234
- });
235
- it('uses only multi-agent model IDs for budget sizing in multi-agent mode', async () => {
236
- const { getModelOverrides, getUnifiedModelOverride } = await import('./config.js');
237
- const { connectToRuntime } = await import('./review-orchestrator.js');
238
- vi.mocked(getModelOverrides).mockReturnValueOnce({
239
- 'review/security': 'provider/large-200k',
240
- });
241
- vi.mocked(getUnifiedModelOverride).mockReturnValueOnce({
242
- 'review/unified-reviewer': 'provider/small-8k',
243
- });
244
- const mockRuntimeClient = {
245
- shutdown: vi.fn().mockResolvedValue(undefined),
246
- getMinContextWindow: vi.fn(() => undefined),
247
- };
248
- vi.mocked(connectToRuntime).mockResolvedValueOnce(mockRuntimeClient);
249
- const options = {
250
- platformClient: mockPlatformClient,
251
- projectId: 'owner/repo',
252
- prNumber: 123,
253
- postComments: false,
254
- };
255
- await executeUnifiedReview({
256
- ...mockConfig,
257
- review: {
258
- ...mockConfig.review,
259
- mode: 'multi-agent',
260
- },
261
- }, options);
262
- expect(mockRuntimeClient.getMinContextWindow).toHaveBeenCalledWith(['provider/large-200k']);
263
- });
264
- it('should enforce repository branch match', async () => {
265
- const { enforceRepoBranchMatch } = await import('./repository-validator.js');
266
- const options = {
267
- platformClient: mockPlatformClient,
268
- projectId: 'owner/repo',
269
- prNumber: 123,
270
- postComments: false,
271
- workingDir: '/test/dir',
272
- };
273
- await executeUnifiedReview(mockConfig, options);
274
- expect(enforceRepoBranchMatch).toHaveBeenCalledWith('/test/dir', 'owner/repo', expect.objectContaining({ number: 123 }), expect.objectContaining({
275
- skipRepoCheck: undefined,
276
- skipBranchCheck: undefined,
277
- }));
278
- });
279
- it('should filter ignored files', async () => {
280
- const { filterIgnoredFiles } = await import('./review-orchestrator.js');
281
- const options = {
282
- platformClient: mockPlatformClient,
283
- projectId: 'owner/repo',
284
- prNumber: 123,
285
- postComments: false,
286
- };
287
- await executeUnifiedReview(mockConfig, options);
288
- expect(filterIgnoredFiles).toHaveBeenCalledWith(expect.arrayContaining(['src/test.ts', 'src/utils.ts']), mockConfig);
289
- });
290
- it('should skip review when no files changed', async () => {
291
- mockPlatformClient.getChangedFiles = vi.fn().mockResolvedValue([]);
292
- const options = {
293
- platformClient: mockPlatformClient,
294
- projectId: 'owner/repo',
295
- prNumber: 123,
296
- postComments: false,
297
- };
298
- await executeUnifiedReview(mockConfig, options);
299
- const { runReviewPipeline } = await import('./review-core.js');
300
- expect(runReviewPipeline).not.toHaveBeenCalled();
301
- });
302
- it('should skip deleted files', async () => {
303
- mockPlatformClient.getChangedFiles = vi.fn().mockResolvedValue([
304
- { filename: 'src/deleted.ts', status: 'removed', patch: '' },
305
- { filename: 'src/added.ts', status: 'added', patch: '+new' },
306
- ]);
307
- const options = {
308
- platformClient: mockPlatformClient,
309
- projectId: 'owner/repo',
310
- prNumber: 123,
311
- postComments: false,
312
- };
313
- await executeUnifiedReview(mockConfig, options);
314
- const { filterIgnoredFiles } = await import('./review-orchestrator.js');
315
- expect(filterIgnoredFiles).toHaveBeenCalledWith(expect.not.arrayContaining(['src/deleted.ts']), mockConfig);
316
- });
317
- it('should post comments when postComments is true', async () => {
318
- const { postReviewComments } = await import('./comment-poster.js');
319
- const options = {
320
- platformClient: mockPlatformClient,
321
- projectId: 'owner/repo',
322
- prNumber: 123,
323
- postComments: true,
324
- };
325
- await executeUnifiedReview(mockConfig, options);
326
- expect(postReviewComments).toHaveBeenCalled();
327
- });
328
- it('should not post comments when postComments is false', async () => {
329
- const { postReviewComments } = await import('./comment-poster.js');
330
- const options = {
331
- platformClient: mockPlatformClient,
332
- projectId: 'owner/repo',
333
- prNumber: 123,
334
- postComments: false,
335
- };
336
- await executeUnifiedReview(mockConfig, options);
337
- expect(postReviewComments).not.toHaveBeenCalled();
338
- });
339
- it('should generate code quality report when requested', async () => {
340
- const { writeFile } = await import('fs/promises');
341
- const options = {
342
- platformClient: mockPlatformClient,
343
- projectId: 'owner/repo',
344
- prNumber: 123,
345
- postComments: false,
346
- codeQualityReport: 'report.json',
347
- workingDir: '/test/dir',
348
- };
349
- await executeUnifiedReview(mockConfig, options);
350
- expect(writeFile).toHaveBeenCalledWith(expect.stringContaining('report.json'), expect.any(String), 'utf-8');
351
- });
352
- it('should generate JSON output when requested', async () => {
353
- const { formatReviewJson, printReviewJson } = await import('./json-output.js');
354
- const options = {
355
- platformClient: mockPlatformClient,
356
- projectId: 'owner/repo',
357
- prNumber: 123,
358
- postComments: false,
359
- jsonOutput: true,
360
- };
361
- await executeUnifiedReview(mockConfig, options);
362
- expect(formatReviewJson).toHaveBeenCalled();
363
- expect(printReviewJson).toHaveBeenCalled();
364
- });
365
- it('should write JSON output to file when outputPath provided', async () => {
366
- const { writeReviewJson } = await import('./json-output.js');
367
- const options = {
368
- platformClient: mockPlatformClient,
369
- projectId: 'owner/repo',
370
- prNumber: 123,
371
- postComments: false,
372
- outputPath: 'output.json',
373
- workingDir: '/test/dir',
374
- };
375
- await executeUnifiedReview(mockConfig, options);
376
- expect(writeReviewJson).toHaveBeenCalledWith(expect.any(Object), 'output.json', '/test/dir');
377
- });
378
- it('should exit with error code when critical issues found', async () => {
379
- const { runReviewPipeline } = await import('./review-core.js');
380
- vi.mocked(runReviewPipeline).mockResolvedValueOnce({
381
- summary: {
382
- issuesFound: 1,
383
- filesReviewed: 1,
384
- bySeverity: { CRITICAL: 1, HIGH: 0, MEDIUM: 0, LOW: 0 },
385
- byCategory: { SECURITY: 1, QUALITY: 0, STYLE: 0, PERFORMANCE: 0, DOCUMENTATION: 0 },
386
- },
387
- issues: [],
388
- changeSummary: undefined,
389
- filesReviewed: 1,
390
- agentResults: [],
391
- });
392
- const options = {
393
- platformClient: mockPlatformClient,
394
- projectId: 'owner/repo',
395
- prNumber: 123,
396
- postComments: false,
397
- };
398
- await executeUnifiedReview(mockConfig, options);
399
- expect(processExitSpy).toHaveBeenCalledWith(1);
400
- });
401
- it('should run description generation when enabled', async () => {
402
- const { runDescribeIfEnabled } = await import('./description-executor.js');
403
- const configWithDescribe = {
404
- ...mockConfig,
405
- review: {
406
- ...mockConfig.review,
407
- describe: {
408
- enabled: true,
409
- postDescription: true,
410
- },
411
- },
412
- };
413
- const options = {
414
- platformClient: mockPlatformClient,
415
- projectId: 'owner/repo',
416
- prNumber: 123,
417
- postComments: false,
418
- };
419
- await executeUnifiedReview(configWithDescribe, options);
420
- expect(runDescribeIfEnabled).toHaveBeenCalled();
421
- });
422
- it('should use default working directory if not provided', async () => {
423
- const { enforceRepoBranchMatch } = await import('./repository-validator.js');
424
- const options = {
425
- platformClient: mockPlatformClient,
426
- projectId: 'owner/repo',
427
- prNumber: 123,
428
- postComments: false,
429
- };
430
- await executeUnifiedReview(mockConfig, options);
431
- expect(enforceRepoBranchMatch).toHaveBeenCalledWith(process.cwd(), 'owner/repo', expect.any(Object), expect.objectContaining({
432
- skipRepoCheck: undefined,
433
- skipBranchCheck: undefined,
434
- }));
435
- });
436
- it('should shutdown runtime client on completion', async () => {
437
- const { connectToRuntime } = await import('./review-orchestrator.js');
438
- const mockRuntimeClient = {
439
- shutdown: vi.fn().mockResolvedValue(undefined),
440
- getMinContextWindow: vi.fn(() => undefined),
441
- };
442
- vi.mocked(connectToRuntime).mockResolvedValueOnce(mockRuntimeClient);
443
- const options = {
444
- platformClient: mockPlatformClient,
445
- projectId: 'owner/repo',
446
- prNumber: 123,
447
- postComments: false,
448
- };
449
- await executeUnifiedReview(mockConfig, options);
450
- expect(mockRuntimeClient.shutdown).toHaveBeenCalled();
451
- });
452
- it('should shutdown runtime client on error', async () => {
453
- const { runReviewPipeline } = await import('./review-core.js');
454
- const { connectToRuntime } = await import('./review-orchestrator.js');
455
- const mockRuntimeClient = {
456
- shutdown: vi.fn().mockResolvedValue(undefined),
457
- getMinContextWindow: vi.fn(() => undefined),
458
- };
459
- vi.mocked(connectToRuntime).mockResolvedValueOnce(mockRuntimeClient);
460
- vi.mocked(runReviewPipeline).mockRejectedValueOnce(new Error('Test error'));
461
- const options = {
462
- platformClient: mockPlatformClient,
463
- projectId: 'owner/repo',
464
- prNumber: 123,
465
- postComments: false,
466
- };
467
- await expect(executeUnifiedReview(mockConfig, options)).rejects.toThrow('Test error');
468
- expect(mockRuntimeClient.shutdown).toHaveBeenCalled();
469
- });
470
- });
471
- });
472
- //# sourceMappingURL=unified-review-executor.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unified-review-executor.test.js","sourceRoot":"","sources":["../../src/lib/unified-review-executor.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=write-json-output.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"write-json-output.test.d.ts","sourceRoot":"","sources":["../../src/lib/write-json-output.test.ts"],"names":[],"mappings":""}