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

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 (203) hide show
  1. package/.pi/agents/task/agents-md-updater.md +24 -0
  2. package/.pi/agents/task/changelog-updater.md +29 -0
  3. package/.pi/agents/task/review-issue-fixer.md +25 -0
  4. package/.pi/workflows/github-pr-describe-post.yaml +24 -0
  5. package/.pi/workflows/github-pr-describe.yaml +23 -0
  6. package/.pi/workflows/github-pr-post-comment.yaml +19 -0
  7. package/.pi/workflows/github-pr-review-post.yaml +32 -0
  8. package/.pi/workflows/github-pr-review.yaml +23 -0
  9. package/.pi/workflows/github-pr-show-changes.yaml +25 -0
  10. package/.pi/workflows/gitlab-mr-describe-post.yaml +22 -0
  11. package/.pi/workflows/gitlab-mr-describe.yaml +21 -0
  12. package/.pi/workflows/gitlab-mr-post-comment.yaml +17 -0
  13. package/.pi/workflows/gitlab-mr-review-code-quality.yaml +31 -0
  14. package/.pi/workflows/gitlab-mr-review-post-code-quality.yaml +40 -0
  15. package/.pi/workflows/gitlab-mr-review-post.yaml +30 -0
  16. package/.pi/workflows/gitlab-mr-review.yaml +21 -0
  17. package/.pi/workflows/gitlab-mr-show-changes.yaml +23 -0
  18. package/.pi/workflows/local-changelog-update.yaml +23 -0
  19. package/.pi/workflows/local-fix-review-issues.yaml +42 -0
  20. package/.pi/workflows/local-review.yaml +17 -0
  21. package/.pi/workflows/local-staged-review.yaml +17 -0
  22. package/.pi/workflows/local-update-agents-md.yaml +24 -0
  23. package/.pi/workflows/tag-changelog-update.yaml +26 -0
  24. package/README.md +215 -106
  25. package/dist/ci/runner.d.ts.map +1 -1
  26. package/dist/ci/runner.js +7 -8
  27. package/dist/ci/runner.js.map +1 -1
  28. package/dist/cli/index.js +69 -341
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/init.d.ts.map +1 -1
  31. package/dist/cli/init.js +25 -23
  32. package/dist/cli/init.js.map +1 -1
  33. package/dist/cli/run-agent.d.ts +24 -0
  34. package/dist/cli/run-agent.d.ts.map +1 -0
  35. package/dist/cli/run-agent.js +139 -0
  36. package/dist/cli/run-agent.js.map +1 -0
  37. package/dist/cli/run-agent.test.d.ts +2 -0
  38. package/dist/cli/run-agent.test.d.ts.map +1 -0
  39. package/dist/cli/run-agent.test.js +204 -0
  40. package/dist/cli/run-agent.test.js.map +1 -0
  41. package/dist/cli/workflow.d.ts +51 -0
  42. package/dist/cli/workflow.d.ts.map +1 -0
  43. package/dist/cli/workflow.js +1229 -0
  44. package/dist/cli/workflow.js.map +1 -0
  45. package/dist/cli/workflow.test.d.ts +2 -0
  46. package/dist/cli/workflow.test.d.ts.map +1 -0
  47. package/dist/cli/workflow.test.js +1410 -0
  48. package/dist/cli/workflow.test.js.map +1 -0
  49. package/dist/lib/agent-id.d.ts +9 -0
  50. package/dist/lib/agent-id.d.ts.map +1 -0
  51. package/dist/lib/agent-id.js +32 -0
  52. package/dist/lib/agent-id.js.map +1 -0
  53. package/dist/lib/comment-formatter.d.ts +7 -1
  54. package/dist/lib/comment-formatter.d.ts.map +1 -1
  55. package/dist/lib/comment-formatter.js +42 -1
  56. package/dist/lib/comment-formatter.js.map +1 -1
  57. package/dist/lib/comment-formatter.test.js +33 -0
  58. package/dist/lib/comment-formatter.test.js.map +1 -1
  59. package/dist/lib/comment-manager.d.ts +4 -0
  60. package/dist/lib/comment-manager.d.ts.map +1 -1
  61. package/dist/lib/comment-manager.js +7 -1
  62. package/dist/lib/comment-manager.js.map +1 -1
  63. package/dist/lib/comment-poster.d.ts +2 -2
  64. package/dist/lib/comment-poster.d.ts.map +1 -1
  65. package/dist/lib/comment-poster.js +3 -3
  66. package/dist/lib/comment-poster.js.map +1 -1
  67. package/dist/lib/comment-poster.test.js +13 -3
  68. package/dist/lib/comment-poster.test.js.map +1 -1
  69. package/dist/lib/config-model-overrides.test.d.ts +0 -10
  70. package/dist/lib/config-model-overrides.test.d.ts.map +1 -1
  71. package/dist/lib/config-model-overrides.test.js +174 -210
  72. package/dist/lib/config-model-overrides.test.js.map +1 -1
  73. package/dist/lib/config.d.ts +111 -34
  74. package/dist/lib/config.d.ts.map +1 -1
  75. package/dist/lib/config.js +322 -83
  76. package/dist/lib/config.js.map +1 -1
  77. package/dist/lib/config.test.js +282 -2
  78. package/dist/lib/config.test.js.map +1 -1
  79. package/dist/lib/context-loader.d.ts +4 -4
  80. package/dist/lib/context-loader.d.ts.map +1 -1
  81. package/dist/lib/context-loader.js +10 -7
  82. package/dist/lib/context-loader.js.map +1 -1
  83. package/dist/lib/context-loader.test.js +31 -26
  84. package/dist/lib/context-loader.test.js.map +1 -1
  85. package/dist/lib/description-executor.js +1 -1
  86. package/dist/lib/description-executor.js.map +1 -1
  87. package/dist/lib/description-executor.test.js +10 -3
  88. package/dist/lib/description-executor.test.js.map +1 -1
  89. package/dist/lib/diff-lines.d.ts +9 -0
  90. package/dist/lib/diff-lines.d.ts.map +1 -0
  91. package/dist/lib/diff-lines.js +32 -0
  92. package/dist/lib/diff-lines.js.map +1 -0
  93. package/dist/lib/diff-lines.test.d.ts +2 -0
  94. package/dist/lib/diff-lines.test.d.ts.map +1 -0
  95. package/dist/lib/diff-lines.test.js +13 -0
  96. package/dist/lib/diff-lines.test.js.map +1 -0
  97. package/dist/lib/logger.d.ts +1 -1
  98. package/dist/lib/logger.d.ts.map +1 -1
  99. package/dist/lib/review-core.d.ts.map +1 -1
  100. package/dist/lib/review-core.js +22 -27
  101. package/dist/lib/review-core.js.map +1 -1
  102. package/dist/lib/review-core.test.js +37 -23
  103. package/dist/lib/review-core.test.js.map +1 -1
  104. package/dist/lib/review-orchestrator.d.ts.map +1 -1
  105. package/dist/lib/review-orchestrator.js +11 -8
  106. package/dist/lib/review-orchestrator.js.map +1 -1
  107. package/dist/lib/review-orchestrator.test.js +27 -6
  108. package/dist/lib/review-orchestrator.test.js.map +1 -1
  109. package/dist/lib/unified-review-executor.d.ts +0 -2
  110. package/dist/lib/unified-review-executor.d.ts.map +1 -1
  111. package/dist/lib/unified-review-executor.js +7 -13
  112. package/dist/lib/unified-review-executor.js.map +1 -1
  113. package/dist/lib/unified-review-executor.test.js +2 -2
  114. package/dist/lib/unified-review-executor.test.js.map +1 -1
  115. package/dist/pi/sdk.d.ts.map +1 -1
  116. package/dist/pi/sdk.js +37 -12
  117. package/dist/pi/sdk.js.map +1 -1
  118. package/dist/pi/sdk.test.js +83 -10
  119. package/dist/pi/sdk.test.js.map +1 -1
  120. package/dist/runtime/agent-loader.d.ts +10 -6
  121. package/dist/runtime/agent-loader.d.ts.map +1 -1
  122. package/dist/runtime/agent-loader.js +53 -27
  123. package/dist/runtime/agent-loader.js.map +1 -1
  124. package/dist/runtime/agent-loader.test.js +116 -119
  125. package/dist/runtime/agent-loader.test.js.map +1 -1
  126. package/dist/runtime/built-in-paths.d.ts +1 -0
  127. package/dist/runtime/built-in-paths.d.ts.map +1 -1
  128. package/dist/runtime/built-in-paths.js +7 -0
  129. package/dist/runtime/built-in-paths.js.map +1 -1
  130. package/dist/runtime/client.d.ts +12 -0
  131. package/dist/runtime/client.d.ts.map +1 -1
  132. package/dist/runtime/client.js +83 -58
  133. package/dist/runtime/client.js.map +1 -1
  134. package/dist/runtime/client.test.js +264 -15
  135. package/dist/runtime/client.test.js.map +1 -1
  136. package/dist/runtime/path-config.d.ts +2 -2
  137. package/dist/runtime/path-config.d.ts.map +1 -1
  138. package/dist/runtime/path-config.js +8 -8
  139. package/dist/runtime/path-config.js.map +1 -1
  140. package/dist/runtime/path-config.test.js +14 -14
  141. package/dist/runtime/path-config.test.js.map +1 -1
  142. package/package.json +3 -4
  143. package/.pi/agents/review/documentation.md +0 -56
  144. package/.pi/agents/review/performance.md +0 -53
  145. package/.pi/agents/review/quality.md +0 -59
  146. package/.pi/agents/review/security.md +0 -53
  147. package/.pi/agents/review/style.md +0 -132
  148. package/dist/cli/describe-mr.d.ts +0 -11
  149. package/dist/cli/describe-mr.d.ts.map +0 -1
  150. package/dist/cli/describe-mr.js +0 -134
  151. package/dist/cli/describe-mr.js.map +0 -1
  152. package/dist/cli/describe-pr.d.ts +0 -12
  153. package/dist/cli/describe-pr.d.ts.map +0 -1
  154. package/dist/cli/describe-pr.js +0 -135
  155. package/dist/cli/describe-pr.js.map +0 -1
  156. package/dist/cli/post-comments.d.ts +0 -20
  157. package/dist/cli/post-comments.d.ts.map +0 -1
  158. package/dist/cli/post-comments.js +0 -225
  159. package/dist/cli/post-comments.js.map +0 -1
  160. package/dist/cli/review-local.d.ts +0 -13
  161. package/dist/cli/review-local.d.ts.map +0 -1
  162. package/dist/cli/review-local.integration.test.d.ts +0 -2
  163. package/dist/cli/review-local.integration.test.d.ts.map +0 -1
  164. package/dist/cli/review-local.integration.test.js +0 -343
  165. package/dist/cli/review-local.integration.test.js.map +0 -1
  166. package/dist/cli/review-local.js +0 -90
  167. package/dist/cli/review-local.js.map +0 -1
  168. package/dist/cli/review-local.live.e2e.test.d.ts +0 -2
  169. package/dist/cli/review-local.live.e2e.test.d.ts.map +0 -1
  170. package/dist/cli/review-local.live.e2e.test.js +0 -153
  171. package/dist/cli/review-local.live.e2e.test.js.map +0 -1
  172. package/dist/cli/review-local.test.d.ts +0 -2
  173. package/dist/cli/review-local.test.d.ts.map +0 -1
  174. package/dist/cli/review-local.test.js +0 -164
  175. package/dist/cli/review-local.test.js.map +0 -1
  176. package/dist/cli/review-mr.d.ts +0 -22
  177. package/dist/cli/review-mr.d.ts.map +0 -1
  178. package/dist/cli/review-mr.js +0 -181
  179. package/dist/cli/review-mr.js.map +0 -1
  180. package/dist/cli/review-mr.test.d.ts +0 -2
  181. package/dist/cli/review-mr.test.d.ts.map +0 -1
  182. package/dist/cli/review-mr.test.js +0 -142
  183. package/dist/cli/review-mr.test.js.map +0 -1
  184. package/dist/cli/review-pr.d.ts +0 -22
  185. package/dist/cli/review-pr.d.ts.map +0 -1
  186. package/dist/cli/review-pr.js +0 -181
  187. package/dist/cli/review-pr.js.map +0 -1
  188. package/dist/cli/review-pr.test.d.ts +0 -2
  189. package/dist/cli/review-pr.test.d.ts.map +0 -1
  190. package/dist/cli/review-pr.test.js +0 -137
  191. package/dist/cli/review-pr.test.js.map +0 -1
  192. package/dist/cli/review-url.d.ts +0 -35
  193. package/dist/cli/review-url.d.ts.map +0 -1
  194. package/dist/cli/review-url.js +0 -110
  195. package/dist/cli/review-url.js.map +0 -1
  196. package/dist/cli/review-url.test.d.ts +0 -2
  197. package/dist/cli/review-url.test.d.ts.map +0 -1
  198. package/dist/cli/review-url.test.js +0 -132
  199. package/dist/cli/review-url.test.js.map +0 -1
  200. package/dist/cli/show-changes.d.ts +0 -15
  201. package/dist/cli/show-changes.d.ts.map +0 -1
  202. package/dist/cli/show-changes.js +0 -184
  203. package/dist/cli/show-changes.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"describe-mr.js","sourceRoot":"","sources":["../../src/cli/describe-mr.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { type DRSConfig } from '../lib/config.js';
2
- export interface DescribePROptions {
3
- owner: string;
4
- repo: string;
5
- prNumber: number;
6
- postDescription?: boolean;
7
- outputPath?: string;
8
- jsonOutput?: boolean;
9
- debug?: boolean;
10
- }
11
- export declare function describePR(config: DRSConfig, options: DescribePROptions): Promise<void>;
12
- //# sourceMappingURL=describe-pr.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"describe-pr.d.ts","sourceRoot":"","sources":["../../src/cli/describe-pr.ts"],"names":[],"mappings":"AACA,OAAO,EAA+C,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyB/F,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,iBAyK7E"}
@@ -1,135 +0,0 @@
1
- import chalk from 'chalk';
2
- import { getDescriberModelOverride, getRuntimeConfig } from '../lib/config.js';
3
- import { createGitHubClient } from '../github/client.js';
4
- import { GitHubPlatformAdapter } from '../github/platform-adapter.js';
5
- import { createRuntimeClientInstance } from '../runtime/client.js';
6
- import { buildDescribeInstructions } from '../lib/describe-core.js';
7
- import { loadGlobalContext } from '../lib/context-loader.js';
8
- import { displayDescription, normalizeDescription, postDescription, } from '../lib/description-formatter.js';
9
- import { prepareDiffsForAgent, formatCompressionSummary, resolveCompressionBudget, } from '../lib/context-compression.js';
10
- import { parseDescribeOutput } from '../lib/describe-parser.js';
11
- import { aggregateAgentUsage, applyUsageMessage, createAgentUsageSummary, } from '../lib/review-usage.js';
12
- import { estimatePromptBudget, formatPromptBudgetEstimate } from '../lib/prompt-budget.js';
13
- export async function describePR(config, options) {
14
- console.log(chalk.bold.blue('\n🔍 Generating PR Description\n'));
15
- // Initialize GitHub client
16
- const githubClient = createGitHubClient();
17
- const platformAdapter = new GitHubPlatformAdapter(githubClient);
18
- const projectId = `${options.owner}/${options.repo}`;
19
- // Fetch PR files
20
- console.log(chalk.dim(`Fetching PR #${options.prNumber} from ${options.owner}/${options.repo}...`));
21
- const files = await githubClient.getPRFiles(options.owner, options.repo, options.prNumber);
22
- console.log(chalk.dim(`Found ${files.length} changed files\n`));
23
- // Build context for the describer agent
24
- const label = `PR #${options.prNumber}`;
25
- const filesWithDiffs = files.map((file) => ({
26
- filename: file.filename,
27
- patch: file.patch,
28
- }));
29
- // Initialize Pi runtime client with model overrides
30
- const modelOverrides = getDescriberModelOverride(config);
31
- const describeModelId = modelOverrides['describe/pr-describer'];
32
- const runtimeConfig = getRuntimeConfig(config);
33
- const runtimeClient = await createRuntimeClientInstance({
34
- directory: process.cwd(),
35
- modelOverrides,
36
- provider: runtimeConfig.provider,
37
- config,
38
- debug: options.debug,
39
- });
40
- const describeModelIds = [...new Set(Object.values(modelOverrides))].filter((id) => !!id);
41
- const contextWindow = runtimeClient.getMinContextWindow(describeModelIds);
42
- const compressionOptions = resolveCompressionBudget(contextWindow, config.contextCompression);
43
- const compression = prepareDiffsForAgent(filesWithDiffs, compressionOptions);
44
- const compressionSummary = formatCompressionSummary(compression);
45
- if (compressionSummary) {
46
- console.log(chalk.yellow('⚠ Diff content trimmed to fit token budget.\n'));
47
- }
48
- const includeProjectContext = config.describe?.includeProjectContext ?? true;
49
- const projectContext = includeProjectContext ? loadGlobalContext() : null;
50
- const instructions = buildDescribeInstructions(label, compression.files, compressionSummary, projectContext ?? undefined);
51
- const promptContextWindow = describeModelId
52
- ? runtimeClient.getModelContextWindow?.(describeModelId)
53
- : contextWindow;
54
- const promptEstimate = estimatePromptBudget(instructions, {
55
- tokenEstimateDivisor: config.contextCompression?.tokenEstimateDivisor,
56
- contextWindow: promptContextWindow,
57
- });
58
- const modelText = describeModelId ? ` | model: ${describeModelId}` : '';
59
- console.log(chalk.gray(`${formatPromptBudgetEstimate('describe/pr-describer', promptEstimate)}${modelText}\n`));
60
- if (options.debug) {
61
- console.log(chalk.yellow('\n=== Agent Instructions ==='));
62
- console.log(instructions);
63
- console.log(chalk.yellow('=== End Instructions ===\n'));
64
- }
65
- try {
66
- console.log(chalk.dim('Running PR describer agent...\n'));
67
- // Run the describer agent
68
- const agentType = 'describe/pr-describer';
69
- const session = await runtimeClient.createSession({
70
- agent: agentType,
71
- message: instructions,
72
- });
73
- // Collect all assistant messages from the session
74
- let usageByAgent = createAgentUsageSummary(agentType);
75
- let fullResponse = '';
76
- for await (const message of runtimeClient.streamMessages(session.id)) {
77
- if (message.role === 'assistant') {
78
- usageByAgent = applyUsageMessage(usageByAgent, message);
79
- fullResponse += message.content;
80
- }
81
- }
82
- // Parse the JSON output from the agent
83
- let description;
84
- try {
85
- description = await parseDescribeOutput(process.cwd(), options.debug, fullResponse);
86
- }
87
- catch (parseError) {
88
- console.error(chalk.red('Failed to parse agent output as JSON'));
89
- console.log(chalk.dim('Agent output:'), fullResponse);
90
- const reason = parseError instanceof Error ? `: ${parseError.message}` : '';
91
- throw new Error(`Agent did not return valid JSON output${reason}`);
92
- }
93
- let normalizedDescription;
94
- try {
95
- normalizedDescription = normalizeDescription(description);
96
- }
97
- catch (validationError) {
98
- console.error(chalk.red('Agent output did not match expected description schema'));
99
- console.log(chalk.dim('Agent output:'), fullResponse);
100
- throw validationError;
101
- }
102
- const usageSummary = aggregateAgentUsage([
103
- {
104
- ...usageByAgent,
105
- success: true,
106
- },
107
- ]);
108
- // Display the description unless we're posting it to avoid noisy CI logs
109
- if (options.postDescription) {
110
- console.log(chalk.gray('Description generated (suppressed in logs because --post-description is enabled).'));
111
- }
112
- else {
113
- displayDescription(normalizedDescription, 'PR', usageSummary);
114
- }
115
- // Save to JSON file if requested
116
- if (options.outputPath) {
117
- const fs = await import('fs/promises');
118
- await fs.writeFile(options.outputPath, JSON.stringify(normalizedDescription, null, 2), 'utf-8');
119
- console.log(chalk.green(`\n✓ Description saved to ${options.outputPath}`));
120
- }
121
- // Output JSON if requested
122
- if (options.jsonOutput) {
123
- console.log('\n' + JSON.stringify(normalizedDescription, null, 2));
124
- }
125
- // Post description to PR if requested
126
- if (options.postDescription) {
127
- await postDescription(platformAdapter, projectId, options.prNumber, normalizedDescription, 'PR', usageSummary);
128
- }
129
- console.log(chalk.green('\n✓ PR description generated successfully\n'));
130
- }
131
- finally {
132
- await runtimeClient.shutdown();
133
- }
134
- }
135
- //# sourceMappingURL=describe-pr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"describe-pr.js","sourceRoot":"","sources":["../../src/cli/describe-pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAkB,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAY3F,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAiB,EAAE,OAA0B;IAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAEjE,2BAA2B;IAC3B,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAG,IAAI,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAErD,iBAAiB;IACjB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,gBAAgB,OAAO,CAAC,QAAQ,SAAS,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,CACvF,CAAC;IAEF,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC,CAAC;IAEhE,wCAAwC;IACxC,MAAM,KAAK,GAAG,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAgB,EAAE,EAAE,CAAC,CAAC;QACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC,CAAC;IAEJ,oDAAoD;IACpD,MAAM,cAAc,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,MAAM,2BAA2B,CAAC;QACtD,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE;QACxB,cAAc;QACd,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CACzE,CAAC,EAAE,EAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAC3B,CAAC;IACF,MAAM,aAAa,GAAG,aAAa,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IAC1E,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE9F,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAC7E,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAEjE,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,qBAAqB,GAAG,MAAM,CAAC,QAAQ,EAAE,qBAAqB,IAAI,IAAI,CAAC;IAC7E,MAAM,cAAc,GAAG,qBAAqB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,YAAY,GAAG,yBAAyB,CAC5C,KAAK,EACL,WAAW,CAAC,KAAK,EACjB,kBAAkB,EAClB,cAAc,IAAI,SAAS,CAC5B,CAAC;IAEF,MAAM,mBAAmB,GAAG,eAAe;QACzC,CAAC,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,eAAe,CAAC;QACxD,CAAC,CAAC,aAAa,CAAC;IAClB,MAAM,cAAc,GAAG,oBAAoB,CAAC,YAAY,EAAE;QACxD,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,oBAAoB;QACrE,aAAa,EAAE,mBAAmB;KACnC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,aAAa,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,GAAG,0BAA0B,CAAC,uBAAuB,EAAE,cAAc,CAAC,GAAG,SAAS,IAAI,CACvF,CACF,CAAC;IAEF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAE1D,0BAA0B;QAC1B,MAAM,SAAS,GAAG,uBAAuB,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,aAAa,CAAC;YAChD,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QAEH,kDAAkD;QAClD,IAAI,YAAY,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACrE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjC,YAAY,GAAG,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACxD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAClC,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,WAAW,CAAC;QAChB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,qBAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,eAAe,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC,CAAC;YACtD,MAAM,eAAe,CAAC;QACxB,CAAC;QAED,MAAM,YAAY,GAAG,mBAAmB,CAAC;YACvC;gBACE,GAAG,YAAY;gBACf,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QAEH,yEAAyE;QACzE,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,IAAI,CACR,mFAAmF,CACpF,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,qBAAqB,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,EAAE,CAAC,SAAS,CAChB,OAAO,CAAC,UAAU,EAClB,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,EAC9C,OAAO,CACR,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED,2BAA2B;QAC3B,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;QAED,sCAAsC;QACtC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,eAAe,CACnB,eAAe,EACf,SAAS,EACT,OAAO,CAAC,QAAQ,EAChB,qBAAqB,EACrB,IAAI,EACJ,YAAY,CACb,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;IAC1E,CAAC;YAAS,CAAC;QACT,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -1,20 +0,0 @@
1
- import type { DRSConfig } from '../lib/config.js';
2
- export interface PostCommentsOptions {
3
- config: DRSConfig;
4
- inputPath: string;
5
- owner?: string;
6
- repo?: string;
7
- prNumber?: number;
8
- projectId?: string;
9
- mrIid?: number;
10
- workingDir?: string;
11
- skipRepoCheck?: boolean;
12
- skipBranchCheck?: boolean;
13
- fixInCursor?: boolean;
14
- skipFixInCursor?: boolean;
15
- }
16
- /**
17
- * Post comments from a saved review JSON to GitHub or GitLab.
18
- */
19
- export declare function postCommentsFromJson(options: PostCommentsOptions): Promise<void>;
20
- //# sourceMappingURL=post-comments.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"post-comments.d.ts","sourceRoot":"","sources":["../../src/cli/post-comments.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAWlD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA0FD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0JtF"}
@@ -1,225 +0,0 @@
1
- import chalk from 'chalk';
2
- import { readFile } from 'fs/promises';
3
- import { resolve } from 'path';
4
- import { resolveCursorFixLinkOptions } from '../lib/cursor-fix-link.js';
5
- import { createGitHubClient } from '../github/client.js';
6
- import { GitHubPlatformAdapter } from '../github/platform-adapter.js';
7
- import { createGitLabClient } from '../gitlab/client.js';
8
- import { GitLabPlatformAdapter } from '../gitlab/platform-adapter.js';
9
- import { enforceRepoBranchMatch, postReviewComments } from '../lib/unified-review-executor.js';
10
- function parseReviewJson(raw, inputPath) {
11
- let parsed;
12
- try {
13
- parsed = JSON.parse(raw);
14
- }
15
- catch (error) {
16
- throw new Error(`Failed to parse JSON from ${inputPath}: ${error instanceof Error ? error.message : String(error)}`);
17
- }
18
- if (!parsed || typeof parsed !== 'object') {
19
- throw new Error(`Invalid review JSON in ${inputPath}: expected an object`);
20
- }
21
- const obj = parsed;
22
- if (!obj.summary || typeof obj.summary !== 'object') {
23
- throw new Error(`Invalid review JSON in ${inputPath}: missing summary`);
24
- }
25
- if (!Array.isArray(obj.issues)) {
26
- throw new Error(`Invalid review JSON in ${inputPath}: issues must be an array`);
27
- }
28
- return obj;
29
- }
30
- function parseNumber(value, label) {
31
- if (typeof value === 'number' && Number.isFinite(value))
32
- return value;
33
- if (typeof value === 'string') {
34
- const parsed = parseInt(value, 10);
35
- if (Number.isFinite(parsed))
36
- return parsed;
37
- }
38
- throw new Error(`${label} is required`);
39
- }
40
- function resolveGitHubTarget(options, reviewJson) {
41
- let owner = options.owner;
42
- let repo = options.repo;
43
- const projectFromMetadata = reviewJson.metadata?.project;
44
- if ((!owner || !repo) && projectFromMetadata && projectFromMetadata.includes('/')) {
45
- const [metaOwner, metaRepo] = projectFromMetadata.split('/');
46
- if (!owner)
47
- owner = metaOwner;
48
- if (!repo)
49
- repo = metaRepo;
50
- }
51
- if (!owner || !repo) {
52
- throw new Error('GitHub requires --owner and --repo (or a review JSON with metadata.project)');
53
- }
54
- const prNumber = parseNumber(options.prNumber ?? reviewJson.metadata?.source, 'PR number (--pr)');
55
- const projectId = `${owner}/${repo}`;
56
- if (projectFromMetadata && projectFromMetadata !== projectId) {
57
- throw new Error(`Review JSON project (${projectFromMetadata}) does not match provided project (${projectId})`);
58
- }
59
- return { owner, repo, prNumber, projectId };
60
- }
61
- function resolveGitLabTarget(options, reviewJson) {
62
- const projectId = options.projectId ?? reviewJson.metadata?.project;
63
- if (!projectId) {
64
- throw new Error('GitLab requires --project (or a review JSON with metadata.project)');
65
- }
66
- const mrIid = parseNumber(options.mrIid ?? reviewJson.metadata?.source, 'MR IID (--mr)');
67
- return { projectId, mrIid };
68
- }
69
- /**
70
- * Post comments from a saved review JSON to GitHub or GitLab.
71
- */
72
- export async function postCommentsFromJson(options) {
73
- const workingDir = options.workingDir ?? process.cwd();
74
- const inputPath = resolve(workingDir, options.inputPath);
75
- const raw = await readFile(inputPath, 'utf-8');
76
- const reviewJson = parseReviewJson(raw, inputPath);
77
- const isGitHub = Boolean(options.owner ?? options.repo ?? options.prNumber);
78
- const isGitLab = Boolean(options.projectId ?? options.mrIid);
79
- if (isGitHub && isGitLab) {
80
- throw new Error('Specify either GitHub options (--owner/--repo/--pr) or GitLab options (--project/--mr), not both.');
81
- }
82
- if (!isGitHub && !isGitLab) {
83
- throw new Error('Specify GitHub options (--owner/--repo/--pr) or GitLab options (--project/--mr) to post comments.');
84
- }
85
- if (reviewJson.issues.length === 0) {
86
- console.log(chalk.yellow('✓ No issues in review JSON - only summary will be posted\n'));
87
- }
88
- if (isGitHub) {
89
- const { owner, repo, prNumber, projectId } = resolveGitHubTarget(options, reviewJson);
90
- const cursorFixLinks = resolveCursorFixLinkOptions(options.config, projectId, workingDir, options.fixInCursor, options.skipFixInCursor);
91
- const githubClient = createGitHubClient();
92
- const platformClient = new GitHubPlatformAdapter(githubClient);
93
- const pr = await platformClient.getPullRequest(projectId, prNumber);
94
- if (!options.skipRepoCheck || !options.skipBranchCheck) {
95
- await enforceRepoBranchMatch(workingDir, projectId, pr, {
96
- skipRepoCheck: options.skipRepoCheck,
97
- skipBranchCheck: options.skipBranchCheck,
98
- });
99
- }
100
- const files = await githubClient.getPRFiles(owner, repo, prNumber);
101
- const validLinesMap = new Map();
102
- for (const file of files) {
103
- if (file.patch && file.status !== 'removed') {
104
- const validLines = parseValidLinesFromPatch(file.patch);
105
- validLinesMap.set(file.filename, validLines);
106
- }
107
- }
108
- const lineValidator = {
109
- isValidLine(file, line) {
110
- const validLines = validLinesMap.get(file);
111
- return validLines !== undefined && validLines.has(line);
112
- },
113
- };
114
- const createInlinePosition = (issue, platformData) => {
115
- const data = platformData;
116
- return {
117
- path: issue.file,
118
- line: issue.line,
119
- commitSha: data.head.sha,
120
- };
121
- };
122
- await postReviewComments(platformClient, projectId, prNumber, reviewJson.summary, reviewJson.issues, undefined, reviewJson.usage, pr.platformData, lineValidator, createInlinePosition, cursorFixLinks);
123
- return;
124
- }
125
- const { projectId, mrIid } = resolveGitLabTarget(options, reviewJson);
126
- const cursorFixLinks = resolveCursorFixLinkOptions(options.config, projectId, workingDir, options.fixInCursor, options.skipFixInCursor);
127
- const gitlabClient = createGitLabClient();
128
- const platformClient = new GitLabPlatformAdapter(gitlabClient);
129
- const pr = await platformClient.getPullRequest(projectId, mrIid);
130
- if (!options.skipRepoCheck || !options.skipBranchCheck) {
131
- await enforceRepoBranchMatch(workingDir, projectId, pr, {
132
- skipRepoCheck: options.skipRepoCheck,
133
- skipBranchCheck: options.skipBranchCheck,
134
- });
135
- }
136
- const changes = await gitlabClient.getMRChanges(projectId, mrIid);
137
- const validLinesMap = new Map();
138
- for (const change of changes) {
139
- if (change.diff && !change.deletedFile) {
140
- const validLines = parseValidLinesFromDiff(change.diff);
141
- validLinesMap.set(change.newPath, validLines);
142
- }
143
- }
144
- const lineValidator = {
145
- isValidLine(file, line) {
146
- const validLines = validLinesMap.get(file);
147
- return validLines !== undefined && validLines.has(line);
148
- },
149
- };
150
- const createInlinePosition = (issue, platformData) => {
151
- const data = platformData;
152
- const refs = data.diff_refs;
153
- return {
154
- path: issue.file,
155
- line: issue.line,
156
- baseSha: refs.base_sha,
157
- headSha: refs.head_sha,
158
- startSha: refs.start_sha,
159
- };
160
- };
161
- await postReviewComments(platformClient, projectId, mrIid, reviewJson.summary, reviewJson.issues, undefined, reviewJson.usage, pr.platformData, lineValidator, createInlinePosition, cursorFixLinks);
162
- }
163
- /**
164
- * Parse a GitHub diff patch to extract valid line numbers for review comments
165
- * GitHub only allows comments on lines that are in the diff (added, removed, or context)
166
- */
167
- function parseValidLinesFromPatch(patch) {
168
- const validLines = new Set();
169
- const lines = patch.split('\n');
170
- let currentLine = 0;
171
- for (const line of lines) {
172
- const hunkMatch = line.match(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/);
173
- if (hunkMatch) {
174
- currentLine = parseInt(hunkMatch[1], 10);
175
- continue;
176
- }
177
- if (!line || line.length === 0)
178
- continue;
179
- const prefix = line[0];
180
- if (prefix === '+') {
181
- validLines.add(currentLine);
182
- currentLine++;
183
- }
184
- else if (prefix === ' ') {
185
- validLines.add(currentLine);
186
- currentLine++;
187
- }
188
- else if (prefix === '-') {
189
- continue;
190
- }
191
- }
192
- return validLines;
193
- }
194
- /**
195
- * Parse a GitLab diff to extract valid line numbers for review comments
196
- * GitLab only allows comments on lines that are in the diff (added or context)
197
- */
198
- function parseValidLinesFromDiff(diff) {
199
- const validLines = new Set();
200
- const lines = diff.split('\n');
201
- let currentLine = 0;
202
- for (const line of lines) {
203
- const hunkMatch = line.match(/^@@ -\d+(?:,\d+)? \+(\d+)(?:,\d+)? @@/);
204
- if (hunkMatch) {
205
- currentLine = parseInt(hunkMatch[1], 10);
206
- continue;
207
- }
208
- if (!line || line.length === 0)
209
- continue;
210
- const prefix = line[0];
211
- if (prefix === '+') {
212
- validLines.add(currentLine);
213
- currentLine++;
214
- }
215
- else if (prefix === ' ') {
216
- validLines.add(currentLine);
217
- currentLine++;
218
- }
219
- else if (prefix === '-') {
220
- continue;
221
- }
222
- }
223
- return validLines;
224
- }
225
- //# sourceMappingURL=post-comments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"post-comments.js","sourceRoot":"","sources":["../../src/cli/post-comments.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { DRSConfig } from '../lib/config.js';
2
- export interface ReviewLocalOptions {
3
- staged: boolean;
4
- outputPath?: string;
5
- jsonOutput?: boolean;
6
- debug?: boolean;
7
- thinkingLevel?: string;
8
- }
9
- /**
10
- * Review local git diff before pushing
11
- */
12
- export declare function reviewLocal(config: DRSConfig, options: ReviewLocalOptions): Promise<void>;
13
- //# sourceMappingURL=review-local.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-local.d.ts","sourceRoot":"","sources":["../../src/cli/review-local.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAYlD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkG/F"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=review-local.integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"review-local.integration.test.d.ts","sourceRoot":"","sources":["../../src/cli/review-local.integration.test.ts"],"names":[],"mappings":""}