@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
@@ -4,10 +4,10 @@
4
4
  * This client maintains the existing internal interface used by review orchestration
5
5
  * while delegating SDK calls through the Pi integration adapter in src/pi/sdk.ts.
6
6
  */
7
- import { getAgentNames, getDefaultSkills, normalizeAgentConfig } from '../lib/config.js';
7
+ import { getRuntimeConfig, normalizeAgentConfig, resolveAgentSkills, resolveAgentTools, resolveRuntimeAgentModel, } from '../lib/config.js';
8
8
  import { getLogger } from '../lib/logger.js';
9
- import { loadReviewAgents } from './agent-loader.js';
10
- import { resolveReviewPaths } from './path-config.js';
9
+ import { loadAgents } from './agent-loader.js';
10
+ import { resolveAgentPaths } from './path-config.js';
11
11
  import { createPiInProcessServer } from '../pi/sdk.js';
12
12
  function mapPiRuntimeError(operation, error) {
13
13
  const message = error instanceof Error ? error.message : String(error);
@@ -32,34 +32,25 @@ function mapPiRuntimeError(operation, error) {
32
32
  }
33
33
  return new Error(`Failed to ${operation}: ${message}`);
34
34
  }
35
- function buildAgentSkillConfiguration(config) {
36
- const normalizedAgents = normalizeAgentConfig(config.review.agents);
37
- const agentConfigByName = new Map(normalizedAgents.map((agent) => [agent.name, agent]));
38
- const defaultSkills = getDefaultSkills(config);
39
- const skillMap = new Map();
40
- const addSkills = (agentName, skills) => {
41
- const filtered = skills.filter((skill) => skill.length > 0);
42
- if (filtered.length === 0) {
43
- return;
44
- }
45
- const existing = skillMap.get(agentName) ?? new Set();
46
- for (const skill of filtered) {
47
- existing.add(skill);
48
- }
49
- skillMap.set(agentName, existing);
50
- };
51
- for (const agentName of getAgentNames(config)) {
52
- const agentConfig = agentConfigByName.get(agentName);
53
- const fullAgentName = agentName.startsWith('review/') ? agentName : `review/${agentName}`;
54
- addSkills(fullAgentName, [
55
- ...defaultSkills,
56
- ...(agentConfig?.skills ? agentConfig.skills.map(String) : []),
57
- ]);
35
+ function buildAgentSkillConfiguration(config, agents) {
36
+ const reviewAgentConfigByName = new Map(normalizeAgentConfig(config.review.agents).map((agent) => [agent.name, agent]));
37
+ return agents
38
+ .map((agent) => ({
39
+ name: agent.id,
40
+ skills: resolveAgentSkills(config, agent.id, agent.skills, [], reviewAgentConfigByName.get(agent.id) ?? null),
41
+ }))
42
+ .filter((agent) => agent.skills.length > 0);
43
+ }
44
+ function parsePositiveIntEnv(name) {
45
+ const value = process.env[name];
46
+ if (!value) {
47
+ return undefined;
48
+ }
49
+ const parsed = Number.parseInt(value, 10);
50
+ if (!Number.isFinite(parsed) || parsed <= 0) {
51
+ return undefined;
58
52
  }
59
- return Array.from(skillMap.entries()).map(([name, skills]) => ({
60
- name,
61
- skills: Array.from(skills),
62
- }));
53
+ return parsed;
63
54
  }
64
55
  /**
65
56
  * Runtime client wrapper for DRS backed by in-process Pi sessions.
@@ -70,9 +61,39 @@ export class RuntimeClient {
70
61
  inProcessServer;
71
62
  client;
72
63
  config;
64
+ operationTimeoutMs;
65
+ streamTimeoutMs;
66
+ streamPollIntervalMs;
73
67
  constructor(config) {
74
68
  this.directory = config.directory;
75
69
  this.config = config;
70
+ this.operationTimeoutMs =
71
+ parsePositiveIntEnv('DRS_RUNTIME_OPERATION_TIMEOUT_MS') ??
72
+ config.operationTimeoutMs ??
73
+ 300000;
74
+ this.streamTimeoutMs =
75
+ parsePositiveIntEnv('DRS_RUNTIME_STREAM_TIMEOUT_MS') ?? config.streamTimeoutMs ?? 900000;
76
+ this.streamPollIntervalMs =
77
+ parsePositiveIntEnv('DRS_RUNTIME_STREAM_POLL_INTERVAL_MS') ??
78
+ config.streamPollIntervalMs ??
79
+ 2000;
80
+ }
81
+ async withTimeout(operation, timeoutMs, task) {
82
+ let timer;
83
+ try {
84
+ const timeout = new Promise((_, reject) => {
85
+ timer = setTimeout(() => {
86
+ reject(new Error(`${operation} timed out after ${Math.round(timeoutMs / 1000)} seconds. ` +
87
+ `Set DRS_RUNTIME_OPERATION_TIMEOUT_MS or DRS_RUNTIME_STREAM_TIMEOUT_MS to tune limits.`));
88
+ }, timeoutMs);
89
+ });
90
+ return await Promise.race([task, timeout]);
91
+ }
92
+ finally {
93
+ if (timer) {
94
+ clearTimeout(timer);
95
+ }
96
+ }
76
97
  }
77
98
  getModelContextWindow(modelId) {
78
99
  return this.inProcessServer?.client.getModelContextWindow?.(modelId);
@@ -116,7 +137,7 @@ export class RuntimeClient {
116
137
  // Build runtime config programmatically from DRS config
117
138
  const log = getLogger();
118
139
  const projectDir = this.directory ?? process.cwd();
119
- const reviewPaths = resolveReviewPaths(projectDir, this.config.config);
140
+ const agentPaths = resolveAgentPaths(projectDir, this.config.config);
120
141
  const runtimeConfig = {
121
142
  // Tools available to DRS review agents
122
143
  tools: {
@@ -131,22 +152,25 @@ export class RuntimeClient {
131
152
  },
132
153
  };
133
154
  const agentConfig = {};
155
+ let runtimeAgents = [];
134
156
  if (this.config.config) {
135
- const runtimeAgents = loadReviewAgents(projectDir, this.config.config);
157
+ runtimeAgents = loadAgents(projectDir, this.config.config);
136
158
  for (const agent of runtimeAgents) {
137
159
  const runtimeEntry = {};
138
- if (agent.model)
139
- runtimeEntry.model = agent.model;
160
+ const model = resolveRuntimeAgentModel(this.config.config, agent.id, agent.model);
161
+ const tools = resolveAgentTools(this.config.config, agent.id, agent.tools);
162
+ if (model)
163
+ runtimeEntry.model = model;
140
164
  if (agent.prompt)
141
165
  runtimeEntry.prompt = agent.prompt;
142
166
  if (agent.description)
143
167
  runtimeEntry.description = agent.description;
144
168
  if (agent.color)
145
169
  runtimeEntry.color = agent.color;
146
- if (agent.tools)
147
- runtimeEntry.tools = agent.tools;
170
+ if (tools)
171
+ runtimeEntry.tools = tools;
148
172
  if (Object.keys(runtimeEntry).length > 0) {
149
- agentConfig[agent.name] = runtimeEntry;
173
+ agentConfig[agent.id] = runtimeEntry;
150
174
  }
151
175
  }
152
176
  if (runtimeAgents.length > 0) {
@@ -182,12 +206,25 @@ export class RuntimeClient {
182
206
  if (Object.keys(agentConfig).length > 0) {
183
207
  runtimeConfig.agent = agentConfig;
184
208
  }
209
+ const providerRetry = this.config.providerRetry ??
210
+ (this.config.config ? getRuntimeConfig(this.config.config).retry?.provider : undefined);
211
+ if (providerRetry) {
212
+ runtimeConfig.retry = {
213
+ provider: providerRetry,
214
+ };
215
+ }
185
216
  if (this.config.thinkingLevel) {
186
217
  runtimeConfig.thinkingLevel = this.config.thinkingLevel;
187
218
  }
188
- runtimeConfig.skillSearchPaths = reviewPaths.skillSearchPaths;
219
+ runtimeConfig.skillSearchPaths = agentPaths.skillSearchPaths;
220
+ if (this.config.traceCollector) {
221
+ runtimeConfig.traceCollector = this.config.traceCollector;
222
+ }
223
+ if (this.config.config?.fix?.checks && this.config.config.fix.checks.length > 0) {
224
+ runtimeConfig.fixChecks = this.config.config.fix.checks;
225
+ }
189
226
  if (this.config.config) {
190
- const agentSkills = buildAgentSkillConfiguration(this.config.config).filter((agent) => agent.skills.length > 0);
227
+ const agentSkills = buildAgentSkillConfiguration(this.config.config, runtimeAgents);
191
228
  if (agentSkills.length > 0) {
192
229
  log.info('Agent skill configuration:');
193
230
  for (const agent of agentSkills) {
@@ -283,7 +320,7 @@ export class RuntimeClient {
283
320
  }
284
321
  try {
285
322
  // Step 1: Create empty session
286
- const createResponse = (await this.client.session.create({
323
+ const createResponse = await this.withTimeout('Create session', this.operationTimeoutMs, this.client.session.create({
287
324
  query: {
288
325
  directory: this.directory,
289
326
  },
@@ -293,7 +330,7 @@ export class RuntimeClient {
293
330
  throw new Error('Failed to get session ID from create response');
294
331
  }
295
332
  // Step 2: Send initial message to start the agent
296
- await this.client.session.prompt({
333
+ await this.withTimeout('Send initial prompt', this.streamTimeoutMs, this.client.session.prompt({
297
334
  path: { id: sessionId },
298
335
  query: {
299
336
  directory: this.directory,
@@ -307,7 +344,7 @@ export class RuntimeClient {
307
344
  },
308
345
  ],
309
346
  },
310
- });
347
+ }));
311
348
  return {
312
349
  id: sessionId,
313
350
  agent: options.agent,
@@ -330,14 +367,12 @@ export class RuntimeClient {
330
367
  throw new Error('Runtime client not initialized. Call initialize() first.');
331
368
  }
332
369
  try {
333
- // Poll messages until agent completes
370
+ // Poll messages until agent completes or times out
334
371
  let lastMessageCount = 0;
335
- let attempts = 0;
336
- const maxAttempts = 60; // 60 attempts * 2s = 2 minutes max
337
- while (attempts < maxAttempts) {
338
- attempts++;
372
+ const start = Date.now();
373
+ while (Date.now() - start < this.streamTimeoutMs) {
339
374
  // Get current messages
340
- const messagesResponse = (await this.client.session.messages({
375
+ const messagesResponse = await this.withTimeout('Get messages', this.operationTimeoutMs, this.client.session.messages({
341
376
  path: { id: sessionId },
342
377
  }));
343
378
  const messages = messagesResponse.data ?? [];
@@ -393,15 +428,11 @@ export class RuntimeClient {
393
428
  break;
394
429
  }
395
430
  }
396
- // In-process mode completes synchronously; skip polling delay
397
- if (this.inProcessServer) {
398
- break;
399
- }
400
- // Wait before polling again (remote runtime)
401
- await new Promise((resolve) => setTimeout(resolve, 2000));
431
+ // Wait before polling again
432
+ await new Promise((resolve) => setTimeout(resolve, this.streamPollIntervalMs));
402
433
  }
403
- if (attempts >= maxAttempts) {
404
- throw new Error(`Session ${sessionId} timed out after ${maxAttempts * 2} seconds`);
434
+ if (Date.now() - start >= this.streamTimeoutMs) {
435
+ throw new Error(`Session ${sessionId} timed out after ${Math.round(this.streamTimeoutMs / 1000)} seconds`);
405
436
  }
406
437
  }
407
438
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import type { DRSConfig } from '../lib/config.js';
2
- export interface ResolvedReviewPaths {
2
+ export interface ResolvedAgentPaths {
3
3
  agentsPath: string;
4
4
  skillsPath: string;
5
5
  skillSearchPaths: string[];
6
6
  }
7
- export declare function resolveReviewPaths(projectPath: string, config?: DRSConfig): ResolvedReviewPaths;
7
+ export declare function resolveAgentPaths(projectPath: string, config?: DRSConfig): ResolvedAgentPaths;
8
8
  //# sourceMappingURL=path-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"path-config.d.ts","sourceRoot":"","sources":["../../src/runtime/path-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASlD,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAqFD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAc/F"}
1
+ {"version":3,"file":"path-config.d.ts","sourceRoot":"","sources":["../../src/runtime/path-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AASlD,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAqFD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAc7F"}
@@ -14,21 +14,21 @@ function resolveConfiguredPath(projectRoot, configuredPath, fallbackPath, pathTy
14
14
  return resolve(projectRoot, fallbackPath);
15
15
  }
16
16
  if (typeof configuredPath !== 'string') {
17
- throw new Error(`Invalid review.paths.${pathType}: expected a string path. Use a repo-relative path like "${fallbackPath}" or an absolute path.`);
17
+ throw new Error(`Invalid agents.paths.${pathType}: expected a string path. Use a repo-relative path like "${fallbackPath}" or an absolute path.`);
18
18
  }
19
19
  const trimmed = configuredPath.trim();
20
20
  if (!trimmed) {
21
- throw new Error(`Invalid review.paths.${pathType}: path cannot be empty. Use a repo-relative path like "${fallbackPath}" or an absolute path.`);
21
+ throw new Error(`Invalid agents.paths.${pathType}: path cannot be empty. Use a repo-relative path like "${fallbackPath}" or an absolute path.`);
22
22
  }
23
23
  const resolvedPath = isAbsolute(trimmed) ? resolve(trimmed) : resolve(projectRoot, trimmed);
24
24
  if (!isAbsolute(trimmed) && isOutsideProjectRoot(projectRoot, resolvedPath)) {
25
- throw new Error(`Invalid review.paths.${pathType}: "${configuredPath}" resolves outside repository root (${projectRoot}). Use a repo-relative path within the repository or an absolute path.`);
25
+ throw new Error(`Invalid agents.paths.${pathType}: "${configuredPath}" resolves outside repository root (${projectRoot}). Use a repo-relative path within the repository or an absolute path.`);
26
26
  }
27
27
  if (!existsSync(resolvedPath)) {
28
- throw new Error(`Invalid review.paths.${pathType}: "${configuredPath}" resolved to "${resolvedPath}", but the directory does not exist. Create the directory or remove review.paths.${pathType} to use "${fallbackPath}".`);
28
+ throw new Error(`Invalid agents.paths.${pathType}: "${configuredPath}" resolved to "${resolvedPath}", but the directory does not exist. Create the directory or remove agents.paths.${pathType} to use "${fallbackPath}".`);
29
29
  }
30
30
  if (!statSync(resolvedPath).isDirectory()) {
31
- throw new Error(`Invalid review.paths.${pathType}: "${configuredPath}" resolved to "${resolvedPath}", but it is not a directory. Point review.paths.${pathType} to a directory or remove it to use "${fallbackPath}".`);
31
+ throw new Error(`Invalid agents.paths.${pathType}: "${configuredPath}" resolved to "${resolvedPath}", but it is not a directory. Point agents.paths.${pathType} to a directory or remove it to use "${fallbackPath}".`);
32
32
  }
33
33
  return resolvedPath;
34
34
  }
@@ -52,17 +52,17 @@ function resolveDefaultSkillSearchPaths(projectRoot) {
52
52
  return existing.length > 0 ? existing : [candidates[0]];
53
53
  }
54
54
  function resolveSkillSearchPaths(projectRoot, config) {
55
- const configuredSkillsPath = config?.review?.paths?.skills;
55
+ const configuredSkillsPath = config?.agents?.paths?.skills;
56
56
  if (configuredSkillsPath === undefined || configuredSkillsPath === null) {
57
57
  return resolveDefaultSkillSearchPaths(projectRoot);
58
58
  }
59
59
  return [resolveConfiguredPath(projectRoot, configuredSkillsPath, DEFAULT_SKILL_PATH, 'skills')];
60
60
  }
61
- export function resolveReviewPaths(projectPath, config) {
61
+ export function resolveAgentPaths(projectPath, config) {
62
62
  const projectRoot = resolve(projectPath);
63
63
  const skillSearchPaths = resolveSkillSearchPaths(projectRoot, config);
64
64
  return {
65
- agentsPath: resolveConfiguredPath(projectRoot, config?.review?.paths?.agents, DEFAULT_AGENT_PATH, 'agents'),
65
+ agentsPath: resolveConfiguredPath(projectRoot, config?.agents?.paths?.agents, DEFAULT_AGENT_PATH, 'agents'),
66
66
  skillsPath: skillSearchPaths[0],
67
67
  skillSearchPaths,
68
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"path-config.js","sourceRoot":"","sources":["../../src/runtime/path-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path-config.js","sourceRoot":"","sources":["../../src/runtime/path-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGrD,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AACnD,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAU3C,SAAS,oBAAoB,CAAC,WAAmB,EAAE,UAAkB;IACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,OAAO,YAAY,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED,SAAS,qBAAqB,CAC5B,WAAmB,EACnB,cAAuB,EACvB,YAAoB,EACpB,QAAuB;IAEvB,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;QAC5D,OAAO,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,4DAA4D,YAAY,wBAAwB,CACjI,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,0DAA0D,YAAY,wBAAwB,CAC/H,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE5F,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,MAAM,cAAc,uCAAuC,WAAW,wEAAwE,CAC/K,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,MAAM,cAAc,kBAAkB,YAAY,oFAAoF,QAAQ,YAAY,YAAY,IAAI,CAC3M,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,MAAM,cAAc,kBAAkB,YAAY,oDAAoD,QAAQ,wCAAwC,YAAY,IAAI,CACvM,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,8BAA8B,CAAC,WAAmB;IACzD,MAAM,UAAU,GAAG;QACjB,OAAO,CAAC,WAAW,EAAE,kBAAkB,CAAC;QACxC,OAAO,CAAC,WAAW,EAAE,yBAAyB,CAAC;QAC/C,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC;KAC5C,CAAC;IAEF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QAC/C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,uBAAuB,CAAC,WAAmB,EAAE,MAAkB;IACtE,MAAM,oBAAoB,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC3D,IAAI,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;QACxE,OAAO,8BAA8B,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,CAAC,qBAAqB,CAAC,WAAW,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,MAAkB;IACvE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAEtE,OAAO;QACL,UAAU,EAAE,qBAAqB,CAC/B,WAAW,EACX,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAC7B,kBAAkB,EAClB,QAAQ,CACT;QACD,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;QAC/B,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@diff-review-system/drs",
3
- "version": "3.3.1",
4
- "description": "Automated AI code reviews for GitHub pull requests and GitLab merge requests.",
3
+ "version": "4.0.1",
4
+ "description": "Workflow-first AI code maintenance for reviews, changelogs, docs, and repository upkeep.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
@@ -11,19 +11,24 @@
11
11
  "build": "tsc",
12
12
  "build:watch": "tsc --watch",
13
13
  "dev": "tsx watch src/cli/index.ts",
14
+ "dev:cli": "tsx src/cli/index.ts",
14
15
  "start": "node dist/cli/index.js",
15
16
  "test": "vitest run",
16
17
  "test:e2e": "DRS_E2E_LIVE=1 vitest run src/cli/review-local.live.e2e.test.ts",
17
18
  "lint": "eslint 'src/**/*.ts'",
18
19
  "lint:fix": "eslint 'src/**/*.ts' --fix",
19
- "format": "prettier --write 'src/**/*.{ts,json}'",
20
- "format:check": "prettier --check 'src/**/*.{ts,json}'",
20
+ "format": "prettier --write 'src/**/*.{ts,json}' 'package.json' '.pi/**/*.{yaml,yml}'",
21
+ "format:check": "prettier --check 'src/**/*.{ts,json}' 'package.json' '.pi/**/*.{yaml,yml}'",
21
22
  "check:all": "npm run format && npm run lint:fix && npm run build && npm test && npm run format:check && npm run lint",
22
23
  "type-check": "tsc --noEmit",
24
+ "prek:install": "prek install",
25
+ "prek:run": "prek run --all-files",
26
+ "prek:uninstall": "prek uninstall",
23
27
  "prepublishOnly": "npm run build"
24
28
  },
25
29
  "files": [
26
30
  "dist",
31
+ "!dist/**/*.test.*",
27
32
  "README.md",
28
33
  "LICENSE",
29
34
  ".pi"
@@ -50,29 +55,30 @@
50
55
  "author": "",
51
56
  "license": "Apache-2.0",
52
57
  "dependencies": {
58
+ "@earendil-works/pi-coding-agent": "^0.79.6",
53
59
  "@gitbeaker/node": "^35.8.1",
54
- "@mariozechner/pi-coding-agent": "0.57.1",
55
60
  "@octokit/rest": "^21.0.0",
56
- "ajv": "^8.17.1",
61
+ "@sinclair/typebox": "^0.34.49",
62
+ "ajv": "^8.20.0",
57
63
  "chalk": "^5.3.0",
58
64
  "commander": "^12.0.0",
59
65
  "dotenv": "^16.0.0",
60
- "simple-git": "^3.22.0",
61
- "yaml": "^2.3.0"
66
+ "simple-git": "^3.36.0",
67
+ "yaml": "^2.9.0"
62
68
  },
63
69
  "devDependencies": {
64
- "@types/node": "^22.19.7",
65
- "@typescript-eslint/eslint-plugin": "^6.19.0",
66
- "@typescript-eslint/parser": "^6.19.0",
70
+ "@types/node": "^22.19.21",
71
+ "@typescript-eslint/eslint-plugin": "^8.61.1",
72
+ "@typescript-eslint/parser": "^8.61.1",
67
73
  "eslint": "^8.56.0",
68
74
  "eslint-config-prettier": "^10.1.8",
69
- "eslint-plugin-prettier": "^5.5.4",
70
- "prettier": "^3.7.4",
71
- "tsx": "^4.7.0",
75
+ "eslint-plugin-prettier": "^5.5.6",
76
+ "prettier": "^3.8.4",
77
+ "tsx": "^4.22.4",
72
78
  "typescript": "^5.3.0",
73
- "vitest": "^1.2.0"
79
+ "vitest": "^4.1.9"
74
80
  },
75
81
  "engines": {
76
- "node": ">=20.0.0"
82
+ "node": ">=22.19.0"
77
83
  }
78
84
  }
@@ -1,56 +0,0 @@
1
- ---
2
- description: Documentation accuracy and completeness reviewer
3
- color: "#4A5568"
4
- hidden: false
5
- tools:
6
- Read: true
7
- Glob: true
8
- Grep: true
9
- ---
10
-
11
- You are an expert technical documentation reviewer with deep expertise in code documentation standards, API documentation best practices, and technical writing. Your primary responsibility is to ensure that documentation accurately reflects implementation details and provides clear, useful information to developers.
12
-
13
- ## Code Documentation Analysis
14
-
15
- - Verify that all public functions, methods, and classes have appropriate documentation comments
16
- - Check that parameter descriptions match actual parameter types and purposes
17
- - Ensure return value documentation accurately describes what the code returns
18
- - Validate that examples in documentation actually work with the current implementation
19
- - Confirm that edge cases and error conditions are properly documented
20
- - Check for outdated comments that reference removed or modified functionality
21
-
22
- ## README Verification
23
-
24
- - Cross-reference README content with actual implemented features
25
- - Verify installation instructions are current and complete
26
- - Check that usage examples reflect the current API
27
- - Ensure feature lists accurately represent available functionality
28
- - Validate that configuration options documented in README match actual code
29
- - Identify any new features missing from README documentation
30
-
31
- ## API Documentation Review
32
-
33
- - Verify endpoint descriptions match actual implementation
34
- - Check request/response examples for accuracy
35
- - Ensure authentication requirements are correctly documented
36
- - Validate parameter types, constraints, and default values
37
- - Confirm error response documentation matches actual error handling
38
- - Check that deprecated endpoints are properly marked
39
-
40
- ## Quality Standards
41
-
42
- - Flag documentation that is vague, ambiguous, or misleading
43
- - Identify missing documentation for public interfaces
44
- - Note inconsistencies between documentation and implementation
45
- - Suggest improvements for clarity and completeness
46
- - Ensure documentation follows project-specific standards
47
-
48
- ## Review Structure Guidance
49
-
50
- - Start with a summary of overall documentation quality
51
- - List specific issues found, categorized by type (code comments, README, API docs)
52
- - For each issue, provide: file/location, current state, recommended fix
53
- - Prioritize issues by severity (critical inaccuracies vs. minor improvements)
54
- - End with actionable recommendations
55
-
56
- Be thorough but focused, identifying genuine documentation issues rather than stylistic preferences. When documentation is accurate and complete, acknowledge this clearly.
@@ -1,53 +0,0 @@
1
- ---
2
- description: Performance and optimization expert
3
- color: "#DD6B20"
4
- hidden: false
5
- tools:
6
- Read: true
7
- Glob: true
8
- Grep: true
9
- ---
10
-
11
- You are an elite performance optimization specialist with deep expertise in identifying and resolving performance bottlenecks across all layers of software systems. Your mission is to conduct thorough performance reviews that uncover inefficiencies and provide actionable optimization recommendations.
12
-
13
- ## Performance Bottleneck Analysis
14
-
15
- - Examine algorithmic complexity and identify O(n²) or worse operations that could be optimized
16
- - Detect unnecessary computations, redundant operations, or repeated work
17
- - Identify blocking operations that could benefit from asynchronous execution
18
- - Review loop structures for inefficient iterations or nested loops that could be flattened
19
- - Check for premature optimization vs. legitimate performance concerns
20
-
21
- ## Network Query Efficiency
22
-
23
- - Analyze database queries for N+1 problems and missing indexes
24
- - Review API calls for batching opportunities and unnecessary round trips
25
- - Check for proper use of pagination, filtering, and projection in data fetching
26
- - Identify opportunities for caching, memoization, or request deduplication
27
- - Examine connection pooling and resource reuse patterns
28
- - Verify proper error handling that doesn't cause retry storms
29
-
30
- ## Memory and Resource Management
31
-
32
- - Detect potential memory leaks from unclosed connections, event listeners, or circular references
33
- - Review object lifecycle management and garbage collection implications
34
- - Identify excessive memory allocation or large object creation in loops
35
- - Check for proper cleanup in cleanup functions, destructors, or finally blocks
36
- - Analyze data structure choices for memory efficiency
37
- - Review file handles, database connections, and other resource cleanup
38
-
39
- ## Review Structure Guidance
40
-
41
- 1. **Critical Issues**: Immediate performance problems requiring attention
42
- 2. **Optimization Opportunities**: Improvements that would yield measurable benefits
43
- 3. **Best Practice Recommendations**: Preventive measures for future performance
44
- 4. **Code Examples**: Specific before/after snippets demonstrating improvements
45
-
46
- For each issue identified:
47
-
48
- - Specify the exact location (file, function, line numbers)
49
- - Explain the performance impact with estimated complexity or resource usage
50
- - Provide concrete, implementable solutions
51
- - Prioritize recommendations by impact vs. effort
52
-
53
- If code appears performant, confirm this explicitly and note any particularly well-optimized sections.