@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,280 +0,0 @@
1
- import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from 'fs';
2
- import { tmpdir } from 'os';
3
- import { join, resolve } from 'path';
4
- import { afterEach, describe, expect, it, vi } from 'vitest';
5
- import { getAgent, getReviewAgents, listAgents, loadReviewAgents } from './agent-loader.js';
6
- function createConfig(agentsPath) {
7
- return {
8
- review: {
9
- paths: {
10
- agents: agentsPath,
11
- },
12
- },
13
- };
14
- }
15
- describe('agent-loader path resolution', () => {
16
- const tempDirs = [];
17
- function createTempDir(prefix) {
18
- const dir = mkdtempSync(join(tmpdir(), prefix));
19
- tempDirs.push(dir);
20
- return dir;
21
- }
22
- afterEach(() => {
23
- for (const dir of tempDirs.splice(0, tempDirs.length)) {
24
- rmSync(dir, { recursive: true, force: true });
25
- }
26
- });
27
- it('loads override agents from configured repo-relative path', () => {
28
- const projectRoot = createTempDir('drs-agent-loader-');
29
- const customAgentsRoot = join(projectRoot, 'config', 'agents');
30
- const customAgentPath = join(customAgentsRoot, 'security', 'agent.md');
31
- mkdirSync(join(customAgentsRoot, 'security'), { recursive: true });
32
- writeFileSync(customAgentPath, `---\ndescription: Custom security override\nmodel: anthropic/custom-security\n---\n\nCustom security instructions\n`);
33
- const agents = loadReviewAgents(projectRoot, createConfig('config/agents'));
34
- const securityAgent = agents.find((agent) => agent.name === 'review/security');
35
- expect(securityAgent).toBeDefined();
36
- expect(securityAgent?.description).toBe('Custom security override');
37
- expect(securityAgent?.path).toBe(resolve(customAgentPath));
38
- expect(agents.some((agent) => agent.name === 'review/quality')).toBe(true);
39
- });
40
- it('custom agent override replaces built-in prompt and model', () => {
41
- const projectRoot = createTempDir('drs-agent-override-');
42
- const agentsDir = join(projectRoot, '.drs', 'agents');
43
- mkdirSync(join(agentsDir, 'security'), { recursive: true });
44
- writeFileSync(join(agentsDir, 'security', 'agent.md'), [
45
- '---',
46
- 'description: Project-specific security reviewer',
47
- 'model: openai/gpt-4o',
48
- '---',
49
- '',
50
- 'You are a security reviewer for our Rails application.',
51
- 'Focus on mass assignment and CSRF vulnerabilities.',
52
- '',
53
- ].join('\n'));
54
- const agents = loadReviewAgents(projectRoot);
55
- const securityAgent = agents.find((a) => a.name === 'review/security');
56
- expect(securityAgent).toBeDefined();
57
- expect(securityAgent?.description).toBe('Project-specific security reviewer');
58
- expect(securityAgent?.model).toBe('openai/gpt-4o');
59
- expect(securityAgent?.prompt).toContain('Rails application');
60
- expect(securityAgent?.prompt).toContain('CSRF vulnerabilities');
61
- // Must NOT contain the built-in prompt
62
- expect(securityAgent?.prompt).not.toContain('Security Vulnerability Assessment');
63
- // Other built-in agents still loaded
64
- const qualityAgent = agents.find((a) => a.name === 'review/quality');
65
- expect(qualityAgent).toBeDefined();
66
- expect(qualityAgent?.path).toMatch(/\.pi[\\/]agents[\\/]review[\\/]quality\.md$/);
67
- });
68
- it('multiple custom agents override their respective built-ins', () => {
69
- const projectRoot = createTempDir('drs-agent-multi-override-');
70
- const agentsDir = join(projectRoot, '.drs', 'agents');
71
- mkdirSync(join(agentsDir, 'security'), { recursive: true });
72
- mkdirSync(join(agentsDir, 'style'), { recursive: true });
73
- writeFileSync(join(agentsDir, 'security', 'agent.md'), '---\ndescription: Custom security\n---\n\nCustom security prompt\n');
74
- writeFileSync(join(agentsDir, 'style', 'agent.md'), '---\ndescription: Custom style\n---\n\nCustom style prompt\n');
75
- const agents = loadReviewAgents(projectRoot);
76
- const security = agents.find((a) => a.name === 'review/security');
77
- const style = agents.find((a) => a.name === 'review/style');
78
- const quality = agents.find((a) => a.name === 'review/quality');
79
- expect(security?.prompt).toBe('Custom security prompt');
80
- expect(style?.prompt).toBe('Custom style prompt');
81
- // quality remains built-in
82
- expect(quality?.path).toMatch(/\.pi[\\/]agents[\\/]review[\\/]quality\.md$/);
83
- });
84
- it('loads built-in Pi-native review agents and keeps all core categories', () => {
85
- const agents = loadReviewAgents(process.cwd());
86
- const reviewAgentNames = new Set(agents.filter((agent) => agent.name.startsWith('review/')).map((agent) => agent.name));
87
- expect(reviewAgentNames.has('review/security')).toBe(true);
88
- expect(reviewAgentNames.has('review/quality')).toBe(true);
89
- expect(reviewAgentNames.has('review/style')).toBe(true);
90
- expect(reviewAgentNames.has('review/performance')).toBe(true);
91
- expect(reviewAgentNames.has('review/documentation')).toBe(true);
92
- const securityAgent = agents.find((agent) => agent.name === 'review/security');
93
- expect(securityAgent?.prompt).toContain('Security Vulnerability Assessment');
94
- expect(securityAgent?.path).toMatch(/\.pi[\\/]agents[\\/]review[\\/]security\.md$/);
95
- });
96
- it('throws actionable error when configured agent path is invalid', () => {
97
- const projectRoot = createTempDir('drs-agent-loader-invalid-');
98
- expect(() => loadReviewAgents(projectRoot, createConfig('missing/agents'))).toThrow('review.paths.agents');
99
- });
100
- it('override preserves frontmatter fields: color, tools, hidden', () => {
101
- const projectRoot = createTempDir('drs-agent-frontmatter-');
102
- const agentsDir = join(projectRoot, '.drs', 'agents');
103
- mkdirSync(join(agentsDir, 'security'), { recursive: true });
104
- writeFileSync(join(agentsDir, 'security', 'agent.md'), [
105
- '---',
106
- 'description: Themed agent',
107
- 'color: "#FF5733"',
108
- 'hidden: true',
109
- 'tools:',
110
- ' Read: true',
111
- ' Grep: false',
112
- '---',
113
- '',
114
- 'Custom prompt with all frontmatter fields.',
115
- '',
116
- ].join('\n'));
117
- const agents = loadReviewAgents(projectRoot);
118
- const security = agents.find((a) => a.name === 'review/security');
119
- expect(security?.color).toBe('#FF5733');
120
- expect(security?.hidden).toBe(true);
121
- expect(security?.tools).toEqual({ Read: true, Grep: false });
122
- expect(security?.prompt).toBe('Custom prompt with all frontmatter fields.');
123
- });
124
- it('agent.md without frontmatter is skipped with warning', () => {
125
- const projectRoot = createTempDir('drs-agent-no-frontmatter-');
126
- const agentsDir = join(projectRoot, '.drs', 'agents');
127
- mkdirSync(join(agentsDir, 'security'), { recursive: true });
128
- writeFileSync(join(agentsDir, 'security', 'agent.md'), 'Just plain text, no frontmatter at all.\n');
129
- const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => { });
130
- const agents = loadReviewAgents(projectRoot);
131
- // Override skipped — built-in security still loaded
132
- const security = agents.find((a) => a.name === 'review/security');
133
- expect(security?.path).toMatch(/\.pi[\\/]agents[\\/]review[\\/]security\.md$/);
134
- expect(warnSpy).toHaveBeenCalledWith(expect.stringContaining('No frontmatter'));
135
- warnSpy.mockRestore();
136
- });
137
- });
138
- describe('getAgent / getReviewAgents / listAgents', () => {
139
- const tempDirs = [];
140
- function createTempDir(prefix) {
141
- const dir = mkdtempSync(join(tmpdir(), prefix));
142
- tempDirs.push(dir);
143
- return dir;
144
- }
145
- afterEach(() => {
146
- for (const dir of tempDirs.splice(0, tempDirs.length)) {
147
- rmSync(dir, { recursive: true, force: true });
148
- }
149
- });
150
- it('getAgent returns a specific agent by full name', () => {
151
- const agent = getAgent(process.cwd(), 'review/security');
152
- expect(agent).not.toBeNull();
153
- expect(agent?.name).toBe('review/security');
154
- expect(agent?.prompt).toContain('Security Vulnerability Assessment');
155
- });
156
- it('getAgent returns null for non-existent agent', () => {
157
- const agent = getAgent(process.cwd(), 'review/nonexistent');
158
- expect(agent).toBeNull();
159
- });
160
- it('getAgent returns override when present', () => {
161
- const projectRoot = createTempDir('drs-get-agent-');
162
- const agentsDir = join(projectRoot, '.drs', 'agents');
163
- mkdirSync(join(agentsDir, 'security'), { recursive: true });
164
- writeFileSync(join(agentsDir, 'security', 'agent.md'), '---\ndescription: Override via getAgent\n---\n\nOverride prompt\n');
165
- const agent = getAgent(projectRoot, 'review/security');
166
- expect(agent?.description).toBe('Override via getAgent');
167
- expect(agent?.prompt).toBe('Override prompt');
168
- });
169
- it('getReviewAgents returns only review/ prefixed agents', () => {
170
- const agents = getReviewAgents(process.cwd());
171
- expect(agents.length).toBeGreaterThanOrEqual(5);
172
- expect(agents.every((a) => a.name.startsWith('review/'))).toBe(true);
173
- });
174
- it('getReviewAgents includes overrides', () => {
175
- const projectRoot = createTempDir('drs-get-review-agents-');
176
- const agentsDir = join(projectRoot, '.drs', 'agents');
177
- mkdirSync(join(agentsDir, 'quality'), { recursive: true });
178
- writeFileSync(join(agentsDir, 'quality', 'agent.md'), '---\ndescription: Custom quality\n---\n\nCustom quality prompt\n');
179
- const agents = getReviewAgents(projectRoot);
180
- const quality = agents.find((a) => a.name === 'review/quality');
181
- expect(quality?.description).toBe('Custom quality');
182
- });
183
- it('listAgents returns all agent names as strings', () => {
184
- const names = listAgents(process.cwd());
185
- expect(names).toContain('review/security');
186
- expect(names).toContain('review/quality');
187
- expect(names).toContain('review/style');
188
- expect(names).toContain('review/performance');
189
- expect(names).toContain('review/documentation');
190
- });
191
- it('listAgents reflects overrides without duplication', () => {
192
- const projectRoot = createTempDir('drs-list-agents-');
193
- const agentsDir = join(projectRoot, '.drs', 'agents');
194
- mkdirSync(join(agentsDir, 'security'), { recursive: true });
195
- writeFileSync(join(agentsDir, 'security', 'agent.md'), '---\ndescription: Override\n---\n\nOverride prompt\n');
196
- const names = listAgents(projectRoot);
197
- const securityCount = names.filter((n) => n === 'review/security').length;
198
- expect(securityCount).toBe(1);
199
- });
200
- });
201
- describe('new custom agent (not overriding built-in)', () => {
202
- const tempDirs = [];
203
- function createTempDir(prefix) {
204
- const dir = mkdtempSync(join(tmpdir(), prefix));
205
- tempDirs.push(dir);
206
- return dir;
207
- }
208
- afterEach(() => {
209
- for (const dir of tempDirs.splice(0, tempDirs.length)) {
210
- rmSync(dir, { recursive: true, force: true });
211
- }
212
- });
213
- it('discovers a brand new agent alongside built-ins', () => {
214
- const projectRoot = createTempDir('drs-new-agent-');
215
- const agentsDir = join(projectRoot, '.drs', 'agents');
216
- mkdirSync(join(agentsDir, 'rails-reviewer'), { recursive: true });
217
- writeFileSync(join(agentsDir, 'rails-reviewer', 'agent.md'), [
218
- '---',
219
- 'description: Rails-specific code reviewer',
220
- 'model: anthropic/claude-sonnet-4-5-20250929',
221
- 'color: "#CC0000"',
222
- '---',
223
- '',
224
- 'You are a Rails security and conventions reviewer.',
225
- 'Focus on mass assignment, strong params, and N+1 queries.',
226
- '',
227
- ].join('\n'));
228
- const agents = loadReviewAgents(projectRoot);
229
- // New agent discovered
230
- const rails = agents.find((a) => a.name === 'review/rails-reviewer');
231
- expect(rails).toBeDefined();
232
- expect(rails?.description).toBe('Rails-specific code reviewer');
233
- expect(rails?.model).toBe('anthropic/claude-sonnet-4-5-20250929');
234
- expect(rails?.color).toBe('#CC0000');
235
- expect(rails?.prompt).toContain('mass assignment');
236
- expect(rails?.prompt).toContain('N+1 queries');
237
- // Built-ins still present
238
- expect(agents.some((a) => a.name === 'review/security')).toBe(true);
239
- expect(agents.some((a) => a.name === 'review/quality')).toBe(true);
240
- });
241
- it('new agent is accessible via getAgent', () => {
242
- const projectRoot = createTempDir('drs-new-get-agent-');
243
- const agentsDir = join(projectRoot, '.drs', 'agents');
244
- mkdirSync(join(agentsDir, 'api-reviewer'), { recursive: true });
245
- writeFileSync(join(agentsDir, 'api-reviewer', 'agent.md'), '---\ndescription: API contract reviewer\n---\n\nReview REST API contracts.\n');
246
- const agent = getAgent(projectRoot, 'review/api-reviewer');
247
- expect(agent).not.toBeNull();
248
- expect(agent?.description).toBe('API contract reviewer');
249
- expect(agent?.prompt).toBe('Review REST API contracts.');
250
- });
251
- it('new agent appears in getReviewAgents and listAgents', () => {
252
- const projectRoot = createTempDir('drs-new-list-');
253
- const agentsDir = join(projectRoot, '.drs', 'agents');
254
- mkdirSync(join(agentsDir, 'accessibility'), { recursive: true });
255
- writeFileSync(join(agentsDir, 'accessibility', 'agent.md'), '---\ndescription: Accessibility reviewer\n---\n\nCheck WCAG compliance.\n');
256
- const reviewAgents = getReviewAgents(projectRoot);
257
- expect(reviewAgents.some((a) => a.name === 'review/accessibility')).toBe(true);
258
- const names = listAgents(projectRoot);
259
- expect(names).toContain('review/accessibility');
260
- });
261
- it('new agent coexists with overrides of built-ins', () => {
262
- const projectRoot = createTempDir('drs-new-plus-override-');
263
- const agentsDir = join(projectRoot, '.drs', 'agents');
264
- mkdirSync(join(agentsDir, 'security'), { recursive: true });
265
- mkdirSync(join(agentsDir, 'rails-reviewer'), { recursive: true });
266
- writeFileSync(join(agentsDir, 'security', 'agent.md'), '---\ndescription: Custom security\n---\n\nCustom security prompt\n');
267
- writeFileSync(join(agentsDir, 'rails-reviewer', 'agent.md'), '---\ndescription: Rails reviewer\n---\n\nRails review prompt\n');
268
- const agents = loadReviewAgents(projectRoot);
269
- // Override replaces built-in
270
- const security = agents.find((a) => a.name === 'review/security');
271
- expect(security?.prompt).toBe('Custom security prompt');
272
- // New agent added
273
- const rails = agents.find((a) => a.name === 'review/rails-reviewer');
274
- expect(rails?.prompt).toBe('Rails review prompt');
275
- // Other built-ins still present
276
- expect(agents.some((a) => a.name === 'review/quality')).toBe(true);
277
- expect(agents.some((a) => a.name === 'review/style')).toBe(true);
278
- });
279
- });
280
- //# sourceMappingURL=agent-loader.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-loader.test.js","sourceRoot":"","sources":["../../src/runtime/agent-loader.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=client.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.test.d.ts","sourceRoot":"","sources":["../../src/runtime/client.test.ts"],"names":[],"mappings":""}