@motivation-labs/crosscheck 0.4.0 → 0.4.1-beta.1216e4e.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -9
- package/crosscheck.config.example.yml +98 -5
- package/dist/__tests__/backtrace.test.d.ts +2 -0
- package/dist/__tests__/backtrace.test.d.ts.map +1 -0
- package/dist/__tests__/backtrace.test.js +158 -0
- package/dist/__tests__/backtrace.test.js.map +1 -0
- package/dist/__tests__/loader.test.d.ts +2 -0
- package/dist/__tests__/loader.test.d.ts.map +1 -0
- package/dist/__tests__/loader.test.js +131 -0
- package/dist/__tests__/loader.test.js.map +1 -0
- package/dist/__tests__/optimize.test.js +16 -3
- package/dist/__tests__/optimize.test.js.map +1 -1
- package/dist/ck.d.ts +3 -0
- package/dist/ck.d.ts.map +1 -0
- package/dist/ck.js +8 -0
- package/dist/ck.js.map +1 -0
- package/dist/cli.js +12 -4
- package/dist/cli.js.map +1 -1
- package/dist/commands/diagnose.d.ts +1 -0
- package/dist/commands/diagnose.d.ts.map +1 -1
- package/dist/commands/diagnose.js +14 -0
- package/dist/commands/diagnose.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +63 -29
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +12 -6
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/serve.d.ts +7 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +152 -34
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +1 -0
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/watch.d.ts +7 -1
- package/dist/commands/watch.d.ts.map +1 -1
- package/dist/commands/watch.js +348 -135
- package/dist/commands/watch.js.map +1 -1
- package/dist/config/loader.d.ts +10 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +196 -0
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +461 -35
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +72 -5
- package/dist/config/schema.js.map +1 -1
- package/dist/github/client.d.ts +26 -0
- package/dist/github/client.d.ts.map +1 -1
- package/dist/github/client.js +159 -2
- package/dist/github/client.js.map +1 -1
- package/dist/github/detector.d.ts +9 -2
- package/dist/github/detector.d.ts.map +1 -1
- package/dist/github/detector.js +86 -10
- package/dist/github/detector.js.map +1 -1
- package/dist/lib/backtrace.d.ts +20 -0
- package/dist/lib/backtrace.d.ts.map +1 -0
- package/dist/lib/backtrace.js +75 -0
- package/dist/lib/backtrace.js.map +1 -0
- package/dist/lib/board.d.ts +54 -0
- package/dist/lib/board.d.ts.map +1 -0
- package/dist/lib/board.js +406 -0
- package/dist/lib/board.js.map +1 -0
- package/dist/lib/runner.d.ts +10 -1
- package/dist/lib/runner.d.ts.map +1 -1
- package/dist/lib/runner.js +129 -51
- package/dist/lib/runner.js.map +1 -1
- package/dist/lib/verdict.d.ts +1 -0
- package/dist/lib/verdict.d.ts.map +1 -1
- package/dist/lib/verdict.js +27 -7
- package/dist/lib/verdict.js.map +1 -1
- package/dist/lib/workflow.d.ts +14 -14
- package/dist/lib/workflow.d.ts.map +1 -1
- package/dist/lib/workflow.js +22 -5
- package/dist/lib/workflow.js.map +1 -1
- package/dist/reviewers/claude.d.ts +1 -1
- package/dist/reviewers/claude.d.ts.map +1 -1
- package/dist/reviewers/claude.js +4 -6
- package/dist/reviewers/claude.js.map +1 -1
- package/dist/reviewers/codex.d.ts +2 -2
- package/dist/reviewers/codex.d.ts.map +1 -1
- package/dist/reviewers/codex.js +6 -6
- package/dist/reviewers/codex.js.map +1 -1
- package/dist/reviewers/fix.d.ts +5 -0
- package/dist/reviewers/fix.d.ts.map +1 -0
- package/dist/reviewers/fix.js +87 -0
- package/dist/reviewers/fix.js.map +1 -0
- package/get-started.md +202 -23
- package/get-started.zh.md +2 -3
- package/package.json +4 -3
package/dist/lib/runner.js
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { execSync } from 'child_process';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
-
import ora from 'ora';
|
|
4
3
|
import { runCodexReview } from '../reviewers/codex.js';
|
|
5
4
|
import { runClaudeReview } from '../reviewers/claude.js';
|
|
6
|
-
import {
|
|
7
|
-
import { parseVerdict,
|
|
5
|
+
import { runFixStep } from '../reviewers/fix.js';
|
|
6
|
+
import { parseVerdict, prependVerdictToComment, NULL_VERDICT_WARNING } from '../lib/verdict.js';
|
|
8
7
|
import { createGithubClient, postReviewComment } from '../github/client.js';
|
|
9
8
|
import { log as fileLog, logError } from '../lib/logger.js';
|
|
10
9
|
import { loadWorkflow, evaluateWhen } from '../lib/workflow.js';
|
|
11
10
|
const MAX_CROSSCHECK_COMMITS = 5;
|
|
11
|
+
function countComments(reviewText) {
|
|
12
|
+
const bullets = (reviewText.match(/^[-*•]\s/gm) ?? []).length;
|
|
13
|
+
const numbered = (reviewText.match(/^\d+\.\s/gm) ?? []).length;
|
|
14
|
+
return bullets + numbered;
|
|
15
|
+
}
|
|
12
16
|
function resolveReviewer(reviewer, origin, config) {
|
|
13
17
|
if (reviewer === 'origin') {
|
|
14
18
|
if (origin === 'claude' && config.vendors.claude.enabled)
|
|
@@ -35,70 +39,94 @@ function resolveReviewer(reviewer, origin, config) {
|
|
|
35
39
|
return null;
|
|
36
40
|
}
|
|
37
41
|
export async function runWorkflow(ctx) {
|
|
38
|
-
const { owner, repoName, prNumber, pr, tmpDir, token, config, origin, log } = ctx;
|
|
42
|
+
const { owner, repoName, prNumber, pr, tmpDir, token, config, origin, log, onPhaseChange } = ctx;
|
|
39
43
|
const steps = loadWorkflow(process.cwd());
|
|
40
44
|
const results = {};
|
|
41
|
-
const spinner = ora({ indent: 2 });
|
|
42
45
|
for (const step of steps) {
|
|
43
46
|
// Evaluate when condition — skip step if false
|
|
44
47
|
if (step.when && !evaluateWhen(step.when, results)) {
|
|
45
|
-
|
|
48
|
+
fileLog({ level: 'info', event: 'step_skipped', repo: `${owner}/${repoName}`, pr: prNumber, step: step.name, reason: 'when_condition' });
|
|
46
49
|
results[step.name] = { skipped: true };
|
|
47
50
|
continue;
|
|
48
51
|
}
|
|
49
52
|
if (step.type === 'review' || step.type === 'recheck') {
|
|
50
53
|
const reviewer = resolveReviewer(step.reviewer, origin, config);
|
|
51
54
|
if (!reviewer) {
|
|
52
|
-
|
|
55
|
+
fileLog({ level: 'info', event: 'step_skipped', repo: `${owner}/${repoName}`, pr: prNumber, step: step.name, reason: 'no_reviewer' });
|
|
53
56
|
results[step.name] = { skipped: true };
|
|
54
57
|
continue;
|
|
55
58
|
}
|
|
56
59
|
fileLog({ level: 'info', event: 'review_started', repo: `${owner}/${repoName}`, pr: prNumber, reviewer });
|
|
57
|
-
|
|
58
|
-
const timer = setInterval(() => { elapsed++; spinner.text = `${reviewer} reviewing... (${elapsed}s)`; }, 1000);
|
|
59
|
-
spinner.start(`${reviewer} reviewing...`);
|
|
60
|
+
onPhaseChange(`${reviewer} reviewing...`);
|
|
60
61
|
let rawReview;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
rawReview = await runCodexReview(tmpDir, pr.base.ref, pr.title, config.quality, config.vendors.codex.model, config.vendors.codex.auth);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
rawReview = await runClaudeReview(tmpDir, pr.base.ref, pr.title, config.quality, config.vendors.claude, config.budget.per_review_usd);
|
|
67
|
-
}
|
|
62
|
+
if (reviewer === 'codex') {
|
|
63
|
+
rawReview = await runCodexReview(tmpDir, pr.base.ref, pr.title, config.quality, config.vendors.codex, step.instructions);
|
|
68
64
|
}
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
else {
|
|
66
|
+
rawReview = await runClaudeReview(tmpDir, pr.base.ref, pr.title, config.quality, config.vendors.claude, config.budget.per_review_usd, step.instructions);
|
|
71
67
|
}
|
|
72
68
|
const { verdict, clean } = parseVerdict(rawReview);
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
if (verdict === null) {
|
|
70
|
+
fileLog({ level: 'warn', event: 'verdict_parse_failed', repo: `${owner}/${repoName}`, pr: prNumber, reviewer, output_length: rawReview.length });
|
|
71
|
+
}
|
|
72
|
+
const commentBody = verdict === null
|
|
73
|
+
? `${NULL_VERDICT_WARNING}\n\n${clean}`
|
|
74
|
+
: prependVerdictToComment(clean, verdict);
|
|
75
|
+
const commentCount = countComments(rawReview);
|
|
75
76
|
fileLog({ level: 'info', event: 'review_complete', repo: `${owner}/${repoName}`, pr: prNumber, reviewer, verdict, duration_ms: Date.now() - ctx.reviewStart });
|
|
76
|
-
|
|
77
|
+
onPhaseChange('posting comment...', { verdict: verdict ?? undefined, commentCount });
|
|
77
78
|
const octokit = createGithubClient(token);
|
|
78
79
|
await postReviewComment(octokit, owner, repoName, prNumber, commentBody, reviewer);
|
|
79
80
|
const commentUrl = `github.com/${owner}/${repoName}/pull/${prNumber}`;
|
|
80
|
-
spinner.succeed(`posted → ${commentUrl}`);
|
|
81
81
|
fileLog({ level: 'info', event: 'comment_posted', repo: `${owner}/${repoName}`, pr: prNumber, url: `https://${commentUrl}` });
|
|
82
|
-
log(formatVerdict(verdict));
|
|
83
82
|
results[step.name] = { verdict, commentBody, commentUrl };
|
|
84
83
|
}
|
|
85
|
-
else if (step.type === '
|
|
84
|
+
else if (step.type === 'fix') {
|
|
85
|
+
// Respect post_review.auto_fix config
|
|
86
|
+
const autoFix = config.post_review.auto_fix;
|
|
87
|
+
if (!autoFix.enabled || autoFix.trigger === 'never') {
|
|
88
|
+
fileLog({ level: 'info', event: 'step_skipped', repo: `${owner}/${repoName}`, pr: prNumber, step: step.name, reason: 'auto_fix_disabled' });
|
|
89
|
+
results[step.name] = { skipped: true };
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
86
92
|
// Find the most recent review result that has a comment body
|
|
87
93
|
const reviewResult = Object.values(results).reverse().find(r => r.commentBody);
|
|
88
94
|
if (!reviewResult?.commentBody) {
|
|
89
|
-
|
|
95
|
+
fileLog({ level: 'info', event: 'step_skipped', repo: `${owner}/${repoName}`, pr: prNumber, step: step.name, reason: 'no_review_comment' });
|
|
90
96
|
results[step.name] = { skipped: true };
|
|
91
97
|
continue;
|
|
92
98
|
}
|
|
93
|
-
|
|
99
|
+
// min_severity gate: BLOCK=error, NEEDS_WORK=warning, APPROVE=info
|
|
100
|
+
if (autoFix.trigger === 'on_issues') {
|
|
101
|
+
const verdictRank = { BLOCK: 2, NEEDS_WORK: 1, APPROVE: 0 };
|
|
102
|
+
const severityRank = { error: 2, warning: 1, info: 0 };
|
|
103
|
+
const minRank = severityRank[autoFix.min_severity] ?? 1;
|
|
104
|
+
const actualRank = verdictRank[reviewResult.verdict ?? ''] ?? 0;
|
|
105
|
+
if (actualRank < minRank) {
|
|
106
|
+
fileLog({ level: 'info', event: 'step_skipped', repo: `${owner}/${repoName}`, pr: prNumber, step: step.name, reason: 'below_min_severity', verdict: reviewResult.verdict });
|
|
107
|
+
results[step.name] = { skipped: true };
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// Derive vendor from autoFix.fixer, not from the workflow step's reviewer field
|
|
112
|
+
let vendor;
|
|
113
|
+
if (autoFix.fixer === 'same-as-author') {
|
|
114
|
+
vendor = resolveReviewer('origin', origin, config);
|
|
115
|
+
}
|
|
116
|
+
else if (autoFix.fixer === 'same-as-reviewer') {
|
|
117
|
+
vendor = resolveReviewer('auto', origin, config);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
vendor = resolveReviewer(autoFix.fixer, origin, config);
|
|
121
|
+
}
|
|
94
122
|
if (!vendor) {
|
|
95
|
-
|
|
123
|
+
fileLog({ level: 'info', event: 'step_skipped', repo: `${owner}/${repoName}`, pr: prNumber, step: step.name, reason: 'no_vendor' });
|
|
96
124
|
results[step.name] = { skipped: true };
|
|
97
125
|
continue;
|
|
98
126
|
}
|
|
99
|
-
// Codex
|
|
127
|
+
// Codex fix not yet implemented — skip gracefully
|
|
100
128
|
if (vendor === 'codex') {
|
|
101
|
-
|
|
129
|
+
fileLog({ level: 'info', event: 'step_skipped', repo: `${owner}/${repoName}`, pr: prNumber, step: step.name, reason: 'codex_fix_unsupported' });
|
|
102
130
|
results[step.name] = { skipped: true };
|
|
103
131
|
continue;
|
|
104
132
|
}
|
|
@@ -110,48 +138,98 @@ export async function runWorkflow(ctx) {
|
|
|
110
138
|
}
|
|
111
139
|
catch { /* ignore */ }
|
|
112
140
|
if (existingCount >= MAX_CROSSCHECK_COMMITS) {
|
|
113
|
-
log(chalk.yellow(
|
|
141
|
+
log(chalk.yellow(`⚠ PR #${prNumber}: ${MAX_CROSSCHECK_COMMITS} [crosscheck] commits already — stopping auto-fix`));
|
|
114
142
|
results[step.name] = { skipped: true };
|
|
115
143
|
continue;
|
|
116
144
|
}
|
|
117
|
-
|
|
145
|
+
onPhaseChange(`${vendor} fixing...`);
|
|
118
146
|
let appliedCount = 0;
|
|
119
147
|
try {
|
|
120
148
|
;
|
|
121
|
-
({ appliedCount } = await
|
|
149
|
+
({ appliedCount } = await runFixStep(tmpDir, pr.base.ref, pr.title, reviewResult.commentBody, step.instructions ?? '', config));
|
|
122
150
|
}
|
|
123
151
|
catch (err) {
|
|
124
|
-
|
|
125
|
-
logError({ repo: `${owner}/${repoName}`, pr: prNumber, phase: 'address' }, err);
|
|
152
|
+
logError({ repo: `${owner}/${repoName}`, pr: prNumber, phase: 'fix' }, err);
|
|
126
153
|
results[step.name] = { skipped: true };
|
|
127
154
|
continue;
|
|
128
155
|
}
|
|
129
156
|
if (appliedCount === 0) {
|
|
130
|
-
spinner.succeed('nothing to address');
|
|
131
157
|
results[step.name] = { applied_count: 0 };
|
|
132
158
|
continue;
|
|
133
159
|
}
|
|
134
|
-
// Fork PRs: origin in the clone is the base repo, not the fork.
|
|
135
|
-
// Pushing to origin:head.ref would create/update a branch in the base repo instead.
|
|
136
160
|
const isFork = pr.head.repo?.full_name !== pr.base.repo.full_name;
|
|
137
161
|
if (isFork) {
|
|
138
|
-
|
|
162
|
+
fileLog({ level: 'info', event: 'step_skipped', repo: `${owner}/${repoName}`, pr: prNumber, step: step.name, reason: 'fork_pr' });
|
|
139
163
|
results[step.name] = { skipped: true };
|
|
140
164
|
continue;
|
|
141
165
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
166
|
+
const deliveryMode = autoFix.delivery.mode;
|
|
167
|
+
if (deliveryMode === 'commit') {
|
|
168
|
+
execSync('git add -A', { cwd: tmpDir });
|
|
169
|
+
execSync(`git commit -m "[crosscheck] fix: apply ${appliedCount} fix${appliedCount !== 1 ? 'es' : ''} from code review — by Claude Code"`, { cwd: tmpDir });
|
|
170
|
+
const newSha = execSync('git rev-parse HEAD', { cwd: tmpDir, encoding: 'utf8' }).trim();
|
|
171
|
+
execSync(`git push origin HEAD:${pr.head.ref}`, {
|
|
172
|
+
cwd: tmpDir,
|
|
173
|
+
env: { ...process.env, GITHUB_TOKEN: token, GH_TOKEN: token },
|
|
174
|
+
});
|
|
175
|
+
ctx.crosscheckShas.add(newSha);
|
|
176
|
+
onPhaseChange('fixed ✓', { fixCount: appliedCount });
|
|
177
|
+
fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, applied_count: appliedCount, sha: newSha, delivery: 'commit' });
|
|
178
|
+
results[step.name] = { applied_count: appliedCount };
|
|
179
|
+
}
|
|
180
|
+
else if (deliveryMode === 'pull_request') {
|
|
181
|
+
// Create a fix branch and open a PR targeting the original branch
|
|
182
|
+
const fixBranch = `fix/cr-${prNumber}-review-issues`;
|
|
183
|
+
execSync(`git checkout -b ${fixBranch}`, { cwd: tmpDir });
|
|
184
|
+
execSync('git add -A', { cwd: tmpDir });
|
|
185
|
+
execSync(`git commit -m "[crosscheck] fix: apply CR fixes from review of PR #${prNumber} — by Claude Code"`, { cwd: tmpDir });
|
|
186
|
+
const newSha = execSync('git rev-parse HEAD', { cwd: tmpDir, encoding: 'utf8' }).trim();
|
|
187
|
+
execSync(`git push origin HEAD:${fixBranch}`, {
|
|
188
|
+
cwd: tmpDir,
|
|
189
|
+
env: { ...process.env, GITHUB_TOKEN: token, GH_TOKEN: token },
|
|
190
|
+
});
|
|
191
|
+
ctx.crosscheckShas.add(newSha);
|
|
192
|
+
const octokit = createGithubClient(token);
|
|
193
|
+
const fixPrTitle = autoFix.delivery.pr_title.replace('#{original_pr_title}', pr.title);
|
|
194
|
+
const { data: fixPr } = await octokit.rest.pulls.create({
|
|
195
|
+
owner,
|
|
196
|
+
repo: repoName,
|
|
197
|
+
head: fixBranch,
|
|
198
|
+
base: pr.head.ref,
|
|
199
|
+
title: fixPrTitle,
|
|
200
|
+
body: `Auto-fix by crosscheck for CR issues found in #${prNumber}.\n\nReview: https://github.com/${owner}/${repoName}/pull/${prNumber}`,
|
|
201
|
+
});
|
|
202
|
+
if (autoFix.delivery.label) {
|
|
203
|
+
try {
|
|
204
|
+
await octokit.rest.issues.addLabels({
|
|
205
|
+
owner, repo: repoName, issue_number: fixPr.number, labels: [autoFix.delivery.label],
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
catch { /* label may not exist in this repo — skip */ }
|
|
209
|
+
}
|
|
210
|
+
onPhaseChange('fixed ✓', { fixCount: appliedCount });
|
|
211
|
+
fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, applied_count: appliedCount, sha: newSha, delivery: 'pull_request', fix_pr: fixPr.number });
|
|
212
|
+
results[step.name] = { applied_count: appliedCount };
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
// comment: post the diff as a suggested-fix comment, no code push needed (works for fork PRs too)
|
|
216
|
+
let patch = '';
|
|
217
|
+
try {
|
|
218
|
+
patch = execSync('git diff', { cwd: tmpDir, encoding: 'utf8' });
|
|
219
|
+
}
|
|
220
|
+
catch { /* ignore */ }
|
|
221
|
+
if (patch) {
|
|
222
|
+
const octokit = createGithubClient(token);
|
|
223
|
+
const body = `### Suggested fixes (crosscheck auto-fix)\n\n\`\`\`diff\n${patch.slice(0, 16000)}\n\`\`\``;
|
|
224
|
+
await octokit.rest.issues.createComment({ owner, repo: repoName, issue_number: prNumber, body });
|
|
225
|
+
}
|
|
226
|
+
onPhaseChange('fixed ✓', { fixCount: appliedCount });
|
|
227
|
+
fileLog({ level: 'info', event: 'fix_complete', repo: `${owner}/${repoName}`, pr: prNumber, applied_count: appliedCount, delivery: 'comment' });
|
|
228
|
+
results[step.name] = { applied_count: appliedCount };
|
|
229
|
+
}
|
|
154
230
|
}
|
|
155
231
|
}
|
|
232
|
+
const verdict = Object.values(results).reverse().find(r => r.verdict !== undefined)?.verdict ?? null;
|
|
233
|
+
return { verdict: verdict ?? null };
|
|
156
234
|
}
|
|
157
235
|
//# sourceMappingURL=runner.js.map
|
package/dist/lib/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/verdict.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare function parseVerdict(text: string): {
|
|
|
3
3
|
verdict: Verdict | null;
|
|
4
4
|
clean: string;
|
|
5
5
|
};
|
|
6
|
+
export declare const NULL_VERDICT_WARNING = "> \u26A0\uFE0F crosscheck could not extract a verdict from this review.";
|
|
6
7
|
export declare function formatVerdict(verdict: Verdict | null): string;
|
|
7
8
|
export declare function prependVerdictToComment(text: string, verdict: Verdict | null): string;
|
|
8
9
|
//# sourceMappingURL=verdict.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/lib/verdict.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"verdict.d.ts","sourceRoot":"","sources":["../../src/lib/verdict.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAA;AAYxD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAqBrF;AAED,eAAO,MAAM,oBAAoB,4EACgC,CAAA;AAEjE,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAM7D;AAGD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAOrF"}
|
package/dist/lib/verdict.js
CHANGED
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
|
|
2
|
+
// Primary: strict line match; handles NEEDS_WORK spelling and markdown bold wrappers.
|
|
3
|
+
// Closing ** after the colon covers **VERDICT:** BLOCK (bold label, plain value).
|
|
4
|
+
const PRIMARY_RE = /^(?:\*{1,2})?VERDICT:(?:\*{1,2})?\s*(APPROVE|NEEDS[_ ]WORK|BLOCK)(?:\*{1,2})?\s*$/im;
|
|
5
|
+
// Fallback: VERDICT: token anywhere in the text (e.g. inline prose, blockquote)
|
|
6
|
+
const FALLBACK_RE = /VERDICT:\s*(APPROVE|NEEDS[_ ]WORK|BLOCK)/gi;
|
|
7
|
+
function normalizeVerdict(raw) {
|
|
8
|
+
return raw.toUpperCase().replace('_', ' ');
|
|
9
|
+
}
|
|
3
10
|
export function parseVerdict(text) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
11
|
+
// Primary: look for a clean VERDICT: line (last match wins in case of duplicates)
|
|
12
|
+
const primaryMatches = [...text.matchAll(new RegExp(PRIMARY_RE.source, 'gim'))];
|
|
13
|
+
if (primaryMatches.length > 0) {
|
|
14
|
+
const last = primaryMatches[primaryMatches.length - 1];
|
|
15
|
+
const verdict = normalizeVerdict(last[1]);
|
|
16
|
+
const clean = text.replace(new RegExp(PRIMARY_RE.source, 'gim'), '').replace(/\n{3,}/g, '\n\n').trim();
|
|
17
|
+
return { verdict, clean };
|
|
18
|
+
}
|
|
19
|
+
// Fallback: VERDICT: anywhere — last occurrence wins
|
|
20
|
+
const fallbackMatches = [...text.matchAll(FALLBACK_RE)];
|
|
21
|
+
if (fallbackMatches.length > 0) {
|
|
22
|
+
const last = fallbackMatches[fallbackMatches.length - 1];
|
|
23
|
+
const verdict = normalizeVerdict(last[1]);
|
|
24
|
+
const idx = last.index ?? 0;
|
|
25
|
+
const rawClean = text.slice(0, idx) + text.slice(idx + last[0].length);
|
|
26
|
+
return { verdict, clean: rawClean.replace(/\n{3,}/g, '\n\n').trim() };
|
|
27
|
+
}
|
|
28
|
+
return { verdict: null, clean: text };
|
|
10
29
|
}
|
|
30
|
+
export const NULL_VERDICT_WARNING = '> ⚠️ crosscheck could not extract a verdict from this review.';
|
|
11
31
|
export function formatVerdict(verdict) {
|
|
12
32
|
if (!verdict)
|
|
13
33
|
return chalk.dim('verdict —');
|
package/dist/lib/verdict.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/lib/verdict.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"verdict.js","sourceRoot":"","sources":["../../src/lib/verdict.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/workflow.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const WorkflowStepSchema: z.ZodObject<{
|
|
3
3
|
name: z.ZodString;
|
|
4
|
-
type: z.
|
|
4
|
+
type: z.ZodType<"review" | "fix" | "recheck">;
|
|
5
5
|
reviewer: z.ZodDefault<z.ZodEnum<["auto", "claude", "codex", "origin"]>>;
|
|
6
6
|
when: z.ZodOptional<z.ZodString>;
|
|
7
7
|
max_rounds: z.ZodDefault<z.ZodNumber>;
|
|
8
8
|
instructions: z.ZodOptional<z.ZodString>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
type: "review" | "
|
|
10
|
+
type: "review" | "fix" | "recheck";
|
|
11
11
|
name: string;
|
|
12
|
-
reviewer: "
|
|
12
|
+
reviewer: "claude" | "codex" | "auto" | "origin";
|
|
13
13
|
max_rounds: number;
|
|
14
14
|
when?: string | undefined;
|
|
15
15
|
instructions?: string | undefined;
|
|
16
16
|
}, {
|
|
17
|
-
type: "review" | "
|
|
17
|
+
type: "review" | "fix" | "recheck";
|
|
18
18
|
name: string;
|
|
19
|
-
reviewer?: "
|
|
19
|
+
reviewer?: "claude" | "codex" | "auto" | "origin" | undefined;
|
|
20
20
|
when?: string | undefined;
|
|
21
21
|
max_rounds?: number | undefined;
|
|
22
22
|
instructions?: string | undefined;
|
|
@@ -25,22 +25,22 @@ export declare const WorkflowSchema: z.ZodObject<{
|
|
|
25
25
|
on: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
26
26
|
steps: z.ZodArray<z.ZodObject<{
|
|
27
27
|
name: z.ZodString;
|
|
28
|
-
type: z.
|
|
28
|
+
type: z.ZodType<"review" | "fix" | "recheck">;
|
|
29
29
|
reviewer: z.ZodDefault<z.ZodEnum<["auto", "claude", "codex", "origin"]>>;
|
|
30
30
|
when: z.ZodOptional<z.ZodString>;
|
|
31
31
|
max_rounds: z.ZodDefault<z.ZodNumber>;
|
|
32
32
|
instructions: z.ZodOptional<z.ZodString>;
|
|
33
33
|
}, "strip", z.ZodTypeAny, {
|
|
34
|
-
type: "review" | "
|
|
34
|
+
type: "review" | "fix" | "recheck";
|
|
35
35
|
name: string;
|
|
36
|
-
reviewer: "
|
|
36
|
+
reviewer: "claude" | "codex" | "auto" | "origin";
|
|
37
37
|
max_rounds: number;
|
|
38
38
|
when?: string | undefined;
|
|
39
39
|
instructions?: string | undefined;
|
|
40
40
|
}, {
|
|
41
|
-
type: "review" | "
|
|
41
|
+
type: "review" | "fix" | "recheck";
|
|
42
42
|
name: string;
|
|
43
|
-
reviewer?: "
|
|
43
|
+
reviewer?: "claude" | "codex" | "auto" | "origin" | undefined;
|
|
44
44
|
when?: string | undefined;
|
|
45
45
|
max_rounds?: number | undefined;
|
|
46
46
|
instructions?: string | undefined;
|
|
@@ -48,18 +48,18 @@ export declare const WorkflowSchema: z.ZodObject<{
|
|
|
48
48
|
}, "strip", z.ZodTypeAny, {
|
|
49
49
|
on: string[];
|
|
50
50
|
steps: {
|
|
51
|
-
type: "review" | "
|
|
51
|
+
type: "review" | "fix" | "recheck";
|
|
52
52
|
name: string;
|
|
53
|
-
reviewer: "
|
|
53
|
+
reviewer: "claude" | "codex" | "auto" | "origin";
|
|
54
54
|
max_rounds: number;
|
|
55
55
|
when?: string | undefined;
|
|
56
56
|
instructions?: string | undefined;
|
|
57
57
|
}[];
|
|
58
58
|
}, {
|
|
59
59
|
steps: {
|
|
60
|
-
type: "review" | "
|
|
60
|
+
type: "review" | "fix" | "recheck";
|
|
61
61
|
name: string;
|
|
62
|
-
reviewer?: "
|
|
62
|
+
reviewer?: "claude" | "codex" | "auto" | "origin" | undefined;
|
|
63
63
|
when?: string | undefined;
|
|
64
64
|
max_rounds?: number | undefined;
|
|
65
65
|
instructions?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/lib/workflow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../../src/lib/workflow.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB;;UAGwE,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;EAK5I,CAAA;AAEF,eAAO,MAAM,cAAc;;;;cAP4E,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU5I,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAqB7D,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAgB1C,CAAA;AAED,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAcjE;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,OAAO,CAoBvF"}
|
package/dist/lib/workflow.js
CHANGED
|
@@ -4,7 +4,8 @@ import yaml from 'js-yaml';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
export const WorkflowStepSchema = z.object({
|
|
6
6
|
name: z.string(),
|
|
7
|
-
|
|
7
|
+
// 'address' is the legacy name — normalized to 'fix' at parse time for backward compat
|
|
8
|
+
type: z.enum(['review', 'fix', 'recheck', 'address']).transform(t => t === 'address' ? 'fix' : t),
|
|
8
9
|
reviewer: z.enum(['auto', 'claude', 'codex', 'origin']).default('auto'),
|
|
9
10
|
when: z.string().optional(),
|
|
10
11
|
max_rounds: z.number().int().positive().default(1),
|
|
@@ -14,7 +15,22 @@ export const WorkflowSchema = z.object({
|
|
|
14
15
|
on: z.array(z.string()).default(['opened', 'synchronize']),
|
|
15
16
|
steps: z.array(WorkflowStepSchema),
|
|
16
17
|
});
|
|
17
|
-
|
|
18
|
+
const DEFAULT_REVIEW_INSTRUCTIONS = [
|
|
19
|
+
'## Constraints',
|
|
20
|
+
'- Do not run tsc, ts-node, or build commands — inspect source files directly with git diff/log.',
|
|
21
|
+
'- Do not install packages or modify lock files.',
|
|
22
|
+
'## Output format',
|
|
23
|
+
'Structure your output as: ## Summary, ## Critical Issues, ## Warnings, ## Suggestions.',
|
|
24
|
+
'Be concise. Skip praise.',
|
|
25
|
+
'## Verdict',
|
|
26
|
+
'End with one of: VERDICT: APPROVE | NEEDS WORK | BLOCK',
|
|
27
|
+
].join('\n');
|
|
28
|
+
const DEFAULT_FIX_INSTRUCTIONS = [
|
|
29
|
+
'Only fix issues explicitly called out in the review.',
|
|
30
|
+
'Do not refactor unrelated code, rename variables, or add tests unless specifically requested.',
|
|
31
|
+
'If a comment requires deeper understanding of business logic, skip it.',
|
|
32
|
+
].join('\n');
|
|
33
|
+
// Default pipeline: review → fix issues (fix skipped when verdict is APPROVE).
|
|
18
34
|
// Execution always goes through this constant — there is no legacy direct-call path.
|
|
19
35
|
export const DEFAULT_WORKFLOW = [
|
|
20
36
|
{
|
|
@@ -22,14 +38,15 @@ export const DEFAULT_WORKFLOW = [
|
|
|
22
38
|
type: 'review',
|
|
23
39
|
reviewer: 'auto',
|
|
24
40
|
max_rounds: 1,
|
|
41
|
+
instructions: DEFAULT_REVIEW_INSTRUCTIONS,
|
|
25
42
|
},
|
|
26
43
|
{
|
|
27
|
-
name: '
|
|
28
|
-
type: '
|
|
44
|
+
name: 'fix',
|
|
45
|
+
type: 'fix',
|
|
29
46
|
reviewer: 'origin',
|
|
30
47
|
when: "review.verdict != 'APPROVE'",
|
|
31
48
|
max_rounds: 1,
|
|
32
|
-
instructions:
|
|
49
|
+
instructions: DEFAULT_FIX_INSTRUCTIONS,
|
|
33
50
|
},
|
|
34
51
|
];
|
|
35
52
|
export function loadWorkflow(operatorDir) {
|
package/dist/lib/workflow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/lib/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,IAAI,MAAM,SAAS,CAAA;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/lib/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { QualityConfig, VendorConfig } from '../config/schema.js';
|
|
2
|
-
export declare function runClaudeReview(repoDir: string, baseBranch: string, prTitle: string, quality: QualityConfig, vendor: VendorConfig, perReviewBudget: number, onLog?: (msg: string) => void): Promise<string>;
|
|
2
|
+
export declare function runClaudeReview(repoDir: string, baseBranch: string, prTitle: string, quality: QualityConfig, vendor: VendorConfig, perReviewBudget: number, stepInstructions?: string, onLog?: (msg: string) => void): Promise<string>;
|
|
3
3
|
export declare function checkClaudeAuth(): Promise<{
|
|
4
4
|
ok: boolean;
|
|
5
5
|
detail: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/reviewers/claude.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAgBtE,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,EACpB,eAAe,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/reviewers/claude.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAgBtE,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,YAAY,EACpB,eAAe,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,MAAM,EACzB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAC5B,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAQhF"}
|
package/dist/reviewers/claude.js
CHANGED
|
@@ -14,23 +14,21 @@ const EFFORT_MAP = {
|
|
|
14
14
|
high: 'high',
|
|
15
15
|
max: 'max',
|
|
16
16
|
};
|
|
17
|
-
export async function runClaudeReview(repoDir, baseBranch, prTitle, quality, vendor, perReviewBudget, onLog) {
|
|
17
|
+
export async function runClaudeReview(repoDir, baseBranch, prTitle, quality, vendor, perReviewBudget, stepInstructions, onLog) {
|
|
18
18
|
const model = TIER_MODELS[quality.tier] ?? 'claude-sonnet-4-6';
|
|
19
19
|
const effort = EFFORT_MAP[vendor.effort] ?? 'medium';
|
|
20
20
|
const focusLine = quality.focus.length > 0
|
|
21
21
|
? `Focus areas: ${quality.focus.join(', ')}.`
|
|
22
22
|
: '';
|
|
23
23
|
const customLine = quality.custom_prompt ?? '';
|
|
24
|
-
//
|
|
25
|
-
const
|
|
24
|
+
// stepInstructions from workflow step takes precedence; fall back to ~/.crosscheck/instructions.md
|
|
25
|
+
const behaviorInstructions = stepInstructions !== undefined ? stepInstructions : readInstructions(repoDir);
|
|
26
26
|
const prompt = [
|
|
27
27
|
`You are reviewing a pull request titled: "${prTitle}".`,
|
|
28
28
|
`The branch \`${baseBranch}\` is the base. Review only the changes introduced in this PR.`,
|
|
29
29
|
focusLine,
|
|
30
30
|
customLine,
|
|
31
|
-
|
|
32
|
-
'Structure your output as: ## Summary, ## Critical Issues, ## Warnings, ## Suggestions.',
|
|
33
|
-
'Be concise. Skip praise.',
|
|
31
|
+
behaviorInstructions,
|
|
34
32
|
].filter(Boolean).join('\n');
|
|
35
33
|
const outputFile = join(mkdtempSync(join(tmpdir(), 'crosscheck-')), 'review.md');
|
|
36
34
|
const args = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/reviewers/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAiB,WAAW,EAAE,MAAM,IAAI,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,MAAM,WAAW,GAA2B;IAC1C,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,mBAAmB;IAC7B,QAAQ,EAAE,iBAAiB;CAC5B,CAAA;AAED,MAAM,UAAU,GAA2B;IACzC,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;CACX,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,UAAkB,EAClB,OAAe,EACf,OAAsB,EACtB,MAAoB,EACpB,eAAuB,EACvB,KAA6B;IAE7B,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAA;IAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAA;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,gBAAgB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QAC7C,CAAC,CAAC,EAAE,CAAA;IACN,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAA;IAE9C,
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/reviewers/claude.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { QualityConfig } from '../config/schema.js';
|
|
2
|
-
export declare function runCodexReview(repoDir: string, baseBranch: string, prTitle: string, quality: QualityConfig,
|
|
1
|
+
import type { QualityConfig, CodexVendorConfig } from '../config/schema.js';
|
|
2
|
+
export declare function runCodexReview(repoDir: string, baseBranch: string, prTitle: string, quality: QualityConfig, vendor: CodexVendorConfig, stepInstructions?: string, onLog?: (msg: string) => void): Promise<string>;
|
|
3
3
|
export declare function checkCodexAuth(): Promise<{
|
|
4
4
|
ok: boolean;
|
|
5
5
|
detail: string;
|