@diff-review-system/drs 4.0.0-rc.4 → 4.1.0

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 (419) hide show
  1. package/.pi/agents/describe/pr-describer.md +14 -0
  2. package/.pi/agents/review/unified-reviewer.md +33 -7
  3. package/.pi/agents/task/agents-md-updater.md +3 -1
  4. package/.pi/agents/task/review-assistant.md +22 -0
  5. package/.pi/agents/task/review-issue-fixer.md +18 -1
  6. package/.pi/agents/visual/pr-explainer.md +205 -0
  7. package/.pi/workflows/github-pr-describe.yaml +10 -7
  8. package/.pi/workflows/github-pr-fix-review-issues-stacked.yaml +154 -0
  9. package/.pi/workflows/github-pr-post-comment.yaml +10 -10
  10. package/.pi/workflows/github-pr-review-post.yaml +18 -8
  11. package/.pi/workflows/github-pr-review.yaml +354 -7
  12. package/.pi/workflows/github-pr-show-changes.yaml +8 -8
  13. package/.pi/workflows/github-pr-update-agents-md-stacked.yaml +103 -0
  14. package/.pi/workflows/github-pr-visual-explain.yaml +80 -0
  15. package/.pi/workflows/gitlab-mr-describe.yaml +8 -5
  16. package/.pi/workflows/gitlab-mr-fix-review-issues-stacked.yaml +150 -0
  17. package/.pi/workflows/gitlab-mr-post-comment.yaml +8 -8
  18. package/.pi/workflows/gitlab-mr-review.yaml +354 -5
  19. package/.pi/workflows/gitlab-mr-show-changes.yaml +6 -6
  20. package/.pi/workflows/gitlab-mr-update-agents-md-stacked.yaml +100 -0
  21. package/.pi/workflows/gitlab-mr-visual-explain.yaml +78 -0
  22. package/.pi/workflows/local-fix-review-issues.yaml +89 -13
  23. package/.pi/workflows/local-review.yaml +15 -2
  24. package/.pi/workflows/local-update-agents-md.yaml +1 -1
  25. package/.pi/workflows/local-visual-explain.yaml +76 -0
  26. package/.pi/workflows/release-changelog-finalize.yaml +47 -0
  27. package/.pi/workflows/tag-changelog-update.yaml +4 -4
  28. package/.pi/workflows/temporal-control-smoke.yaml +63 -0
  29. package/README.md +130 -27
  30. package/dist/ci/runner.d.ts.map +1 -1
  31. package/dist/ci/runner.js +3 -1
  32. package/dist/ci/runner.js.map +1 -1
  33. package/dist/cli/index.js +258 -9
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/cli/init.d.ts +6 -1
  36. package/dist/cli/init.d.ts.map +1 -1
  37. package/dist/cli/init.js +29 -10
  38. package/dist/cli/init.js.map +1 -1
  39. package/dist/cli/run-agent.d.ts +4 -7
  40. package/dist/cli/run-agent.d.ts.map +1 -1
  41. package/dist/cli/run-agent.js +4 -0
  42. package/dist/cli/run-agent.js.map +1 -1
  43. package/dist/cli/workflow-executor-selection.d.ts +3 -0
  44. package/dist/cli/workflow-executor-selection.d.ts.map +1 -0
  45. package/dist/cli/workflow-executor-selection.js +15 -0
  46. package/dist/cli/workflow-executor-selection.js.map +1 -0
  47. package/dist/cli/workflow.d.ts +76 -26
  48. package/dist/cli/workflow.d.ts.map +1 -1
  49. package/dist/cli/workflow.js +1624 -192
  50. package/dist/cli/workflow.js.map +1 -1
  51. package/dist/github/client.d.ts +12 -0
  52. package/dist/github/client.d.ts.map +1 -1
  53. package/dist/github/client.js +27 -0
  54. package/dist/github/client.js.map +1 -1
  55. package/dist/github/platform-adapter.d.ts +6 -1
  56. package/dist/github/platform-adapter.d.ts.map +1 -1
  57. package/dist/github/platform-adapter.js +84 -8
  58. package/dist/github/platform-adapter.js.map +1 -1
  59. package/dist/gitlab/client.d.ts +11 -0
  60. package/dist/gitlab/client.d.ts.map +1 -1
  61. package/dist/gitlab/client.js +11 -0
  62. package/dist/gitlab/client.js.map +1 -1
  63. package/dist/gitlab/platform-adapter.d.ts +3 -1
  64. package/dist/gitlab/platform-adapter.d.ts.map +1 -1
  65. package/dist/gitlab/platform-adapter.js +32 -1
  66. package/dist/gitlab/platform-adapter.js.map +1 -1
  67. package/dist/lib/agent-result.d.ts +8 -0
  68. package/dist/lib/agent-result.d.ts.map +1 -0
  69. package/dist/lib/agent-result.js +2 -0
  70. package/dist/lib/agent-result.js.map +1 -0
  71. package/dist/lib/comment-formatter.d.ts +8 -0
  72. package/dist/lib/comment-formatter.d.ts.map +1 -1
  73. package/dist/lib/comment-formatter.js +12 -4
  74. package/dist/lib/comment-formatter.js.map +1 -1
  75. package/dist/lib/comment-poster.d.ts.map +1 -1
  76. package/dist/lib/comment-poster.js +28 -1
  77. package/dist/lib/comment-poster.js.map +1 -1
  78. package/dist/lib/config.d.ts +71 -11
  79. package/dist/lib/config.d.ts.map +1 -1
  80. package/dist/lib/config.js +163 -28
  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 +2 -1
  87. package/dist/lib/context-loader.d.ts.map +1 -1
  88. package/dist/lib/context-loader.js +70 -1
  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/diff-lines.d.ts +9 -0
  94. package/dist/lib/diff-lines.d.ts.map +1 -1
  95. package/dist/lib/diff-lines.js +17 -9
  96. package/dist/lib/diff-lines.js.map +1 -1
  97. package/dist/lib/exit.js +4 -4
  98. package/dist/lib/exit.js.map +1 -1
  99. package/dist/lib/html-artifact.d.ts +14 -0
  100. package/dist/lib/html-artifact.d.ts.map +1 -0
  101. package/dist/lib/html-artifact.js +59 -0
  102. package/dist/lib/html-artifact.js.map +1 -0
  103. package/dist/lib/issue-parser.js +3 -3
  104. package/dist/lib/issue-parser.js.map +1 -1
  105. package/dist/lib/json-output-schema.d.ts +70 -0
  106. package/dist/lib/json-output-schema.d.ts.map +1 -1
  107. package/dist/lib/json-output-schema.js +40 -0
  108. package/dist/lib/json-output-schema.js.map +1 -1
  109. package/dist/lib/output-paths.d.ts +0 -1
  110. package/dist/lib/output-paths.d.ts.map +1 -1
  111. package/dist/lib/output-paths.js +0 -1
  112. package/dist/lib/output-paths.js.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/project-setup.d.ts +10 -0
  116. package/dist/lib/project-setup.d.ts.map +1 -0
  117. package/dist/lib/project-setup.js +25 -0
  118. package/dist/lib/project-setup.js.map +1 -0
  119. package/dist/lib/review-artifact-store.d.ts +16 -0
  120. package/dist/lib/review-artifact-store.d.ts.map +1 -0
  121. package/dist/lib/review-artifact-store.js +84 -0
  122. package/dist/lib/review-artifact-store.js.map +1 -0
  123. package/dist/lib/review-artifact.d.ts +69 -0
  124. package/dist/lib/review-artifact.d.ts.map +1 -0
  125. package/dist/lib/review-artifact.js +172 -0
  126. package/dist/lib/review-artifact.js.map +1 -0
  127. package/dist/lib/review-core.d.ts +7 -4
  128. package/dist/lib/review-core.d.ts.map +1 -1
  129. package/dist/lib/review-core.js +82 -165
  130. package/dist/lib/review-core.js.map +1 -1
  131. package/dist/lib/review-orchestrator.d.ts +23 -0
  132. package/dist/lib/review-orchestrator.d.ts.map +1 -1
  133. package/dist/lib/review-orchestrator.js +20 -13
  134. package/dist/lib/review-orchestrator.js.map +1 -1
  135. package/dist/lib/review-parser.d.ts.map +1 -1
  136. package/dist/lib/review-parser.js +15 -12
  137. package/dist/lib/review-parser.js.map +1 -1
  138. package/dist/lib/review-usage.d.ts +4 -0
  139. package/dist/lib/review-usage.d.ts.map +1 -1
  140. package/dist/lib/review-usage.js +25 -0
  141. package/dist/lib/review-usage.js.map +1 -1
  142. package/dist/lib/skills.d.ts +16 -0
  143. package/dist/lib/skills.d.ts.map +1 -0
  144. package/dist/lib/skills.js +140 -0
  145. package/dist/lib/skills.js.map +1 -0
  146. package/dist/lib/trace-collector.d.ts +105 -0
  147. package/dist/lib/trace-collector.d.ts.map +1 -0
  148. package/dist/lib/trace-collector.js +255 -0
  149. package/dist/lib/trace-collector.js.map +1 -0
  150. package/dist/lib/trace-html.d.ts +3 -0
  151. package/dist/lib/trace-html.d.ts.map +1 -0
  152. package/dist/lib/trace-html.js +349 -0
  153. package/dist/lib/trace-html.js.map +1 -0
  154. package/dist/lib/workflow/artifact-store.d.ts +71 -0
  155. package/dist/lib/workflow/artifact-store.d.ts.map +1 -0
  156. package/dist/lib/workflow/artifact-store.js +121 -0
  157. package/dist/lib/workflow/artifact-store.js.map +1 -0
  158. package/dist/lib/workflow/compiled-plan.d.ts +87 -0
  159. package/dist/lib/workflow/compiled-plan.d.ts.map +1 -0
  160. package/dist/lib/workflow/compiled-plan.js +62 -0
  161. package/dist/lib/workflow/compiled-plan.js.map +1 -0
  162. package/dist/lib/workflow/executor.d.ts +18 -0
  163. package/dist/lib/workflow/executor.d.ts.map +1 -0
  164. package/dist/lib/workflow/executor.js +2 -0
  165. package/dist/lib/workflow/executor.js.map +1 -0
  166. package/dist/lib/workflow/graph.d.ts +30 -0
  167. package/dist/lib/workflow/graph.d.ts.map +1 -0
  168. package/dist/lib/workflow/graph.js +139 -0
  169. package/dist/lib/workflow/graph.js.map +1 -0
  170. package/dist/lib/workflow/input.d.ts +4 -0
  171. package/dist/lib/workflow/input.d.ts.map +1 -0
  172. package/dist/lib/workflow/input.js +4 -0
  173. package/dist/lib/workflow/input.js.map +1 -0
  174. package/dist/lib/workflow/node-executor.d.ts +19 -0
  175. package/dist/lib/workflow/node-executor.d.ts.map +1 -0
  176. package/dist/lib/workflow/node-executor.js +2 -0
  177. package/dist/lib/workflow/node-executor.js.map +1 -0
  178. package/dist/lib/workflow/planning.d.ts +51 -0
  179. package/dist/lib/workflow/planning.d.ts.map +1 -0
  180. package/dist/lib/workflow/planning.js +814 -0
  181. package/dist/lib/workflow/planning.js.map +1 -0
  182. package/dist/lib/workflow/types.d.ts +66 -0
  183. package/dist/lib/workflow/types.d.ts.map +1 -0
  184. package/dist/lib/workflow/types.js +2 -0
  185. package/dist/lib/workflow/types.js.map +1 -0
  186. package/dist/lib/workflow-artifacts.d.ts +54 -0
  187. package/dist/lib/workflow-artifacts.d.ts.map +1 -0
  188. package/dist/lib/workflow-artifacts.js +150 -0
  189. package/dist/lib/workflow-artifacts.js.map +1 -0
  190. package/dist/lib/write-json-output.d.ts.map +1 -1
  191. package/dist/lib/write-json-output.js +3 -8
  192. package/dist/lib/write-json-output.js.map +1 -1
  193. package/dist/pi/sdk.d.ts.map +1 -1
  194. package/dist/pi/sdk.js +576 -8
  195. package/dist/pi/sdk.js.map +1 -1
  196. package/dist/runtime/agent-loader.js +2 -2
  197. package/dist/runtime/built-in-paths.d.ts +1 -0
  198. package/dist/runtime/built-in-paths.d.ts.map +1 -1
  199. package/dist/runtime/built-in-paths.js +7 -0
  200. package/dist/runtime/built-in-paths.js.map +1 -1
  201. package/dist/runtime/client.d.ts +2 -0
  202. package/dist/runtime/client.d.ts.map +1 -1
  203. package/dist/runtime/client.js +11 -5
  204. package/dist/runtime/client.js.map +1 -1
  205. package/dist/temporal/activities.d.ts +26 -0
  206. package/dist/temporal/activities.d.ts.map +1 -0
  207. package/dist/temporal/activities.js +219 -0
  208. package/dist/temporal/activities.js.map +1 -0
  209. package/dist/temporal/config.d.ts +4 -0
  210. package/dist/temporal/config.d.ts.map +1 -0
  211. package/dist/temporal/config.js +36 -0
  212. package/dist/temporal/config.js.map +1 -0
  213. package/dist/temporal/executor.d.ts +7 -0
  214. package/dist/temporal/executor.d.ts.map +1 -0
  215. package/dist/temporal/executor.js +233 -0
  216. package/dist/temporal/executor.js.map +1 -0
  217. package/dist/temporal/retry-policy.d.ts +28 -0
  218. package/dist/temporal/retry-policy.d.ts.map +1 -0
  219. package/dist/temporal/retry-policy.js +56 -0
  220. package/dist/temporal/retry-policy.js.map +1 -0
  221. package/dist/temporal/types.d.ts +86 -0
  222. package/dist/temporal/types.d.ts.map +1 -0
  223. package/dist/temporal/types.js +2 -0
  224. package/dist/temporal/types.js.map +1 -0
  225. package/dist/temporal/worker.d.ts +3 -0
  226. package/dist/temporal/worker.d.ts.map +1 -0
  227. package/dist/temporal/worker.js +18 -0
  228. package/dist/temporal/worker.js.map +1 -0
  229. package/dist/temporal/workflow-id.d.ts +27 -0
  230. package/dist/temporal/workflow-id.d.ts.map +1 -0
  231. package/dist/temporal/workflow-id.js +53 -0
  232. package/dist/temporal/workflow-id.js.map +1 -0
  233. package/dist/temporal/workflows.d.ts +6 -0
  234. package/dist/temporal/workflows.d.ts.map +1 -0
  235. package/dist/temporal/workflows.js +342 -0
  236. package/dist/temporal/workflows.js.map +1 -0
  237. package/package.json +26 -15
  238. package/.pi/workflows/github-pr-describe-post.yaml +0 -24
  239. package/.pi/workflows/gitlab-mr-describe-post.yaml +0 -22
  240. package/.pi/workflows/gitlab-mr-review-code-quality.yaml +0 -31
  241. package/.pi/workflows/gitlab-mr-review-post-code-quality.yaml +0 -40
  242. package/.pi/workflows/gitlab-mr-review-post.yaml +0 -30
  243. package/.pi/workflows/local-staged-review.yaml +0 -17
  244. package/dist/cli/run-agent.test.d.ts +0 -2
  245. package/dist/cli/run-agent.test.d.ts.map +0 -1
  246. package/dist/cli/run-agent.test.js +0 -204
  247. package/dist/cli/run-agent.test.js.map +0 -1
  248. package/dist/cli/workflow.test.d.ts +0 -2
  249. package/dist/cli/workflow.test.d.ts.map +0 -1
  250. package/dist/cli/workflow.test.js +0 -1410
  251. package/dist/cli/workflow.test.js.map +0 -1
  252. package/dist/github/client.test.d.ts +0 -2
  253. package/dist/github/client.test.d.ts.map +0 -1
  254. package/dist/github/client.test.js +0 -206
  255. package/dist/github/client.test.js.map +0 -1
  256. package/dist/github/platform-adapter.test.d.ts +0 -2
  257. package/dist/github/platform-adapter.test.d.ts.map +0 -1
  258. package/dist/github/platform-adapter.test.js +0 -40
  259. package/dist/github/platform-adapter.test.js.map +0 -1
  260. package/dist/gitlab/diff-parser.test.d.ts +0 -2
  261. package/dist/gitlab/diff-parser.test.d.ts.map +0 -1
  262. package/dist/gitlab/diff-parser.test.js +0 -315
  263. package/dist/gitlab/diff-parser.test.js.map +0 -1
  264. package/dist/gitlab/platform-adapter.test.d.ts +0 -2
  265. package/dist/gitlab/platform-adapter.test.d.ts.map +0 -1
  266. package/dist/gitlab/platform-adapter.test.js +0 -21
  267. package/dist/gitlab/platform-adapter.test.js.map +0 -1
  268. package/dist/index.test.d.ts +0 -2
  269. package/dist/index.test.d.ts.map +0 -1
  270. package/dist/index.test.js +0 -7
  271. package/dist/index.test.js.map +0 -1
  272. package/dist/lib/code-quality-report.test.d.ts +0 -2
  273. package/dist/lib/code-quality-report.test.d.ts.map +0 -1
  274. package/dist/lib/code-quality-report.test.js +0 -327
  275. package/dist/lib/code-quality-report.test.js.map +0 -1
  276. package/dist/lib/comment-formatter.test.d.ts +0 -2
  277. package/dist/lib/comment-formatter.test.d.ts.map +0 -1
  278. package/dist/lib/comment-formatter.test.js +0 -727
  279. package/dist/lib/comment-formatter.test.js.map +0 -1
  280. package/dist/lib/comment-manager.test.d.ts +0 -2
  281. package/dist/lib/comment-manager.test.d.ts.map +0 -1
  282. package/dist/lib/comment-manager.test.js +0 -680
  283. package/dist/lib/comment-manager.test.js.map +0 -1
  284. package/dist/lib/comment-poster.test.d.ts +0 -5
  285. package/dist/lib/comment-poster.test.d.ts.map +0 -1
  286. package/dist/lib/comment-poster.test.js +0 -255
  287. package/dist/lib/comment-poster.test.js.map +0 -1
  288. package/dist/lib/config-model-overrides.test.d.ts +0 -2
  289. package/dist/lib/config-model-overrides.test.d.ts.map +0 -1
  290. package/dist/lib/config-model-overrides.test.js +0 -218
  291. package/dist/lib/config-model-overrides.test.js.map +0 -1
  292. package/dist/lib/config.test.d.ts +0 -2
  293. package/dist/lib/config.test.d.ts.map +0 -1
  294. package/dist/lib/config.test.js +0 -353
  295. package/dist/lib/config.test.js.map +0 -1
  296. package/dist/lib/context-compression.test.d.ts +0 -2
  297. package/dist/lib/context-compression.test.d.ts.map +0 -1
  298. package/dist/lib/context-compression.test.js +0 -337
  299. package/dist/lib/context-compression.test.js.map +0 -1
  300. package/dist/lib/context-loader.test.d.ts +0 -2
  301. package/dist/lib/context-loader.test.d.ts.map +0 -1
  302. package/dist/lib/context-loader.test.js +0 -212
  303. package/dist/lib/context-loader.test.js.map +0 -1
  304. package/dist/lib/cursor-fix-link.test.d.ts +0 -2
  305. package/dist/lib/cursor-fix-link.test.d.ts.map +0 -1
  306. package/dist/lib/cursor-fix-link.test.js +0 -70
  307. package/dist/lib/cursor-fix-link.test.js.map +0 -1
  308. package/dist/lib/describe-core.test.d.ts +0 -2
  309. package/dist/lib/describe-core.test.d.ts.map +0 -1
  310. package/dist/lib/describe-core.test.js +0 -208
  311. package/dist/lib/describe-core.test.js.map +0 -1
  312. package/dist/lib/describe-output-path.test.d.ts +0 -2
  313. package/dist/lib/describe-output-path.test.d.ts.map +0 -1
  314. package/dist/lib/describe-output-path.test.js +0 -51
  315. package/dist/lib/describe-output-path.test.js.map +0 -1
  316. package/dist/lib/describe-parser.test.d.ts +0 -2
  317. package/dist/lib/describe-parser.test.d.ts.map +0 -1
  318. package/dist/lib/describe-parser.test.js +0 -282
  319. package/dist/lib/describe-parser.test.js.map +0 -1
  320. package/dist/lib/description-executor.test.d.ts +0 -2
  321. package/dist/lib/description-executor.test.d.ts.map +0 -1
  322. package/dist/lib/description-executor.test.js +0 -135
  323. package/dist/lib/description-executor.test.js.map +0 -1
  324. package/dist/lib/description-formatter.test.d.ts +0 -2
  325. package/dist/lib/description-formatter.test.d.ts.map +0 -1
  326. package/dist/lib/description-formatter.test.js +0 -57
  327. package/dist/lib/description-formatter.test.js.map +0 -1
  328. package/dist/lib/diff-lines.test.d.ts +0 -2
  329. package/dist/lib/diff-lines.test.d.ts.map +0 -1
  330. package/dist/lib/diff-lines.test.js +0 -13
  331. package/dist/lib/diff-lines.test.js.map +0 -1
  332. package/dist/lib/diff-parser.test.d.ts +0 -2
  333. package/dist/lib/diff-parser.test.d.ts.map +0 -1
  334. package/dist/lib/diff-parser.test.js +0 -335
  335. package/dist/lib/diff-parser.test.js.map +0 -1
  336. package/dist/lib/error-comment-poster.test.d.ts +0 -2
  337. package/dist/lib/error-comment-poster.test.d.ts.map +0 -1
  338. package/dist/lib/error-comment-poster.test.js +0 -128
  339. package/dist/lib/error-comment-poster.test.js.map +0 -1
  340. package/dist/lib/exit.test.d.ts +0 -2
  341. package/dist/lib/exit.test.d.ts.map +0 -1
  342. package/dist/lib/exit.test.js +0 -120
  343. package/dist/lib/exit.test.js.map +0 -1
  344. package/dist/lib/issue-parser.test.d.ts +0 -2
  345. package/dist/lib/issue-parser.test.d.ts.map +0 -1
  346. package/dist/lib/issue-parser.test.js +0 -281
  347. package/dist/lib/issue-parser.test.js.map +0 -1
  348. package/dist/lib/json-output-schema.test.d.ts +0 -2
  349. package/dist/lib/json-output-schema.test.d.ts.map +0 -1
  350. package/dist/lib/json-output-schema.test.js +0 -92
  351. package/dist/lib/json-output-schema.test.js.map +0 -1
  352. package/dist/lib/json-output.test.d.ts +0 -2
  353. package/dist/lib/json-output.test.d.ts.map +0 -1
  354. package/dist/lib/json-output.test.js +0 -141
  355. package/dist/lib/json-output.test.js.map +0 -1
  356. package/dist/lib/logger.test.d.ts +0 -2
  357. package/dist/lib/logger.test.d.ts.map +0 -1
  358. package/dist/lib/logger.test.js +0 -324
  359. package/dist/lib/logger.test.js.map +0 -1
  360. package/dist/lib/position-validator.test.d.ts +0 -2
  361. package/dist/lib/position-validator.test.d.ts.map +0 -1
  362. package/dist/lib/position-validator.test.js +0 -128
  363. package/dist/lib/position-validator.test.js.map +0 -1
  364. package/dist/lib/prompt-budget.test.d.ts +0 -2
  365. package/dist/lib/prompt-budget.test.d.ts.map +0 -1
  366. package/dist/lib/prompt-budget.test.js +0 -55
  367. package/dist/lib/prompt-budget.test.js.map +0 -1
  368. package/dist/lib/repository-validator.test.d.ts +0 -5
  369. package/dist/lib/repository-validator.test.d.ts.map +0 -1
  370. package/dist/lib/repository-validator.test.js +0 -341
  371. package/dist/lib/repository-validator.test.js.map +0 -1
  372. package/dist/lib/review-core.test.d.ts +0 -2
  373. package/dist/lib/review-core.test.d.ts.map +0 -1
  374. package/dist/lib/review-core.test.js +0 -614
  375. package/dist/lib/review-core.test.js.map +0 -1
  376. package/dist/lib/review-orchestrator.test.d.ts +0 -2
  377. package/dist/lib/review-orchestrator.test.d.ts.map +0 -1
  378. package/dist/lib/review-orchestrator.test.js +0 -552
  379. package/dist/lib/review-orchestrator.test.js.map +0 -1
  380. package/dist/lib/review-output-path.test.d.ts +0 -2
  381. package/dist/lib/review-output-path.test.d.ts.map +0 -1
  382. package/dist/lib/review-output-path.test.js +0 -83
  383. package/dist/lib/review-output-path.test.js.map +0 -1
  384. package/dist/lib/review-parser.test.d.ts +0 -2
  385. package/dist/lib/review-parser.test.d.ts.map +0 -1
  386. package/dist/lib/review-parser.test.js +0 -130
  387. package/dist/lib/review-parser.test.js.map +0 -1
  388. package/dist/lib/review-usage.test.d.ts +0 -2
  389. package/dist/lib/review-usage.test.d.ts.map +0 -1
  390. package/dist/lib/review-usage.test.js +0 -83
  391. package/dist/lib/review-usage.test.js.map +0 -1
  392. package/dist/lib/unified-review-executor.d.ts +0 -58
  393. package/dist/lib/unified-review-executor.d.ts.map +0 -1
  394. package/dist/lib/unified-review-executor.js +0 -201
  395. package/dist/lib/unified-review-executor.js.map +0 -1
  396. package/dist/lib/unified-review-executor.test.d.ts +0 -5
  397. package/dist/lib/unified-review-executor.test.d.ts.map +0 -1
  398. package/dist/lib/unified-review-executor.test.js +0 -472
  399. package/dist/lib/unified-review-executor.test.js.map +0 -1
  400. package/dist/lib/write-json-output.test.d.ts +0 -2
  401. package/dist/lib/write-json-output.test.d.ts.map +0 -1
  402. package/dist/lib/write-json-output.test.js +0 -259
  403. package/dist/lib/write-json-output.test.js.map +0 -1
  404. package/dist/pi/sdk.test.d.ts +0 -2
  405. package/dist/pi/sdk.test.d.ts.map +0 -1
  406. package/dist/pi/sdk.test.js +0 -488
  407. package/dist/pi/sdk.test.js.map +0 -1
  408. package/dist/runtime/agent-loader.test.d.ts +0 -2
  409. package/dist/runtime/agent-loader.test.d.ts.map +0 -1
  410. package/dist/runtime/agent-loader.test.js +0 -277
  411. package/dist/runtime/agent-loader.test.js.map +0 -1
  412. package/dist/runtime/client.test.d.ts +0 -2
  413. package/dist/runtime/client.test.d.ts.map +0 -1
  414. package/dist/runtime/client.test.js +0 -772
  415. package/dist/runtime/client.test.js.map +0 -1
  416. package/dist/runtime/path-config.test.d.ts +0 -2
  417. package/dist/runtime/path-config.test.d.ts.map +0 -1
  418. package/dist/runtime/path-config.test.js +0 -112
  419. package/dist/runtime/path-config.test.js.map +0 -1
@@ -1,19 +1,94 @@
1
1
  name: github-pr-review
2
- description: Review a GitHub pull request
2
+ description: Review a GitHub pull request, optionally posting a description, DRS comments, a visual HTML explainer, and a stacked fix PR
3
+ metadata:
4
+ kind: review
5
+ tags: [review, github, pull-request]
6
+ review:
7
+ source: github-pr
8
+ diff: true
9
+ issues: true
3
10
  inputs:
4
- owner: ""
5
- repo: ""
6
- pr: ""
11
+ owner:
12
+ type: string
13
+ required: true
14
+ description: GitHub repository owner
15
+ repo:
16
+ type: string
17
+ required: true
18
+ description: GitHub repository name
19
+ pr:
20
+ type: number
21
+ required: true
22
+ description: Pull request number
23
+ describe:
24
+ type: boolean
25
+ default: false
26
+ description: Generate and post a PR description
27
+ post:
28
+ type: boolean
29
+ default: false
30
+ description: Post DRS review comments to the PR
31
+ visual:
32
+ type: boolean
33
+ default: false
34
+ description: Generate a visual HTML explainer artifact
35
+ fix:
36
+ type: boolean
37
+ default: false
38
+ description: Attempt to fix qualifying review findings
39
+ fixMode:
40
+ type: enum
41
+ values: [stacked, internal]
42
+ default: stacked
43
+ description: Create stacked fix PR or push verified fixes to the source branch
44
+ fixSeverity:
45
+ type: enum
46
+ values: [critical, high, medium, low]
47
+ default: high
48
+ description: Minimum finding severity to fix
49
+ fixMinIssues:
50
+ type: number
51
+ default: 1
52
+ description: Minimum matching issues required before fixing
53
+ fixBranchPrefix:
54
+ type: string
55
+ default: drs-fix/pr-
56
+ fixCreateChangeRequest:
57
+ type: boolean
58
+ default: false
59
+ fixMaxIterations:
60
+ type: number
61
+ default: 3
62
+ allowStackedSource:
63
+ type: boolean
64
+ default: false
65
+ fixDraft:
66
+ type: boolean
67
+ default: false
68
+ visualOutputPath:
69
+ type: string
70
+ default: .drs/visual-pr-explainer.html
71
+ output: review
7
72
  nodes:
8
73
  change:
9
74
  action: change-source
10
75
  with:
11
76
  type: github-pr
12
- owner: "{{inputs.owner}}"
13
- repo: "{{inputs.repo}}"
14
- pr: "{{inputs.pr}}"
77
+ owner: '{{inputs.owner}}'
78
+ repo: '{{inputs.repo}}'
79
+ pr: '{{inputs.pr}}'
15
80
  output: change
16
81
 
82
+ describe:
83
+ action: describe
84
+ needs:
85
+ - change
86
+ if: inputs.describe == true
87
+ with:
88
+ source: change
89
+ post: true
90
+ output: description
91
+
17
92
  review:
18
93
  action: review
19
94
  needs:
@@ -21,3 +96,275 @@ nodes:
21
96
  with:
22
97
  source: change
23
98
  output: review
99
+
100
+ visual:
101
+ agent: visual/pr-explainer
102
+ needs:
103
+ - change
104
+ - review
105
+ if: inputs.visual == true
106
+ input: |
107
+ Generate a visual PR explainer HTML artifact.
108
+
109
+ Output path: {{inputs.visualOutputPath}}
110
+ Slide mode: false
111
+
112
+ Use the supplied DRS change-source context. If important file diffs are omitted or summarized, use git_diff for those files before explaining them.
113
+
114
+ DRS change-source context:
115
+ {{artifacts.change}}
116
+
117
+ DRS review result:
118
+ {{artifacts.review}}
119
+ writes: '{{inputs.visualOutputPath}}'
120
+ output: visualExplainer
121
+
122
+ post-comments:
123
+ action: post-review-comments
124
+ needs:
125
+ - review
126
+ if: inputs.post == true
127
+ with:
128
+ source: change
129
+ review: review
130
+ output: postedReview
131
+
132
+ stack-guard:
133
+ action: stack-guard
134
+ needs:
135
+ - change
136
+ - review
137
+ if: inputs.fix == true
138
+ with:
139
+ source: change
140
+ allowStackedSource: '{{inputs.allowStackedSource}}'
141
+ output: stackGuard
142
+
143
+ fix-threshold:
144
+ action: review-threshold
145
+ needs:
146
+ - review
147
+ - stack-guard
148
+ if: artifacts.stackGuard.allowed == true
149
+ with:
150
+ review: review
151
+ severity: '{{inputs.fixSeverity}}'
152
+ minIssues: '{{inputs.fixMinIssues}}'
153
+ output: reviewThreshold
154
+
155
+ fix-branch:
156
+ action: git-branch
157
+ needs:
158
+ - fix-threshold
159
+ if: artifacts.reviewThreshold.matched == true
160
+ with:
161
+ name: '{{inputs.fixBranchPrefix}}{{inputs.pr}}'
162
+ force: true
163
+ output: fixBranch
164
+
165
+ fix-issues:
166
+ agent: task/review-issue-fixer
167
+ needs:
168
+ - fix-branch
169
+ - review
170
+ input: |
171
+ Fix actionable issues from this DRS review artifact for GitHub PR #{{inputs.pr}}.
172
+
173
+ Only fix findings at or above severity {{inputs.fixSeverity}} unless a lower-severity issue is directly required by such a fix.
174
+
175
+ Review artifact path: {{artifacts.reviewArtifact.path}}
176
+
177
+ Use the read_artifact tool with this path to get the finding manifest, then pull full details for specific findings by id. Do not assume the review JSON is in this prompt — call the tool.
178
+
179
+ Current PR change source files (read these as needed):
180
+ {{artifacts.change.files}}
181
+
182
+ Use the drs_check tool after making changes to run configured validation checks before returning.
183
+ output: fixes
184
+
185
+ fix-change:
186
+ action: change-source
187
+ needs:
188
+ - fix-issues
189
+ if: inputs.fixMode == internal
190
+ with:
191
+ type: local
192
+ staged: false
193
+ output: fixChange
194
+
195
+ stage-fixes:
196
+ action: git-add
197
+ needs:
198
+ - fix-change
199
+ if: inputs.fixMode == internal
200
+ with:
201
+ paths: '.'
202
+ output: stagedFixes
203
+
204
+ verification-change:
205
+ action: change-source
206
+ needs:
207
+ - fix-change
208
+ if: inputs.fixMode == internal
209
+ with:
210
+ type: fix-verification
211
+ source: change
212
+ fixChange: fixChange
213
+ output: verificationChange
214
+
215
+ re-review:
216
+ action: review
217
+ needs:
218
+ - verification-change
219
+ if: inputs.fixMode == internal
220
+ with:
221
+ source: verificationChange
222
+ reviewArtifact: reviewArtifact
223
+ severity: '{{inputs.fixSeverity}}'
224
+ output: reReview
225
+
226
+ verify-fix:
227
+ action: verify-fix
228
+ needs:
229
+ - re-review
230
+ - fix-change
231
+ if: inputs.fixMode == internal
232
+ with:
233
+ artifact: reviewArtifact
234
+ review: reReview
235
+ fixChange: fixChange
236
+ severity: '{{inputs.fixSeverity}}'
237
+ minIssues: '1'
238
+ output: reviewArtifact
239
+
240
+ fix-loop:
241
+ control: loop
242
+ needs:
243
+ - verify-fix
244
+ if: artifacts.verify-fix.shouldContinue == true && inputs.fixMode == internal
245
+ target: fix-issues
246
+ exit: post-fix-status-internal
247
+ maxIterations: '{{inputs.fixMaxIterations}}'
248
+ onMaxIterations: exit
249
+
250
+ post-fix-status-internal:
251
+ action: post-fix-status
252
+ needs:
253
+ - verify-fix
254
+ if: inputs.fixMode == internal
255
+ with:
256
+ platform: github
257
+ owner: '{{inputs.owner}}'
258
+ repo: '{{inputs.repo}}'
259
+ pr: '{{inputs.pr}}'
260
+ source: change
261
+ reviewArtifact: reviewArtifact
262
+ fixReview: reReview
263
+ fixChange: fixChange
264
+ severity: '{{inputs.fixSeverity}}'
265
+ marker: drs-fix-status
266
+ output: fixStatus
267
+
268
+ commit-internal-fix:
269
+ action: git-commit
270
+ needs:
271
+ - post-fix-status-internal
272
+ if: artifacts.verify-fix.fixFiles > 0
273
+ with:
274
+ message: 'fix: address DRS review issues for PR #{{inputs.pr}}'
275
+ paths: '.'
276
+ output: internalFixCommit
277
+
278
+ push-internal-fix:
279
+ action: git-push
280
+ needs:
281
+ - commit-internal-fix
282
+ with:
283
+ branch: HEAD
284
+ remoteBranch: '{{artifacts.change.context.pullRequest.sourceBranch}}'
285
+ setUpstream: false
286
+ output: internalFixPush
287
+
288
+ fix-diff:
289
+ action: has-diff
290
+ needs:
291
+ - fix-issues
292
+ if: inputs.fixMode != internal
293
+ output: fixDiff
294
+
295
+ fix-commit:
296
+ action: git-commit
297
+ needs:
298
+ - fix-diff
299
+ if: artifacts.fixDiff.changed == true && inputs.fixCreateChangeRequest == true && inputs.fixMode != internal
300
+ with:
301
+ message: 'fix: address DRS review issues for PR #{{inputs.pr}}'
302
+ paths: '.'
303
+ output: fixCommit
304
+
305
+ fix-push:
306
+ action: git-push
307
+ needs:
308
+ - fix-commit
309
+ with:
310
+ branch: '{{inputs.fixBranchPrefix}}{{inputs.pr}}'
311
+ output: fixPush
312
+
313
+ create-fix-pr:
314
+ action: create-change-request
315
+ needs:
316
+ - fix-push
317
+ with:
318
+ platform: github
319
+ owner: '{{inputs.owner}}'
320
+ repo: '{{inputs.repo}}'
321
+ sourceBranch: '{{inputs.fixBranchPrefix}}{{inputs.pr}}'
322
+ targetBranch: '{{artifacts.change.context.pullRequest.sourceBranch}}'
323
+ title: 'fix: address DRS review issues for PR #{{inputs.pr}}'
324
+ draft: '{{inputs.fixDraft}}'
325
+ body: |
326
+ Automated DRS fix stacked on PR #{{inputs.pr}} from the main github-pr-review workflow.
327
+
328
+ Threshold: {{inputs.fixSeverity}}, minimum issues: {{inputs.fixMinIssues}}
329
+ Review artifact: {{artifacts.reviewArtifact.path}}
330
+
331
+ <!-- drs-stack-source: github:{{inputs.owner}}/{{inputs.repo}}#{{inputs.pr}} -->
332
+ <!-- drs-stack-kind: fix -->
333
+ output: changeRequest
334
+
335
+ notify-fix-pr:
336
+ action: post-comment
337
+ needs:
338
+ - create-fix-pr
339
+ with:
340
+ platform: github
341
+ owner: '{{inputs.owner}}'
342
+ repo: '{{inputs.repo}}'
343
+ pr: '{{inputs.pr}}'
344
+ marker: drs-stacked-fix-notification
345
+ input: |
346
+ 🔧 DRS created a stacked fix PR: {{artifacts.changeRequest.url}}
347
+
348
+ The fix addresses {{inputs.fixSeverity}}-priority review findings from this PR's review run.
349
+
350
+ <!-- drs-stacked-fix-notification -->
351
+
352
+ post-fix-status-stacked:
353
+ action: post-fix-status
354
+ needs:
355
+ - create-fix-pr
356
+ - review
357
+ with:
358
+ platform: github
359
+ owner: '{{inputs.owner}}'
360
+ repo: '{{inputs.repo}}'
361
+ pr: '{{inputs.pr}}'
362
+ source: change
363
+ reviewArtifact: reviewArtifact
364
+ severity: '{{inputs.fixSeverity}}'
365
+ stackedPrUrl: '{{artifacts.changeRequest.url}}'
366
+ marker: drs-fix-status
367
+ output: fixStatus
368
+
369
+ done:
370
+ control: end
@@ -1,18 +1,18 @@
1
1
  name: github-pr-show-changes
2
2
  description: Show the review context for a GitHub pull request
3
3
  inputs:
4
- owner: ""
5
- repo: ""
6
- pr: ""
7
- file: ""
4
+ owner: ''
5
+ repo: ''
6
+ pr: ''
7
+ file: ''
8
8
  nodes:
9
9
  change:
10
10
  action: change-source
11
11
  with:
12
12
  type: github-pr
13
- owner: "{{inputs.owner}}"
14
- repo: "{{inputs.repo}}"
15
- pr: "{{inputs.pr}}"
13
+ owner: '{{inputs.owner}}'
14
+ repo: '{{inputs.repo}}'
15
+ pr: '{{inputs.pr}}'
16
16
  output: change
17
17
 
18
18
  context:
@@ -21,5 +21,5 @@ nodes:
21
21
  - change
22
22
  with:
23
23
  source: change
24
- file: "{{inputs.file}}"
24
+ file: '{{inputs.file}}'
25
25
  output: reviewContext
@@ -0,0 +1,103 @@
1
+ name: github-pr-update-agents-md-stacked
2
+ description: Update agent guidance for a GitHub PR and open a stacked PR when warranted
3
+ inputs:
4
+ owner: ''
5
+ repo: ''
6
+ pr: ''
7
+ paths: 'AGENTS.md,CLAUDE.md,.github/copilot-instructions.md'
8
+ branchPrefix: 'drs-guidance/pr-'
9
+ allowStackedSource: 'false'
10
+ draft: 'false'
11
+ output: changeRequest
12
+ nodes:
13
+ change:
14
+ action: change-source
15
+ with:
16
+ type: github-pr
17
+ owner: '{{inputs.owner}}'
18
+ repo: '{{inputs.repo}}'
19
+ pr: '{{inputs.pr}}'
20
+ output: change
21
+
22
+ guard:
23
+ action: stack-guard
24
+ needs:
25
+ - change
26
+ with:
27
+ source: change
28
+ allowStackedSource: '{{inputs.allowStackedSource}}'
29
+ output: stackGuard
30
+
31
+ branch:
32
+ action: git-branch
33
+ needs:
34
+ - guard
35
+ if: '{{artifacts.stackGuard.allowed}} == true'
36
+ with:
37
+ name: '{{inputs.branchPrefix}}{{inputs.pr}}'
38
+ force: true
39
+ output: branch
40
+
41
+ update-guidance:
42
+ agent: task/agents-md-updater
43
+ needs:
44
+ - change
45
+ - branch
46
+ input: |
47
+ Decide whether this GitHub PR warrants an update to repository coding-agent guidance.
48
+
49
+ Guidance paths to consider: {{inputs.paths}}
50
+
51
+ If no durable guidance update is warranted, leave files unchanged and say so.
52
+
53
+ GitHub PR change source:
54
+ {{artifacts.change}}
55
+ output: guidance
56
+
57
+ diff:
58
+ action: has-diff
59
+ needs:
60
+ - update-guidance
61
+ with:
62
+ paths: '{{inputs.paths}}'
63
+ output: guidanceDiff
64
+
65
+ commit:
66
+ action: git-commit
67
+ needs:
68
+ - diff
69
+ if: '{{artifacts.guidanceDiff.changed}} == true'
70
+ with:
71
+ message: 'docs: update agent guidance for PR #{{inputs.pr}}'
72
+ paths: '{{inputs.paths}}'
73
+ output: commit
74
+
75
+ push:
76
+ action: git-push
77
+ needs:
78
+ - commit
79
+ with:
80
+ branch: '{{inputs.branchPrefix}}{{inputs.pr}}'
81
+ output: push
82
+
83
+ create:
84
+ action: create-change-request
85
+ needs:
86
+ - push
87
+ with:
88
+ platform: github
89
+ owner: '{{inputs.owner}}'
90
+ repo: '{{inputs.repo}}'
91
+ sourceBranch: '{{inputs.branchPrefix}}{{inputs.pr}}'
92
+ targetBranch: '{{artifacts.change.context.pullRequest.sourceBranch}}'
93
+ title: 'docs: update agent guidance for PR #{{inputs.pr}}'
94
+ draft: '{{inputs.draft}}'
95
+ body: |
96
+ Automated DRS guidance update stacked on PR #{{inputs.pr}}.
97
+
98
+ <!-- drs-stack-source: github:{{inputs.owner}}/{{inputs.repo}}#{{inputs.pr}} -->
99
+ <!-- drs-stack-kind: guidance -->
100
+ output: changeRequest
101
+
102
+ done:
103
+ control: end
@@ -0,0 +1,80 @@
1
+ name: github-pr-visual-explain
2
+ description: Generate a visual HTML explainer artifact for a GitHub pull request
3
+ inputs:
4
+ owner: ''
5
+ repo: ''
6
+ pr: ''
7
+ outputPath: '.drs/visual-pr-explainer.html'
8
+ slides: 'false'
9
+ output: visualExplainer
10
+ nodes:
11
+ change:
12
+ action: change-source
13
+ with:
14
+ type: github-pr
15
+ owner: '{{inputs.owner}}'
16
+ repo: '{{inputs.repo}}'
17
+ pr: '{{inputs.pr}}'
18
+ output: change
19
+
20
+ review-artifact:
21
+ action: artifact-exists
22
+ needs:
23
+ - change
24
+ with:
25
+ kind: review
26
+ source: change
27
+ output: reviewArtifactStatus
28
+
29
+ load-review-artifact:
30
+ action: load-artifact
31
+ needs:
32
+ - review-artifact
33
+ if: artifacts.reviewArtifactStatus.exists == true
34
+ with:
35
+ kind: review
36
+ source: change
37
+ output: reviewArtifact
38
+
39
+ visual-with-review:
40
+ agent: visual/pr-explainer
41
+ needs:
42
+ - change
43
+ - load-review-artifact
44
+ if: artifacts.reviewArtifactStatus.exists == true
45
+ input: |
46
+ Generate a visual PR explainer HTML artifact.
47
+
48
+ Output path: {{inputs.outputPath}}
49
+ Slide mode: {{inputs.slides}}
50
+
51
+ Use the supplied DRS change-source context. If important file diffs are omitted or summarized, use git_diff for those files before explaining them.
52
+
53
+ DRS change-source context:
54
+ {{artifacts.change}}
55
+
56
+ Current DRS review artifact path: {{artifacts.reviewArtifact.path}}
57
+
58
+ Use the read_artifact tool with this path to include confirmed DRS findings in a clearly labeled section. Do not assume the review JSON is in this prompt.
59
+ writes: '{{inputs.outputPath}}'
60
+ output: visualExplainer
61
+
62
+ visual:
63
+ agent: visual/pr-explainer
64
+ needs:
65
+ - review-artifact
66
+ if: artifacts.reviewArtifactStatus.exists == false
67
+ input: |
68
+ Generate a visual PR explainer HTML artifact.
69
+
70
+ Output path: {{inputs.outputPath}}
71
+ Slide mode: {{inputs.slides}}
72
+
73
+ Use the supplied DRS change-source context. If important file diffs are omitted or summarized, use git_diff for those files before explaining them.
74
+
75
+ DRS change-source context:
76
+ {{artifacts.change}}
77
+
78
+ No current DRS review artifact exists for this PR. Label the artifact as a PR explainer with no DRS findings included.
79
+ writes: '{{inputs.outputPath}}'
80
+ output: visualExplainer
@@ -1,15 +1,17 @@
1
1
  name: gitlab-mr-describe
2
- description: Generate a GitLab merge request description
2
+ description: Generate a GitLab merge request description, optionally posting it
3
3
  inputs:
4
- project: ""
5
- mr: ""
4
+ project: ''
5
+ mr: ''
6
+ post: 'false'
7
+ output: description
6
8
  nodes:
7
9
  change:
8
10
  action: change-source
9
11
  with:
10
12
  type: gitlab-mr
11
- project: "{{inputs.project}}"
12
- mr: "{{inputs.mr}}"
13
+ project: '{{inputs.project}}'
14
+ mr: '{{inputs.mr}}'
13
15
  output: change
14
16
 
15
17
  describe:
@@ -18,4 +20,5 @@ nodes:
18
20
  - change
19
21
  with:
20
22
  source: change
23
+ post: '{{inputs.post}}'
21
24
  output: description