@diff-review-system/drs 4.0.0-rc.4 → 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 (315) 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 +3 -1
  4. package/.pi/agents/task/review-issue-fixer.md +18 -1
  5. package/.pi/agents/visual/pr-explainer.md +205 -0
  6. package/.pi/workflows/github-pr-describe.yaml +10 -7
  7. package/.pi/workflows/github-pr-fix-review-issues-stacked.yaml +148 -0
  8. package/.pi/workflows/github-pr-post-comment.yaml +10 -10
  9. package/.pi/workflows/github-pr-review-post.yaml +19 -8
  10. package/.pi/workflows/github-pr-review.yaml +348 -7
  11. package/.pi/workflows/github-pr-show-changes.yaml +8 -8
  12. package/.pi/workflows/github-pr-update-agents-md-stacked.yaml +103 -0
  13. package/.pi/workflows/github-pr-visual-explain.yaml +35 -0
  14. package/.pi/workflows/gitlab-mr-describe.yaml +8 -5
  15. package/.pi/workflows/gitlab-mr-fix-review-issues-stacked.yaml +144 -0
  16. package/.pi/workflows/gitlab-mr-post-comment.yaml +8 -8
  17. package/.pi/workflows/gitlab-mr-review.yaml +348 -5
  18. package/.pi/workflows/gitlab-mr-show-changes.yaml +6 -6
  19. package/.pi/workflows/gitlab-mr-update-agents-md-stacked.yaml +100 -0
  20. package/.pi/workflows/gitlab-mr-visual-explain.yaml +33 -0
  21. package/.pi/workflows/local-fix-review-issues.yaml +82 -13
  22. package/.pi/workflows/local-review.yaml +9 -2
  23. package/.pi/workflows/local-update-agents-md.yaml +1 -1
  24. package/.pi/workflows/local-visual-explain.yaml +31 -0
  25. package/.pi/workflows/release-changelog-finalize.yaml +47 -0
  26. package/.pi/workflows/tag-changelog-update.yaml +4 -4
  27. package/README.md +91 -27
  28. package/dist/ci/runner.d.ts.map +1 -1
  29. package/dist/ci/runner.js +3 -1
  30. package/dist/ci/runner.js.map +1 -1
  31. package/dist/cli/index.js +48 -6
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/run-agent.d.ts +2 -0
  34. package/dist/cli/run-agent.d.ts.map +1 -1
  35. package/dist/cli/run-agent.js +4 -0
  36. package/dist/cli/run-agent.js.map +1 -1
  37. package/dist/cli/workflow.d.ts +56 -2
  38. package/dist/cli/workflow.d.ts.map +1 -1
  39. package/dist/cli/workflow.js +2165 -85
  40. package/dist/cli/workflow.js.map +1 -1
  41. package/dist/github/client.d.ts +12 -0
  42. package/dist/github/client.d.ts.map +1 -1
  43. package/dist/github/client.js +27 -0
  44. package/dist/github/client.js.map +1 -1
  45. package/dist/github/platform-adapter.d.ts +6 -1
  46. package/dist/github/platform-adapter.d.ts.map +1 -1
  47. package/dist/github/platform-adapter.js +84 -8
  48. package/dist/github/platform-adapter.js.map +1 -1
  49. package/dist/gitlab/client.d.ts +11 -0
  50. package/dist/gitlab/client.d.ts.map +1 -1
  51. package/dist/gitlab/client.js +11 -0
  52. package/dist/gitlab/client.js.map +1 -1
  53. package/dist/gitlab/platform-adapter.d.ts +3 -1
  54. package/dist/gitlab/platform-adapter.d.ts.map +1 -1
  55. package/dist/gitlab/platform-adapter.js +32 -1
  56. package/dist/gitlab/platform-adapter.js.map +1 -1
  57. package/dist/lib/comment-formatter.d.ts +8 -0
  58. package/dist/lib/comment-formatter.d.ts.map +1 -1
  59. package/dist/lib/comment-formatter.js +12 -4
  60. package/dist/lib/comment-formatter.js.map +1 -1
  61. package/dist/lib/comment-poster.d.ts.map +1 -1
  62. package/dist/lib/comment-poster.js +28 -1
  63. package/dist/lib/comment-poster.js.map +1 -1
  64. package/dist/lib/config.d.ts +50 -11
  65. package/dist/lib/config.d.ts.map +1 -1
  66. package/dist/lib/config.js +163 -28
  67. package/dist/lib/config.js.map +1 -1
  68. package/dist/lib/context-compression.d.ts +10 -0
  69. package/dist/lib/context-compression.d.ts.map +1 -1
  70. package/dist/lib/context-compression.js +101 -13
  71. package/dist/lib/context-compression.js.map +1 -1
  72. package/dist/lib/context-loader.d.ts +2 -1
  73. package/dist/lib/context-loader.d.ts.map +1 -1
  74. package/dist/lib/context-loader.js +70 -1
  75. package/dist/lib/context-loader.js.map +1 -1
  76. package/dist/lib/describe-core.d.ts.map +1 -1
  77. package/dist/lib/describe-core.js +3 -2
  78. package/dist/lib/describe-core.js.map +1 -1
  79. package/dist/lib/diff-lines.d.ts +9 -0
  80. package/dist/lib/diff-lines.d.ts.map +1 -1
  81. package/dist/lib/diff-lines.js +17 -9
  82. package/dist/lib/diff-lines.js.map +1 -1
  83. package/dist/lib/exit.js +4 -4
  84. package/dist/lib/exit.js.map +1 -1
  85. package/dist/lib/html-artifact.d.ts +14 -0
  86. package/dist/lib/html-artifact.d.ts.map +1 -0
  87. package/dist/lib/html-artifact.js +59 -0
  88. package/dist/lib/html-artifact.js.map +1 -0
  89. package/dist/lib/issue-parser.js +3 -3
  90. package/dist/lib/issue-parser.js.map +1 -1
  91. package/dist/lib/json-output-schema.d.ts +70 -0
  92. package/dist/lib/json-output-schema.d.ts.map +1 -1
  93. package/dist/lib/json-output-schema.js +40 -0
  94. package/dist/lib/json-output-schema.js.map +1 -1
  95. package/dist/lib/platform-client.d.ts +26 -0
  96. package/dist/lib/platform-client.d.ts.map +1 -1
  97. package/dist/lib/review-artifact.d.ts +69 -0
  98. package/dist/lib/review-artifact.d.ts.map +1 -0
  99. package/dist/lib/review-artifact.js +171 -0
  100. package/dist/lib/review-artifact.js.map +1 -0
  101. package/dist/lib/review-core.d.ts +6 -4
  102. package/dist/lib/review-core.d.ts.map +1 -1
  103. package/dist/lib/review-core.js +71 -151
  104. package/dist/lib/review-core.js.map +1 -1
  105. package/dist/lib/review-orchestrator.d.ts +23 -0
  106. package/dist/lib/review-orchestrator.d.ts.map +1 -1
  107. package/dist/lib/review-orchestrator.js +20 -13
  108. package/dist/lib/review-orchestrator.js.map +1 -1
  109. package/dist/lib/review-usage.d.ts +4 -0
  110. package/dist/lib/review-usage.d.ts.map +1 -1
  111. package/dist/lib/review-usage.js +25 -0
  112. package/dist/lib/review-usage.js.map +1 -1
  113. package/dist/lib/trace-collector.d.ts +105 -0
  114. package/dist/lib/trace-collector.d.ts.map +1 -0
  115. package/dist/lib/trace-collector.js +255 -0
  116. package/dist/lib/trace-collector.js.map +1 -0
  117. package/dist/lib/trace-html.d.ts +3 -0
  118. package/dist/lib/trace-html.d.ts.map +1 -0
  119. package/dist/lib/trace-html.js +349 -0
  120. package/dist/lib/trace-html.js.map +1 -0
  121. package/dist/lib/workflow-artifacts.d.ts +54 -0
  122. package/dist/lib/workflow-artifacts.d.ts.map +1 -0
  123. package/dist/lib/workflow-artifacts.js +150 -0
  124. package/dist/lib/workflow-artifacts.js.map +1 -0
  125. package/dist/pi/sdk.d.ts.map +1 -1
  126. package/dist/pi/sdk.js +570 -6
  127. package/dist/pi/sdk.js.map +1 -1
  128. package/dist/runtime/agent-loader.js +2 -2
  129. package/dist/runtime/client.d.ts +2 -0
  130. package/dist/runtime/client.d.ts.map +1 -1
  131. package/dist/runtime/client.js +11 -5
  132. package/dist/runtime/client.js.map +1 -1
  133. package/package.json +21 -15
  134. package/.pi/workflows/github-pr-describe-post.yaml +0 -24
  135. package/.pi/workflows/gitlab-mr-describe-post.yaml +0 -22
  136. package/.pi/workflows/gitlab-mr-review-code-quality.yaml +0 -31
  137. package/.pi/workflows/gitlab-mr-review-post-code-quality.yaml +0 -40
  138. package/.pi/workflows/gitlab-mr-review-post.yaml +0 -30
  139. package/.pi/workflows/local-staged-review.yaml +0 -17
  140. package/dist/cli/run-agent.test.d.ts +0 -2
  141. package/dist/cli/run-agent.test.d.ts.map +0 -1
  142. package/dist/cli/run-agent.test.js +0 -204
  143. package/dist/cli/run-agent.test.js.map +0 -1
  144. package/dist/cli/workflow.test.d.ts +0 -2
  145. package/dist/cli/workflow.test.d.ts.map +0 -1
  146. package/dist/cli/workflow.test.js +0 -1410
  147. package/dist/cli/workflow.test.js.map +0 -1
  148. package/dist/github/client.test.d.ts +0 -2
  149. package/dist/github/client.test.d.ts.map +0 -1
  150. package/dist/github/client.test.js +0 -206
  151. package/dist/github/client.test.js.map +0 -1
  152. package/dist/github/platform-adapter.test.d.ts +0 -2
  153. package/dist/github/platform-adapter.test.d.ts.map +0 -1
  154. package/dist/github/platform-adapter.test.js +0 -40
  155. package/dist/github/platform-adapter.test.js.map +0 -1
  156. package/dist/gitlab/diff-parser.test.d.ts +0 -2
  157. package/dist/gitlab/diff-parser.test.d.ts.map +0 -1
  158. package/dist/gitlab/diff-parser.test.js +0 -315
  159. package/dist/gitlab/diff-parser.test.js.map +0 -1
  160. package/dist/gitlab/platform-adapter.test.d.ts +0 -2
  161. package/dist/gitlab/platform-adapter.test.d.ts.map +0 -1
  162. package/dist/gitlab/platform-adapter.test.js +0 -21
  163. package/dist/gitlab/platform-adapter.test.js.map +0 -1
  164. package/dist/index.test.d.ts +0 -2
  165. package/dist/index.test.d.ts.map +0 -1
  166. package/dist/index.test.js +0 -7
  167. package/dist/index.test.js.map +0 -1
  168. package/dist/lib/code-quality-report.test.d.ts +0 -2
  169. package/dist/lib/code-quality-report.test.d.ts.map +0 -1
  170. package/dist/lib/code-quality-report.test.js +0 -327
  171. package/dist/lib/code-quality-report.test.js.map +0 -1
  172. package/dist/lib/comment-formatter.test.d.ts +0 -2
  173. package/dist/lib/comment-formatter.test.d.ts.map +0 -1
  174. package/dist/lib/comment-formatter.test.js +0 -727
  175. package/dist/lib/comment-formatter.test.js.map +0 -1
  176. package/dist/lib/comment-manager.test.d.ts +0 -2
  177. package/dist/lib/comment-manager.test.d.ts.map +0 -1
  178. package/dist/lib/comment-manager.test.js +0 -680
  179. package/dist/lib/comment-manager.test.js.map +0 -1
  180. package/dist/lib/comment-poster.test.d.ts +0 -5
  181. package/dist/lib/comment-poster.test.d.ts.map +0 -1
  182. package/dist/lib/comment-poster.test.js +0 -255
  183. package/dist/lib/comment-poster.test.js.map +0 -1
  184. package/dist/lib/config-model-overrides.test.d.ts +0 -2
  185. package/dist/lib/config-model-overrides.test.d.ts.map +0 -1
  186. package/dist/lib/config-model-overrides.test.js +0 -218
  187. package/dist/lib/config-model-overrides.test.js.map +0 -1
  188. package/dist/lib/config.test.d.ts +0 -2
  189. package/dist/lib/config.test.d.ts.map +0 -1
  190. package/dist/lib/config.test.js +0 -353
  191. package/dist/lib/config.test.js.map +0 -1
  192. package/dist/lib/context-compression.test.d.ts +0 -2
  193. package/dist/lib/context-compression.test.d.ts.map +0 -1
  194. package/dist/lib/context-compression.test.js +0 -337
  195. package/dist/lib/context-compression.test.js.map +0 -1
  196. package/dist/lib/context-loader.test.d.ts +0 -2
  197. package/dist/lib/context-loader.test.d.ts.map +0 -1
  198. package/dist/lib/context-loader.test.js +0 -212
  199. package/dist/lib/context-loader.test.js.map +0 -1
  200. package/dist/lib/cursor-fix-link.test.d.ts +0 -2
  201. package/dist/lib/cursor-fix-link.test.d.ts.map +0 -1
  202. package/dist/lib/cursor-fix-link.test.js +0 -70
  203. package/dist/lib/cursor-fix-link.test.js.map +0 -1
  204. package/dist/lib/describe-core.test.d.ts +0 -2
  205. package/dist/lib/describe-core.test.d.ts.map +0 -1
  206. package/dist/lib/describe-core.test.js +0 -208
  207. package/dist/lib/describe-core.test.js.map +0 -1
  208. package/dist/lib/describe-output-path.test.d.ts +0 -2
  209. package/dist/lib/describe-output-path.test.d.ts.map +0 -1
  210. package/dist/lib/describe-output-path.test.js +0 -51
  211. package/dist/lib/describe-output-path.test.js.map +0 -1
  212. package/dist/lib/describe-parser.test.d.ts +0 -2
  213. package/dist/lib/describe-parser.test.d.ts.map +0 -1
  214. package/dist/lib/describe-parser.test.js +0 -282
  215. package/dist/lib/describe-parser.test.js.map +0 -1
  216. package/dist/lib/description-executor.test.d.ts +0 -2
  217. package/dist/lib/description-executor.test.d.ts.map +0 -1
  218. package/dist/lib/description-executor.test.js +0 -135
  219. package/dist/lib/description-executor.test.js.map +0 -1
  220. package/dist/lib/description-formatter.test.d.ts +0 -2
  221. package/dist/lib/description-formatter.test.d.ts.map +0 -1
  222. package/dist/lib/description-formatter.test.js +0 -57
  223. package/dist/lib/description-formatter.test.js.map +0 -1
  224. package/dist/lib/diff-lines.test.d.ts +0 -2
  225. package/dist/lib/diff-lines.test.d.ts.map +0 -1
  226. package/dist/lib/diff-lines.test.js +0 -13
  227. package/dist/lib/diff-lines.test.js.map +0 -1
  228. package/dist/lib/diff-parser.test.d.ts +0 -2
  229. package/dist/lib/diff-parser.test.d.ts.map +0 -1
  230. package/dist/lib/diff-parser.test.js +0 -335
  231. package/dist/lib/diff-parser.test.js.map +0 -1
  232. package/dist/lib/error-comment-poster.test.d.ts +0 -2
  233. package/dist/lib/error-comment-poster.test.d.ts.map +0 -1
  234. package/dist/lib/error-comment-poster.test.js +0 -128
  235. package/dist/lib/error-comment-poster.test.js.map +0 -1
  236. package/dist/lib/exit.test.d.ts +0 -2
  237. package/dist/lib/exit.test.d.ts.map +0 -1
  238. package/dist/lib/exit.test.js +0 -120
  239. package/dist/lib/exit.test.js.map +0 -1
  240. package/dist/lib/issue-parser.test.d.ts +0 -2
  241. package/dist/lib/issue-parser.test.d.ts.map +0 -1
  242. package/dist/lib/issue-parser.test.js +0 -281
  243. package/dist/lib/issue-parser.test.js.map +0 -1
  244. package/dist/lib/json-output-schema.test.d.ts +0 -2
  245. package/dist/lib/json-output-schema.test.d.ts.map +0 -1
  246. package/dist/lib/json-output-schema.test.js +0 -92
  247. package/dist/lib/json-output-schema.test.js.map +0 -1
  248. package/dist/lib/json-output.test.d.ts +0 -2
  249. package/dist/lib/json-output.test.d.ts.map +0 -1
  250. package/dist/lib/json-output.test.js +0 -141
  251. package/dist/lib/json-output.test.js.map +0 -1
  252. package/dist/lib/logger.test.d.ts +0 -2
  253. package/dist/lib/logger.test.d.ts.map +0 -1
  254. package/dist/lib/logger.test.js +0 -324
  255. package/dist/lib/logger.test.js.map +0 -1
  256. package/dist/lib/position-validator.test.d.ts +0 -2
  257. package/dist/lib/position-validator.test.d.ts.map +0 -1
  258. package/dist/lib/position-validator.test.js +0 -128
  259. package/dist/lib/position-validator.test.js.map +0 -1
  260. package/dist/lib/prompt-budget.test.d.ts +0 -2
  261. package/dist/lib/prompt-budget.test.d.ts.map +0 -1
  262. package/dist/lib/prompt-budget.test.js +0 -55
  263. package/dist/lib/prompt-budget.test.js.map +0 -1
  264. package/dist/lib/repository-validator.test.d.ts +0 -5
  265. package/dist/lib/repository-validator.test.d.ts.map +0 -1
  266. package/dist/lib/repository-validator.test.js +0 -341
  267. package/dist/lib/repository-validator.test.js.map +0 -1
  268. package/dist/lib/review-core.test.d.ts +0 -2
  269. package/dist/lib/review-core.test.d.ts.map +0 -1
  270. package/dist/lib/review-core.test.js +0 -614
  271. package/dist/lib/review-core.test.js.map +0 -1
  272. package/dist/lib/review-orchestrator.test.d.ts +0 -2
  273. package/dist/lib/review-orchestrator.test.d.ts.map +0 -1
  274. package/dist/lib/review-orchestrator.test.js +0 -552
  275. package/dist/lib/review-orchestrator.test.js.map +0 -1
  276. package/dist/lib/review-output-path.test.d.ts +0 -2
  277. package/dist/lib/review-output-path.test.d.ts.map +0 -1
  278. package/dist/lib/review-output-path.test.js +0 -83
  279. package/dist/lib/review-output-path.test.js.map +0 -1
  280. package/dist/lib/review-parser.test.d.ts +0 -2
  281. package/dist/lib/review-parser.test.d.ts.map +0 -1
  282. package/dist/lib/review-parser.test.js +0 -130
  283. package/dist/lib/review-parser.test.js.map +0 -1
  284. package/dist/lib/review-usage.test.d.ts +0 -2
  285. package/dist/lib/review-usage.test.d.ts.map +0 -1
  286. package/dist/lib/review-usage.test.js +0 -83
  287. package/dist/lib/review-usage.test.js.map +0 -1
  288. package/dist/lib/unified-review-executor.d.ts +0 -58
  289. package/dist/lib/unified-review-executor.d.ts.map +0 -1
  290. package/dist/lib/unified-review-executor.js +0 -201
  291. package/dist/lib/unified-review-executor.js.map +0 -1
  292. package/dist/lib/unified-review-executor.test.d.ts +0 -5
  293. package/dist/lib/unified-review-executor.test.d.ts.map +0 -1
  294. package/dist/lib/unified-review-executor.test.js +0 -472
  295. package/dist/lib/unified-review-executor.test.js.map +0 -1
  296. package/dist/lib/write-json-output.test.d.ts +0 -2
  297. package/dist/lib/write-json-output.test.d.ts.map +0 -1
  298. package/dist/lib/write-json-output.test.js +0 -259
  299. package/dist/lib/write-json-output.test.js.map +0 -1
  300. package/dist/pi/sdk.test.d.ts +0 -2
  301. package/dist/pi/sdk.test.d.ts.map +0 -1
  302. package/dist/pi/sdk.test.js +0 -488
  303. package/dist/pi/sdk.test.js.map +0 -1
  304. package/dist/runtime/agent-loader.test.d.ts +0 -2
  305. package/dist/runtime/agent-loader.test.d.ts.map +0 -1
  306. package/dist/runtime/agent-loader.test.js +0 -277
  307. package/dist/runtime/agent-loader.test.js.map +0 -1
  308. package/dist/runtime/client.test.d.ts +0 -2
  309. package/dist/runtime/client.test.d.ts.map +0 -1
  310. package/dist/runtime/client.test.js +0 -772
  311. package/dist/runtime/client.test.js.map +0 -1
  312. package/dist/runtime/path-config.test.d.ts +0 -2
  313. package/dist/runtime/path-config.test.d.ts.map +0 -1
  314. package/dist/runtime/path-config.test.js +0 -112
  315. package/dist/runtime/path-config.test.js.map +0 -1
@@ -1,353 +0,0 @@
1
- import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'fs';
2
- import { tmpdir } from 'os';
3
- import { join } from 'path';
4
- import { describe, it, expect } from 'vitest';
5
- import { loadConfig } from './config.js';
6
- describe('Config', () => {
7
- it('should not overwrite default agents when undefined is passed', () => {
8
- const config = loadConfig(process.cwd(), {
9
- review: {
10
- agents: undefined,
11
- },
12
- });
13
- // Should keep default agents, not overwrite with undefined
14
- expect(config.review.agents).toBeDefined();
15
- expect(Array.isArray(config.review.agents)).toBe(true);
16
- expect(config.review.agents.length).toBeGreaterThan(0);
17
- });
18
- it('should override agents when explicitly provided', () => {
19
- const config = loadConfig(process.cwd(), {
20
- review: {
21
- agents: ['review/security'],
22
- },
23
- });
24
- expect(config.review.agents).toEqual(['review/security']);
25
- });
26
- it('should load agents from config file when no override provided', () => {
27
- const config = loadConfig(process.cwd());
28
- // Should load whatever is configured in the project's .drs/drs.config.yaml
29
- expect(config.review.agents).toBeDefined();
30
- expect(Array.isArray(config.review.agents)).toBe(true);
31
- expect(config.review.agents.length).toBeGreaterThan(0);
32
- // Verify each agent is a string (simple format) or object (detailed format)
33
- config.review.agents.forEach((agent) => {
34
- const isValid = typeof agent === 'string' || (typeof agent === 'object' && 'name' in agent);
35
- expect(isValid).toBe(true);
36
- });
37
- });
38
- it('should respect skipRepoCheck config option', () => {
39
- const config = loadConfig(process.cwd(), {
40
- review: {
41
- skipRepoCheck: true,
42
- },
43
- });
44
- expect(config.review.skipRepoCheck).toBe(true);
45
- });
46
- it('should respect skipBranchCheck config option', () => {
47
- const config = loadConfig(process.cwd(), {
48
- review: {
49
- skipBranchCheck: true,
50
- },
51
- });
52
- expect(config.review.skipBranchCheck).toBe(true);
53
- });
54
- it('should default skipRepoCheck and skipBranchCheck to undefined', () => {
55
- const config = loadConfig(process.cwd());
56
- expect(config.review.skipRepoCheck).toBeUndefined();
57
- expect(config.review.skipBranchCheck).toBeUndefined();
58
- });
59
- it('should load pricing overrides when provided', () => {
60
- const config = loadConfig(process.cwd(), {
61
- pricing: {
62
- models: {
63
- 'opencode/glm-5-free': {
64
- input: 1,
65
- output: 2,
66
- },
67
- },
68
- },
69
- });
70
- expect(config.pricing?.models?.['opencode/glm-5-free']).toEqual({
71
- input: 1,
72
- output: 2,
73
- });
74
- });
75
- it('loads built-in workflow files', () => {
76
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-workflow-builtins-'));
77
- try {
78
- const config = loadConfig(projectRoot);
79
- expect(config.workflows?.['local-review']).toMatchObject({
80
- description: 'Review local unstaged git diff',
81
- nodes: {
82
- change: {
83
- action: 'change-source',
84
- },
85
- review: {
86
- action: 'review',
87
- },
88
- },
89
- });
90
- expect(config.workflows?.['gitlab-mr-review']?.inputs).toEqual({
91
- project: '',
92
- mr: '',
93
- });
94
- expect(config.workflows?.['github-pr-describe-post']).toMatchObject({
95
- description: 'Generate and post a GitHub pull request description',
96
- nodes: {
97
- describe: {
98
- action: 'describe',
99
- with: {
100
- post: true,
101
- },
102
- },
103
- },
104
- });
105
- expect(config.workflows?.['gitlab-mr-describe']?.inputs).toEqual({
106
- project: '',
107
- mr: '',
108
- });
109
- expect(config.workflows?.['github-pr-post-comment']).toMatchObject({
110
- description: 'Post or update a GitHub pull request comment',
111
- nodes: {
112
- comment: {
113
- action: 'post-comment',
114
- },
115
- },
116
- });
117
- expect(config.workflows?.['local-changelog-update']).toMatchObject({
118
- description: 'Update CHANGELOG.md from local unstaged changes',
119
- nodes: {
120
- 'update-changelog': {
121
- agent: 'task/changelog-updater',
122
- },
123
- },
124
- });
125
- expect(config.workflows?.['local-fix-review-issues']).toMatchObject({
126
- description: 'Fix actionable issues from a saved DRS review result',
127
- inputs: {
128
- review: '',
129
- },
130
- nodes: {
131
- 'fix-issues': {
132
- agent: 'task/review-issue-fixer',
133
- },
134
- review: {
135
- action: 'review',
136
- },
137
- },
138
- });
139
- expect(config.workflows?.['local-update-agents-md']).toMatchObject({
140
- description: 'Update repository agent guidance from local changes',
141
- nodes: {
142
- 'update-guidance': {
143
- agent: 'task/agents-md-updater',
144
- },
145
- },
146
- });
147
- expect(config.workflows?.['tag-changelog-update']).toMatchObject({
148
- description: 'Update CHANGELOG.md from changes between two git refs or tags',
149
- inputs: {
150
- from: '',
151
- to: '',
152
- },
153
- nodes: {
154
- 'release-change': {
155
- action: 'change-source',
156
- with: {
157
- type: 'git-range',
158
- },
159
- },
160
- 'update-changelog': {
161
- agent: 'task/changelog-updater',
162
- },
163
- },
164
- });
165
- }
166
- finally {
167
- rmSync(projectRoot, { recursive: true, force: true });
168
- }
169
- });
170
- it('loads project workflow files from .drs/workflows', () => {
171
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-project-workflow-'));
172
- try {
173
- mkdirSync(join(projectRoot, '.drs', 'workflows'), { recursive: true });
174
- writeFileSync(join(projectRoot, '.drs', 'workflows', 'release-notes.yaml'), [
175
- 'description: Draft release notes',
176
- 'nodes:',
177
- ' write:',
178
- ' action: write',
179
- ' input: hello',
180
- ' writes: RELEASE_NOTES.md',
181
- '',
182
- ].join('\n'));
183
- const config = loadConfig(projectRoot);
184
- expect(config.workflows?.['release-notes']).toMatchObject({
185
- description: 'Draft release notes',
186
- nodes: {
187
- write: {
188
- action: 'write',
189
- writes: 'RELEASE_NOTES.md',
190
- },
191
- },
192
- });
193
- }
194
- finally {
195
- rmSync(projectRoot, { recursive: true, force: true });
196
- }
197
- });
198
- it('lets project workflow files override built-in workflow files', () => {
199
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-workflow-override-'));
200
- try {
201
- mkdirSync(join(projectRoot, '.drs', 'workflows'), { recursive: true });
202
- writeFileSync(join(projectRoot, '.drs', 'workflows', 'local-review.yaml'), [
203
- 'description: Project local review override',
204
- 'nodes:',
205
- ' write:',
206
- ' action: write',
207
- ' input: project',
208
- ' writes: project.txt',
209
- '',
210
- ].join('\n'));
211
- const config = loadConfig(projectRoot);
212
- expect(config.workflows?.['local-review']).toMatchObject({
213
- description: 'Project local review override',
214
- nodes: {
215
- write: {
216
- action: 'write',
217
- },
218
- },
219
- });
220
- }
221
- finally {
222
- rmSync(projectRoot, { recursive: true, force: true });
223
- }
224
- });
225
- it('rejects top-level workflows in drs.config.yaml', () => {
226
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-workflow-config-'));
227
- try {
228
- mkdirSync(join(projectRoot, '.drs'), { recursive: true });
229
- writeFileSync(join(projectRoot, '.drs', 'drs.config.yaml'), [
230
- 'workflows:',
231
- ' custom:',
232
- ' description: Inline workflow',
233
- ' nodes:',
234
- ' write:',
235
- ' action: write',
236
- '',
237
- ].join('\n'));
238
- expect(() => loadConfig(projectRoot)).toThrow('cannot define top-level workflows');
239
- }
240
- finally {
241
- rmSync(projectRoot, { recursive: true, force: true });
242
- }
243
- });
244
- it('rejects workflow files that contain a workflows map', () => {
245
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-workflow-map-'));
246
- try {
247
- mkdirSync(join(projectRoot, '.drs', 'workflows'), { recursive: true });
248
- writeFileSync(join(projectRoot, '.drs', 'workflows', 'custom.yaml'), ['workflows:', ' custom:', ' nodes:', ' write:', ' action: write', ''].join('\n'));
249
- expect(() => loadConfig(projectRoot)).toThrow('must define one workflow directly');
250
- }
251
- finally {
252
- rmSync(projectRoot, { recursive: true, force: true });
253
- }
254
- });
255
- it('loads workflow run defaults from drs.config.yaml', () => {
256
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-workflow-default-'));
257
- try {
258
- mkdirSync(join(projectRoot, '.drs'), { recursive: true });
259
- writeFileSync(join(projectRoot, '.drs', 'drs.config.yaml'), ['workflow:', ' default: local-changelog-review', ''].join('\n'));
260
- const config = loadConfig(projectRoot);
261
- expect(config.workflow?.default).toBe('local-changelog-review');
262
- }
263
- finally {
264
- rmSync(projectRoot, { recursive: true, force: true });
265
- }
266
- });
267
- it('uses DRS_DEFAULT_MODEL as the generic default model environment alias', () => {
268
- const previous = process.env.DRS_DEFAULT_MODEL;
269
- process.env.DRS_DEFAULT_MODEL = 'provider/env-default-model';
270
- try {
271
- const config = loadConfig(process.cwd());
272
- expect(config.agents.default?.model).toBe('provider/env-default-model');
273
- }
274
- finally {
275
- if (previous === undefined) {
276
- delete process.env.DRS_DEFAULT_MODEL;
277
- }
278
- else {
279
- process.env.DRS_DEFAULT_MODEL = previous;
280
- }
281
- }
282
- });
283
- it('merges pi runtime timeout and provider retry settings', () => {
284
- const config = loadConfig(process.cwd(), {
285
- pi: {
286
- runtime: {
287
- operationTimeoutMs: 111000,
288
- streamTimeoutMs: 222000,
289
- streamPollIntervalMs: 1500,
290
- },
291
- retry: {
292
- provider: {
293
- timeoutMs: 45000,
294
- maxRetries: 2,
295
- maxRetryDelayMs: 15000,
296
- },
297
- },
298
- },
299
- });
300
- expect(config.pi.runtime).toEqual({
301
- operationTimeoutMs: 111000,
302
- streamTimeoutMs: 222000,
303
- streamPollIntervalMs: 1500,
304
- });
305
- expect(config.pi.retry?.provider).toEqual({
306
- timeoutMs: 45000,
307
- maxRetries: 2,
308
- maxRetryDelayMs: 15000,
309
- });
310
- });
311
- it('rejects legacy review.default config with migration guidance', () => {
312
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-legacy-config-'));
313
- try {
314
- mkdirSync(join(projectRoot, '.drs'), { recursive: true });
315
- writeFileSync(join(projectRoot, '.drs', 'drs.config.yaml'), ['review:', ' default:', ' model: provider/legacy-model', ''].join('\n'));
316
- expect(() => loadConfig(projectRoot)).toThrow('review.default -> agents.default');
317
- }
318
- finally {
319
- rmSync(projectRoot, { recursive: true, force: true });
320
- }
321
- });
322
- it('rejects legacy review.paths config with migration guidance', () => {
323
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-legacy-paths-'));
324
- try {
325
- mkdirSync(join(projectRoot, '.drs'), { recursive: true });
326
- writeFileSync(join(projectRoot, '.drs', 'drs.config.yaml'), ['review:', ' paths:', ' agents: custom/agents', ''].join('\n'));
327
- expect(() => loadConfig(projectRoot)).toThrow('review.paths -> agents.paths');
328
- }
329
- finally {
330
- rmSync(projectRoot, { recursive: true, force: true });
331
- }
332
- });
333
- it('rejects removed implicit review posting config keys', () => {
334
- const projectRoot = mkdtempSync(join(tmpdir(), 'drs-removed-posting-config-'));
335
- try {
336
- mkdirSync(join(projectRoot, '.drs'), { recursive: true });
337
- writeFileSync(join(projectRoot, '.drs', 'drs.config.yaml'), [
338
- 'review:',
339
- ' postErrorComment: true',
340
- ' describe:',
341
- ' enabled: true',
342
- ' postDescription: true',
343
- '',
344
- ].join('\n'));
345
- expect(() => loadConfig(projectRoot)).toThrow('review.postErrorComment');
346
- expect(() => loadConfig(projectRoot)).toThrow('review.describe.postDescription');
347
- }
348
- finally {
349
- rmSync(projectRoot, { recursive: true, force: true });
350
- }
351
- });
352
- });
353
- //# sourceMappingURL=config.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.test.js","sourceRoot":"","sources":["../../src/lib/config.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=context-compression.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-compression.test.d.ts","sourceRoot":"","sources":["../../src/lib/context-compression.test.ts"],"names":[],"mappings":""}