@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,59 +0,0 @@
1
- ---
2
- description: Code quality, patterns, and maintainability expert
3
- color: "#3182CE"
4
- hidden: false
5
- tools:
6
- Read: true
7
- Glob: true
8
- Grep: true
9
- ---
10
-
11
- You are an expert code quality reviewer with deep expertise in software engineering best practices, clean code principles, and maintainable architecture. Your role is to provide thorough, constructive code reviews focused on quality, readability, and long-term maintainability.
12
-
13
- ## Clean Code Analysis
14
-
15
- - Evaluate naming conventions for clarity and descriptiveness
16
- - Assess function and method sizes for single responsibility adherence
17
- - Check for code duplication and suggest DRY improvements
18
- - Identify overly complex logic that could be simplified
19
- - Verify proper separation of concerns
20
-
21
- ## Error Handling & Edge Cases
22
-
23
- - Identify missing error handling for potential failure points
24
- - Evaluate the robustness of input validation
25
- - Check for proper handling of null/undefined values
26
- - Assess edge case coverage (empty arrays, boundary conditions, etc.)
27
- - Verify appropriate use of try/catch blocks and error propagation
28
-
29
- ## Readability & Maintainability
30
-
31
- - Evaluate code structure and organization
32
- - Check for appropriate use of comments (avoid over-commenting obvious code)
33
- - Assess the clarity of control flow
34
- - Identify magic numbers or strings that should be constants
35
- - Verify consistent code style and formatting
36
-
37
- ## TypeScript-Specific Considerations (when applicable)
38
-
39
- - Prefer `type` over `interface` as per project standards
40
- - Avoid unnecessary use of underscores for unused variables
41
- - Ensure proper type safety and avoid `any` types when possible
42
-
43
- ## Best Practices
44
-
45
- - Evaluate adherence to SOLID principles
46
- - Check for proper use of design patterns where appropriate
47
- - Assess performance implications of implementation choices
48
- - Verify security considerations (input sanitization, sensitive data handling)
49
-
50
- ## Review Structure Guidance
51
-
52
- - Start with a brief summary of overall code quality
53
- - Organize findings by severity (critical, important, minor)
54
- - Provide specific examples with line references when possible
55
- - Suggest concrete improvements with code examples
56
- - Highlight positive aspects and good practices observed
57
- - End with actionable recommendations prioritized by impact
58
-
59
- Be constructive and educational. If the code is well-written, acknowledge this and provide suggestions for potential enhancements rather than forcing criticism.
@@ -1,53 +0,0 @@
1
- ---
2
- description: Security vulnerability and OWASP Top 10 specialist
3
- color: "#E53E3E"
4
- hidden: false
5
- tools:
6
- Read: true
7
- Glob: true
8
- Grep: true
9
- ---
10
-
11
- You are an elite security code reviewer with deep expertise in application security, threat modeling, and secure coding practices. Your mission is to identify and prevent security vulnerabilities before they reach production.
12
-
13
- ## Security Vulnerability Assessment
14
-
15
- - Systematically scan for OWASP Top 10 vulnerabilities (injection flaws, broken authentication, sensitive data exposure, XXE, broken access control, security misconfiguration, XSS, insecure deserialization, using components with known vulnerabilities, insufficient logging)
16
- - Identify potential SQL injection, NoSQL injection, and command injection vulnerabilities
17
- - Check for cross-site scripting (XSS) vulnerabilities in any user-facing output
18
- - Look for cross-site request forgery (CSRF) protection gaps
19
- - Examine cryptographic implementations for weak algorithms or improper key management
20
- - Identify potential race conditions and time-of-check-time-of-use (TOCTOU) vulnerabilities
21
-
22
- ## Input Validation and Sanitization
23
-
24
- - Verify all user inputs are properly validated against expected formats and ranges
25
- - Ensure input sanitization occurs at appropriate boundaries (client-side validation is supplementary, never primary)
26
- - Check for proper encoding when outputting user data
27
- - Validate that file uploads have proper type checking, size limits, and content validation
28
- - Ensure API parameters are validated for type, format, and business logic constraints
29
- - Look for potential path traversal vulnerabilities in file operations
30
-
31
- ## Authentication and Authorization Review
32
-
33
- - Verify authentication mechanisms use secure, industry-standard approaches
34
- - Check for proper session management (secure cookies, appropriate timeouts, session invalidation)
35
- - Ensure passwords are properly hashed using modern algorithms (bcrypt, Argon2, PBKDF2)
36
- - Validate that authorization checks occur at every protected resource access
37
- - Look for privilege escalation opportunities
38
- - Check for insecure direct object references (IDOR)
39
- - Verify proper implementation of role-based or attribute-based access control
40
-
41
- ## Analysis Methodology
42
-
43
- 1. Identify the security context and attack surface of the code
44
- 2. Map data flows from untrusted sources to sensitive operations
45
- 3. Examine each security-critical operation for proper controls
46
- 4. Consider both common vulnerabilities and context-specific threats
47
- 5. Evaluate defense-in-depth measures
48
-
49
- ## Review Structure Guidance
50
-
51
- Provide findings in order of severity (Critical, High, Medium, Low, Informational). If no security issues are found, provide a brief summary confirming the review was completed and highlighting any positive security practices observed.
52
-
53
- Always consider the principle of least privilege, defense in depth, and fail securely. When uncertain about a potential vulnerability, err on the side of caution and flag it for further investigation.
@@ -1,132 +0,0 @@
1
- ---
2
- description: Code style, formatting, and documentation specialist
3
- color: "#805AD5"
4
- hidden: false
5
- tools:
6
- Read: true
7
- Glob: true
8
- Grep: true
9
- ---
10
-
11
- You are a code style reviewer ensuring consistency and documentation quality.
12
-
13
- ## Focus Areas
14
-
15
- ### 1. Naming Conventions
16
- - camelCase vs snake_case vs PascalCase
17
- - Descriptive variable names
18
- - Avoid abbreviations
19
- - Boolean names (is/has/should)
20
-
21
- ### 2. Code Formatting
22
- - Indentation consistency
23
- - Line length (< 100 chars recommended)
24
- - Spacing and alignment
25
- - Import organization
26
-
27
- ### 3. Documentation
28
- - Missing function/class documentation
29
- - Outdated comments
30
- - JSDoc/TSDoc completeness
31
- - README updates needed
32
- - New CLI flags or config options documented in README
33
- - Command examples formatted consistently and kept up-to-date
34
- - Markdown formatting issues (headings, code fences, lists, links)
35
- - Consistent terminology for key concepts and feature names
36
-
37
- ### 4. Type Safety (TypeScript)
38
- - Missing type annotations
39
- - Using `any` unnecessarily
40
- - Proper generic usage
41
- - Interface vs type alias
42
-
43
- ### 5. Best Practices
44
- - Unused imports/variables
45
- - Console.log statements
46
- - TODO/FIXME comments
47
- - File organization
48
-
49
- ## Review Format
50
-
51
- **IMPORTANT**: You MUST output your findings in structured JSON format for automated processing.
52
-
53
- After your analysis, provide a JSON code block with all issues found:
54
-
55
- ```json
56
- {
57
- "issues": [
58
- {
59
- "category": "STYLE",
60
- "severity": "CRITICAL" | "HIGH" | "MEDIUM" | "LOW",
61
- "title": "Brief title of the style issue",
62
- "file": "path/to/file.ts",
63
- "line": 42,
64
- "problem": "Description of the style violation",
65
- "solution": "Corrected version or suggestion",
66
- "references": ["https://style-guide-url/..."],
67
- "agent": "style"
68
- }
69
- ]
70
- }
71
- ```
72
-
73
- **Required fields**: category, severity, title, file, problem, solution
74
- **Optional fields**: line (line number), references (array of URLs)
75
-
76
- ## Examples
77
-
78
- ### Naming
79
-
80
- ```typescript
81
- // ❌ POOR NAMING
82
- const d = new Date()
83
- const usr = getUser()
84
- const f = (x) => x * 2
85
-
86
- // ✅ CLEAR NAMING
87
- const currentDate = new Date()
88
- const currentUser = getUser()
89
- const double = (value: number) => value * 2
90
- ```
91
-
92
- ### Documentation
93
-
94
- ```typescript
95
- // ❌ MISSING DOCS
96
- function calculateDiscount(price: number, code: string) {
97
- // implementation
98
- }
99
-
100
- // ✅ DOCUMENTED
101
- /**
102
- * Calculates the discounted price based on promo code
103
- * @param price - Original price in cents
104
- * @param code - Promotional discount code
105
- * @returns Discounted price in cents
106
- * @throws {Error} If promo code is invalid
107
- */
108
- function calculateDiscount(price: number, code: string): number {
109
- // implementation
110
- }
111
- ```
112
-
113
- ### Type Safety
114
-
115
- ```typescript
116
- // ❌ ANY TYPES
117
- function processData(data: any): any {
118
- return data.map((item: any) => item.value)
119
- }
120
-
121
- // ✅ PROPER TYPES
122
- interface DataItem {
123
- value: string
124
- id: number
125
- }
126
-
127
- function processData(data: DataItem[]): string[] {
128
- return data.map(item => item.value)
129
- }
130
- ```
131
-
132
- Focus on consistency with the existing codebase. Check for project-specific style guides.
@@ -1,11 +0,0 @@
1
- import { type DRSConfig } from '../lib/config.js';
2
- export interface DescribeMROptions {
3
- projectId: string;
4
- mrIid: number;
5
- postDescription?: boolean;
6
- outputPath?: string;
7
- jsonOutput?: boolean;
8
- debug?: boolean;
9
- }
10
- export declare function describeMR(config: DRSConfig, options: DescribeMROptions): Promise<void>;
11
- //# sourceMappingURL=describe-mr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"describe-mr.d.ts","sourceRoot":"","sources":["../../src/cli/describe-mr.ts"],"names":[],"mappings":"AACA,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyB/F,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,iBAsK7E"}
@@ -1,134 +0,0 @@
1
- import chalk from 'chalk';
2
- import { getDescriberModelOverride, getRuntimeConfig } from '../lib/config.js';
3
- import { createGitLabClient } from '../gitlab/client.js';
4
- import { GitLabPlatformAdapter } from '../gitlab/platform-adapter.js';
5
- import { createRuntimeClientInstance } from '../runtime/client.js';
6
- import { buildDescribeInstructions } from '../lib/describe-core.js';
7
- import { loadGlobalContext } from '../lib/context-loader.js';
8
- import { displayDescription, normalizeDescription, postDescription, } from '../lib/description-formatter.js';
9
- import { prepareDiffsForAgent, formatCompressionSummary, resolveCompressionBudget, } from '../lib/context-compression.js';
10
- import { parseDescribeOutput } from '../lib/describe-parser.js';
11
- import { aggregateAgentUsage, applyUsageMessage, createAgentUsageSummary, } from '../lib/review-usage.js';
12
- import { estimatePromptBudget, formatPromptBudgetEstimate } from '../lib/prompt-budget.js';
13
- export async function describeMR(config, options) {
14
- console.log(chalk.bold.blue('\n🔍 Generating MR Description\n'));
15
- // Initialize GitLab client
16
- const gitlabClient = createGitLabClient();
17
- const platformAdapter = new GitLabPlatformAdapter(gitlabClient);
18
- // Fetch MR files
19
- console.log(chalk.dim(`Fetching MR !${options.mrIid} from project ${options.projectId}...`));
20
- const files = await platformAdapter.getChangedFiles(options.projectId, options.mrIid);
21
- console.log(chalk.dim(`Found ${files.length} changed files\n`));
22
- // Build context for the describer agent
23
- const label = `MR !${options.mrIid}`;
24
- const filesWithDiffs = files.map((file) => ({
25
- filename: file.filename,
26
- patch: file.patch,
27
- }));
28
- // Initialize Pi runtime client with model overrides
29
- const modelOverrides = getDescriberModelOverride(config);
30
- const describeModelId = modelOverrides['describe/pr-describer'];
31
- const runtimeConfig = getRuntimeConfig(config);
32
- const runtimeClient = await createRuntimeClientInstance({
33
- directory: process.cwd(),
34
- modelOverrides,
35
- provider: runtimeConfig.provider,
36
- config,
37
- debug: options.debug,
38
- });
39
- const describeModelIds = [...new Set(Object.values(modelOverrides))].filter((id) => !!id);
40
- const contextWindow = runtimeClient.getMinContextWindow(describeModelIds);
41
- const compressionOptions = resolveCompressionBudget(contextWindow, config.contextCompression);
42
- const compression = prepareDiffsForAgent(filesWithDiffs, compressionOptions);
43
- const compressionSummary = formatCompressionSummary(compression);
44
- if (compressionSummary) {
45
- console.log(chalk.yellow('⚠ Diff content trimmed to fit token budget.\n'));
46
- }
47
- const includeProjectContext = config.describe?.includeProjectContext ?? true;
48
- const projectContext = includeProjectContext ? loadGlobalContext() : null;
49
- const instructions = buildDescribeInstructions(label, compression.files, compressionSummary, projectContext ?? undefined);
50
- const promptContextWindow = describeModelId
51
- ? runtimeClient.getModelContextWindow?.(describeModelId)
52
- : contextWindow;
53
- const promptEstimate = estimatePromptBudget(instructions, {
54
- tokenEstimateDivisor: config.contextCompression?.tokenEstimateDivisor,
55
- contextWindow: promptContextWindow,
56
- });
57
- const modelText = describeModelId ? ` | model: ${describeModelId}` : '';
58
- console.log(chalk.gray(`${formatPromptBudgetEstimate('describe/pr-describer', promptEstimate)}${modelText}\n`));
59
- if (options.debug) {
60
- console.log(chalk.yellow('\n=== Agent Instructions ==='));
61
- console.log(instructions);
62
- console.log(chalk.yellow('=== End Instructions ===\n'));
63
- }
64
- try {
65
- console.log(chalk.dim('Running MR describer agent...\n'));
66
- // Run the describer agent
67
- const agentType = 'describe/pr-describer';
68
- const session = await runtimeClient.createSession({
69
- agent: agentType,
70
- message: instructions,
71
- });
72
- // Collect all assistant messages from the session
73
- let usageByAgent = createAgentUsageSummary(agentType);
74
- let fullResponse = '';
75
- for await (const message of runtimeClient.streamMessages(session.id)) {
76
- if (message.role === 'assistant') {
77
- usageByAgent = applyUsageMessage(usageByAgent, message);
78
- fullResponse += message.content;
79
- }
80
- }
81
- // Parse the JSON output from the agent
82
- let description;
83
- try {
84
- description = await parseDescribeOutput(process.cwd(), options.debug, fullResponse);
85
- }
86
- catch (parseError) {
87
- console.error(chalk.red('Failed to parse agent output as JSON'));
88
- console.log(chalk.dim('Agent output:'), fullResponse);
89
- const reason = parseError instanceof Error ? `: ${parseError.message}` : '';
90
- throw new Error(`Agent did not return valid JSON output${reason}`);
91
- }
92
- let normalizedDescription;
93
- try {
94
- normalizedDescription = normalizeDescription(description);
95
- }
96
- catch (validationError) {
97
- console.error(chalk.red('Agent output did not match expected description schema'));
98
- console.log(chalk.dim('Agent output:'), fullResponse);
99
- throw validationError;
100
- }
101
- const usageSummary = aggregateAgentUsage([
102
- {
103
- ...usageByAgent,
104
- success: true,
105
- },
106
- ]);
107
- // Display the description unless we're posting it to avoid noisy CI logs
108
- if (options.postDescription) {
109
- console.log(chalk.gray('Description generated (suppressed in logs because --post-description is enabled).'));
110
- }
111
- else {
112
- displayDescription(normalizedDescription, 'MR', usageSummary);
113
- }
114
- // Save to JSON file if requested
115
- if (options.outputPath) {
116
- const fs = await import('fs/promises');
117
- await fs.writeFile(options.outputPath, JSON.stringify(normalizedDescription, null, 2), 'utf-8');
118
- console.log(chalk.green(`\n✓ Description saved to ${options.outputPath}`));
119
- }
120
- // Output JSON if requested
121
- if (options.jsonOutput) {
122
- console.log('\n' + JSON.stringify(normalizedDescription, null, 2));
123
- }
124
- // Post description to MR if requested
125
- if (options.postDescription) {
126
- await postDescription(platformAdapter, options.projectId, options.mrIid, normalizedDescription, 'MR', usageSummary);
127
- }
128
- console.log(chalk.green('\n✓ MR description generated successfully\n'));
129
- }
130
- finally {
131
- await runtimeClient.shutdown();
132
- }
133
- }
134
- //# sourceMappingURL=describe-mr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"describe-mr.js","sourceRoot":"","sources":["../../src/cli/describe-mr.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { type DRSConfig } from '../lib/config.js';
2
- export interface DescribePROptions {
3
- owner: string;
4
- repo: string;
5
- prNumber: number;
6
- postDescription?: boolean;
7
- outputPath?: string;
8
- jsonOutput?: boolean;
9
- debug?: boolean;
10
- }
11
- export declare function describePR(config: DRSConfig, options: DescribePROptions): Promise<void>;
12
- //# sourceMappingURL=describe-pr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"describe-pr.d.ts","sourceRoot":"","sources":["../../src/cli/describe-pr.ts"],"names":[],"mappings":"AACA,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyB/F,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,iBAyK7E"}
@@ -1,135 +0,0 @@
1
- import chalk from 'chalk';
2
- import { getDescriberModelOverride, getRuntimeConfig } from '../lib/config.js';
3
- import { createGitHubClient } from '../github/client.js';
4
- import { GitHubPlatformAdapter } from '../github/platform-adapter.js';
5
- import { createRuntimeClientInstance } from '../runtime/client.js';
6
- import { buildDescribeInstructions } from '../lib/describe-core.js';
7
- import { loadGlobalContext } from '../lib/context-loader.js';
8
- import { displayDescription, normalizeDescription, postDescription, } from '../lib/description-formatter.js';
9
- import { prepareDiffsForAgent, formatCompressionSummary, resolveCompressionBudget, } from '../lib/context-compression.js';
10
- import { parseDescribeOutput } from '../lib/describe-parser.js';
11
- import { aggregateAgentUsage, applyUsageMessage, createAgentUsageSummary, } from '../lib/review-usage.js';
12
- import { estimatePromptBudget, formatPromptBudgetEstimate } from '../lib/prompt-budget.js';
13
- export async function describePR(config, options) {
14
- console.log(chalk.bold.blue('\n🔍 Generating PR Description\n'));
15
- // Initialize GitHub client
16
- const githubClient = createGitHubClient();
17
- const platformAdapter = new GitHubPlatformAdapter(githubClient);
18
- const projectId = `${options.owner}/${options.repo}`;
19
- // Fetch PR files
20
- console.log(chalk.dim(`Fetching PR #${options.prNumber} from ${options.owner}/${options.repo}...`));
21
- const files = await githubClient.getPRFiles(options.owner, options.repo, options.prNumber);
22
- console.log(chalk.dim(`Found ${files.length} changed files\n`));
23
- // Build context for the describer agent
24
- const label = `PR #${options.prNumber}`;
25
- const filesWithDiffs = files.map((file) => ({
26
- filename: file.filename,
27
- patch: file.patch,
28
- }));
29
- // Initialize Pi runtime client with model overrides
30
- const modelOverrides = getDescriberModelOverride(config);
31
- const describeModelId = modelOverrides['describe/pr-describer'];
32
- const runtimeConfig = getRuntimeConfig(config);
33
- const runtimeClient = await createRuntimeClientInstance({
34
- directory: process.cwd(),
35
- modelOverrides,
36
- provider: runtimeConfig.provider,
37
- config,
38
- debug: options.debug,
39
- });
40
- const describeModelIds = [...new Set(Object.values(modelOverrides))].filter((id) => !!id);
41
- const contextWindow = runtimeClient.getMinContextWindow(describeModelIds);
42
- const compressionOptions = resolveCompressionBudget(contextWindow, config.contextCompression);
43
- const compression = prepareDiffsForAgent(filesWithDiffs, compressionOptions);
44
- const compressionSummary = formatCompressionSummary(compression);
45
- if (compressionSummary) {
46
- console.log(chalk.yellow('⚠ Diff content trimmed to fit token budget.\n'));
47
- }
48
- const includeProjectContext = config.describe?.includeProjectContext ?? true;
49
- const projectContext = includeProjectContext ? loadGlobalContext() : null;
50
- const instructions = buildDescribeInstructions(label, compression.files, compressionSummary, projectContext ?? undefined);
51
- const promptContextWindow = describeModelId
52
- ? runtimeClient.getModelContextWindow?.(describeModelId)
53
- : contextWindow;
54
- const promptEstimate = estimatePromptBudget(instructions, {
55
- tokenEstimateDivisor: config.contextCompression?.tokenEstimateDivisor,
56
- contextWindow: promptContextWindow,
57
- });
58
- const modelText = describeModelId ? ` | model: ${describeModelId}` : '';
59
- console.log(chalk.gray(`${formatPromptBudgetEstimate('describe/pr-describer', promptEstimate)}${modelText}\n`));
60
- if (options.debug) {
61
- console.log(chalk.yellow('\n=== Agent Instructions ==='));
62
- console.log(instructions);
63
- console.log(chalk.yellow('=== End Instructions ===\n'));
64
- }
65
- try {
66
- console.log(chalk.dim('Running PR describer agent...\n'));
67
- // Run the describer agent
68
- const agentType = 'describe/pr-describer';
69
- const session = await runtimeClient.createSession({
70
- agent: agentType,
71
- message: instructions,
72
- });
73
- // Collect all assistant messages from the session
74
- let usageByAgent = createAgentUsageSummary(agentType);
75
- let fullResponse = '';
76
- for await (const message of runtimeClient.streamMessages(session.id)) {
77
- if (message.role === 'assistant') {
78
- usageByAgent = applyUsageMessage(usageByAgent, message);
79
- fullResponse += message.content;
80
- }
81
- }
82
- // Parse the JSON output from the agent
83
- let description;
84
- try {
85
- description = await parseDescribeOutput(process.cwd(), options.debug, fullResponse);
86
- }
87
- catch (parseError) {
88
- console.error(chalk.red('Failed to parse agent output as JSON'));
89
- console.log(chalk.dim('Agent output:'), fullResponse);
90
- const reason = parseError instanceof Error ? `: ${parseError.message}` : '';
91
- throw new Error(`Agent did not return valid JSON output${reason}`);
92
- }
93
- let normalizedDescription;
94
- try {
95
- normalizedDescription = normalizeDescription(description);
96
- }
97
- catch (validationError) {
98
- console.error(chalk.red('Agent output did not match expected description schema'));
99
- console.log(chalk.dim('Agent output:'), fullResponse);
100
- throw validationError;
101
- }
102
- const usageSummary = aggregateAgentUsage([
103
- {
104
- ...usageByAgent,
105
- success: true,
106
- },
107
- ]);
108
- // Display the description unless we're posting it to avoid noisy CI logs
109
- if (options.postDescription) {
110
- console.log(chalk.gray('Description generated (suppressed in logs because --post-description is enabled).'));
111
- }
112
- else {
113
- displayDescription(normalizedDescription, 'PR', usageSummary);
114
- }
115
- // Save to JSON file if requested
116
- if (options.outputPath) {
117
- const fs = await import('fs/promises');
118
- await fs.writeFile(options.outputPath, JSON.stringify(normalizedDescription, null, 2), 'utf-8');
119
- console.log(chalk.green(`\n✓ Description saved to ${options.outputPath}`));
120
- }
121
- // Output JSON if requested
122
- if (options.jsonOutput) {
123
- console.log('\n' + JSON.stringify(normalizedDescription, null, 2));
124
- }
125
- // Post description to PR if requested
126
- if (options.postDescription) {
127
- await postDescription(platformAdapter, projectId, options.prNumber, normalizedDescription, 'PR', usageSummary);
128
- }
129
- console.log(chalk.green('\n✓ PR description generated successfully\n'));
130
- }
131
- finally {
132
- await runtimeClient.shutdown();
133
- }
134
- }
135
- //# sourceMappingURL=describe-pr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"describe-pr.js","sourceRoot":"","sources":["../../src/cli/describe-pr.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { DRSConfig } from '../lib/config.js';
2
- export interface PostCommentsOptions {
3
- config: DRSConfig;
4
- inputPath: string;
5
- owner?: string;
6
- repo?: string;
7
- prNumber?: number;
8
- projectId?: string;
9
- mrIid?: number;
10
- workingDir?: string;
11
- skipRepoCheck?: boolean;
12
- skipBranchCheck?: boolean;
13
- fixInCursor?: boolean;
14
- skipFixInCursor?: boolean;
15
- }
16
- /**
17
- * Post comments from a saved review JSON to GitHub or GitLab.
18
- */
19
- export declare function postCommentsFromJson(options: PostCommentsOptions): Promise<void>;
20
- //# sourceMappingURL=post-comments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"post-comments.d.ts","sourceRoot":"","sources":["../../src/cli/post-comments.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAWlD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA0FD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0JtF"}