secondpair 0.1.4 → 0.1.6
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/dist/bitbucket/comments.d.ts +17 -1
- package/dist/bitbucket/comments.js +54 -9
- package/dist/bitbucket/comments.js.map +1 -1
- package/dist/cli.js +76 -18
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/diff/github.d.ts +2 -0
- package/dist/diff/github.js +10 -0
- package/dist/diff/github.js.map +1 -1
- package/dist/finding-id.d.ts +4 -2
- package/dist/finding-id.js +14 -7
- package/dist/finding-id.js.map +1 -1
- package/dist/github/comments.d.ts +8 -1
- package/dist/github/comments.js +22 -3
- package/dist/github/comments.js.map +1 -1
- package/dist/gitlab/comments.d.ts +9 -0
- package/dist/gitlab/comments.js +33 -7
- package/dist/gitlab/comments.js.map +1 -1
- package/dist/llm/prompt.d.ts +15 -0
- package/dist/llm/prompt.js +15 -0
- package/dist/llm/prompt.js.map +1 -1
- package/dist/reconcile.d.ts +2 -0
- package/dist/reconcile.js +2 -1
- package/dist/reconcile.js.map +1 -1
- package/dist/report/cli.js +4 -0
- package/dist/report/cli.js.map +1 -1
- package/dist/review-state.d.ts +16 -0
- package/dist/review-state.js +24 -0
- package/dist/review-state.js.map +1 -0
- package/dist/review.d.ts +13 -0
- package/dist/review.js +96 -12
- package/dist/review.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +2 -2
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import { type ReviewState } from "../review-state.js";
|
|
1
2
|
import type { Finding, ReviewResult } from "../types.js";
|
|
2
3
|
import { type BbRef } from "./auth.js";
|
|
3
4
|
/** Fetch the unified diff of a Bitbucket Cloud pull request. */
|
|
4
5
|
export declare function getBbPrDiff(ref: BbRef): Promise<string>;
|
|
6
|
+
export declare function getBbPrHeadSha(ref: BbRef): Promise<string>;
|
|
7
|
+
/** Paths changed between two commits (diffstat, paginated). */
|
|
8
|
+
export declare function listBbChangedFiles(ref: BbRef, fromSha: string, toSha: string): Promise<Set<string>>;
|
|
5
9
|
interface BbComment {
|
|
6
10
|
id?: number;
|
|
7
11
|
content?: {
|
|
@@ -17,6 +21,13 @@ interface BbComment {
|
|
|
17
21
|
}
|
|
18
22
|
export declare function listBbComments(ref: BbRef): Promise<BbComment[]>;
|
|
19
23
|
export declare function listBbFindingIds(ref: BbRef): Promise<Set<string>>;
|
|
24
|
+
/**
|
|
25
|
+
* Recover the full review state (head sha + every active finding) embedded
|
|
26
|
+
* in the most recent summary comment — the source of truth for soft-match
|
|
27
|
+
* reconciliation and incremental (changed-files-only) re-review, since no
|
|
28
|
+
* local report file survives between fresh Pipelines checkouts.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getBbReviewState(ref: BbRef): Promise<ReviewState | null>;
|
|
20
31
|
export declare function listBbWontFixFindingIds(ref: BbRef): Promise<Set<string>>;
|
|
21
32
|
/** Bitbucket Cloud exposes no API for resolving pull-request comment threads. */
|
|
22
33
|
export declare function resolveBbCommentsForIds(_ref: BbRef, _ids: Iterable<string>, log?: (msg: string) => void): Promise<number>;
|
|
@@ -24,16 +35,21 @@ export declare function resolveBbCommentsForIds(_ref: BbRef, _ids: Iterable<stri
|
|
|
24
35
|
export declare function formatBbCommentBody(f: Finding): string;
|
|
25
36
|
export declare function formatBbSummaryBody(result: ReviewResult & {
|
|
26
37
|
highLevelReview?: boolean;
|
|
27
|
-
}, failed: boolean): string;
|
|
38
|
+
}, failed: boolean, headSha?: string): string;
|
|
28
39
|
export interface PostBbReviewOptions {
|
|
29
40
|
ref: BbRef;
|
|
30
41
|
result: ReviewResult;
|
|
31
42
|
failed: boolean;
|
|
43
|
+
/** Current PR head sha, embedded in the summary comment for the next incremental review. */
|
|
44
|
+
headSha?: string;
|
|
32
45
|
log?: (msg: string) => void;
|
|
33
46
|
}
|
|
34
47
|
/**
|
|
35
48
|
* Post findings to a Bitbucket Cloud PR: one summary comment plus one inline
|
|
36
49
|
* comment per *new* finding. Persistent findings (same pr-review-id) are skipped.
|
|
50
|
+
* The summary is re-posted every run (not just the first) so its embedded
|
|
51
|
+
* review state — head sha + every active finding — stays current for the
|
|
52
|
+
* next run's incremental diff and reconciliation.
|
|
37
53
|
*/
|
|
38
54
|
export declare function postBbReview(opts: PostBbReviewOptions): Promise<void>;
|
|
39
55
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { collectIdsFromBodies, embedFindingId, parseFindingId } from "../finding-id.js";
|
|
2
2
|
import { AGENT_MARKER, SEVERITY_EMOJI } from "../github/comments.js";
|
|
3
|
+
import { embedReviewState, parseReviewState } from "../review-state.js";
|
|
3
4
|
import { collectWontFixIds } from "../suppress-signals.js";
|
|
4
5
|
import { resolveBbAuthHeader } from "./auth.js";
|
|
5
6
|
const API = "https://api.bitbucket.org/2.0";
|
|
@@ -24,6 +25,31 @@ export async function getBbPrDiff(ref) {
|
|
|
24
25
|
const res = await bbFetch(`${API}/repositories/${ref.workspace}/${ref.repoSlug}/pullrequests/${ref.prId}/diff`, { headers: { accept: "text/plain" } });
|
|
25
26
|
return res.text();
|
|
26
27
|
}
|
|
28
|
+
export async function getBbPrHeadSha(ref) {
|
|
29
|
+
const res = await bbFetch(`${API}/repositories/${ref.workspace}/${ref.repoSlug}/pullrequests/${ref.prId}`);
|
|
30
|
+
const data = (await res.json());
|
|
31
|
+
const sha = data.source?.commit?.hash;
|
|
32
|
+
if (!sha)
|
|
33
|
+
throw new Error("Bitbucket PR response had no source commit hash.");
|
|
34
|
+
return sha;
|
|
35
|
+
}
|
|
36
|
+
/** Paths changed between two commits (diffstat, paginated). */
|
|
37
|
+
export async function listBbChangedFiles(ref, fromSha, toSha) {
|
|
38
|
+
const paths = new Set();
|
|
39
|
+
let url = `${API}/repositories/${ref.workspace}/${ref.repoSlug}/diffstat/${fromSha}..${toSha}?pagelen=100`;
|
|
40
|
+
while (url) {
|
|
41
|
+
const res = await bbFetch(url);
|
|
42
|
+
const page = (await res.json());
|
|
43
|
+
for (const v of page.values ?? []) {
|
|
44
|
+
if (v.new?.path)
|
|
45
|
+
paths.add(v.new.path);
|
|
46
|
+
if (v.old?.path)
|
|
47
|
+
paths.add(v.old.path);
|
|
48
|
+
}
|
|
49
|
+
url = page.next ?? null;
|
|
50
|
+
}
|
|
51
|
+
return paths;
|
|
52
|
+
}
|
|
27
53
|
export async function listBbComments(ref) {
|
|
28
54
|
const comments = [];
|
|
29
55
|
let url = `${API}/repositories/${ref.workspace}/${ref.repoSlug}/pullrequests/${ref.prId}/comments?pagelen=100`;
|
|
@@ -39,6 +65,22 @@ export async function listBbFindingIds(ref) {
|
|
|
39
65
|
const existing = await listBbComments(ref);
|
|
40
66
|
return collectIdsFromBodies(existing.filter((c) => c.content?.raw?.includes(AGENT_MARKER)).map((c) => c.content?.raw ?? ""));
|
|
41
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Recover the full review state (head sha + every active finding) embedded
|
|
70
|
+
* in the most recent summary comment — the source of truth for soft-match
|
|
71
|
+
* reconciliation and incremental (changed-files-only) re-review, since no
|
|
72
|
+
* local report file survives between fresh Pipelines checkouts.
|
|
73
|
+
*/
|
|
74
|
+
export async function getBbReviewState(ref) {
|
|
75
|
+
const existing = await listBbComments(ref);
|
|
76
|
+
const summaries = existing.filter((c) => c.content?.raw?.includes(AGENT_MARKER) && c.inline == null);
|
|
77
|
+
for (let i = summaries.length - 1; i >= 0; i--) {
|
|
78
|
+
const state = parseReviewState(summaries[i].content?.raw ?? "");
|
|
79
|
+
if (state)
|
|
80
|
+
return state;
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
}
|
|
42
84
|
export async function listBbWontFixFindingIds(ref) {
|
|
43
85
|
const comments = await listBbComments(ref);
|
|
44
86
|
const byId = new Map(comments.flatMap((comment) => (comment.id == null ? [] : [[comment.id, comment]])));
|
|
@@ -78,7 +120,7 @@ export function formatBbCommentBody(f) {
|
|
|
78
120
|
body = embedFindingId(body, f.id);
|
|
79
121
|
return body;
|
|
80
122
|
}
|
|
81
|
-
export function formatBbSummaryBody(result, failed) {
|
|
123
|
+
export function formatBbSummaryBody(result, failed, headSha) {
|
|
82
124
|
const counts = {};
|
|
83
125
|
for (const f of result.findings)
|
|
84
126
|
counts[f.severity] = (counts[f.severity] ?? 0) + 1;
|
|
@@ -94,7 +136,7 @@ export function formatBbSummaryBody(result, failed) {
|
|
|
94
136
|
const reconLine = recon
|
|
95
137
|
? `\n_Lifecycle:_ ${recon.new.length} new · ${recon.persistent.length} persistent · ${recon.resolved.length} resolved · ${recon.suppressed.length} suppressed`
|
|
96
138
|
: "";
|
|
97
|
-
|
|
139
|
+
let body = [
|
|
98
140
|
"## PR Review Agent",
|
|
99
141
|
"",
|
|
100
142
|
result.summary.trim(),
|
|
@@ -105,10 +147,16 @@ export function formatBbSummaryBody(result, failed) {
|
|
|
105
147
|
failed ? "\n❌ **Check failed**: findings at or above the configured severity threshold." : "",
|
|
106
148
|
AGENT_MARKER,
|
|
107
149
|
].join("\n");
|
|
150
|
+
if (headSha)
|
|
151
|
+
body = embedReviewState(body, { headSha, findings: result.findings });
|
|
152
|
+
return body;
|
|
108
153
|
}
|
|
109
154
|
/**
|
|
110
155
|
* Post findings to a Bitbucket Cloud PR: one summary comment plus one inline
|
|
111
156
|
* comment per *new* finding. Persistent findings (same pr-review-id) are skipped.
|
|
157
|
+
* The summary is re-posted every run (not just the first) so its embedded
|
|
158
|
+
* review state — head sha + every active finding — stays current for the
|
|
159
|
+
* next run's incremental diff and reconciliation.
|
|
112
160
|
*/
|
|
113
161
|
export async function postBbReview(opts) {
|
|
114
162
|
const { ref, result, log = () => { } } = opts;
|
|
@@ -116,13 +164,10 @@ export async function postBbReview(opts) {
|
|
|
116
164
|
const existing = await listBbComments(ref);
|
|
117
165
|
const mine = existing.filter((c) => c.content?.raw?.includes(AGENT_MARKER));
|
|
118
166
|
const existingIds = collectIdsFromBodies(mine.map((c) => c.content?.raw ?? ""));
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
body: JSON.stringify({ content: { raw: formatBbSummaryBody(result, opts.failed) } }),
|
|
124
|
-
});
|
|
125
|
-
}
|
|
167
|
+
await bbFetch(commentsUrl, {
|
|
168
|
+
method: "POST",
|
|
169
|
+
body: JSON.stringify({ content: { raw: formatBbSummaryBody(result, opts.failed, opts.headSha) } }),
|
|
170
|
+
});
|
|
126
171
|
const toPost = result.findingsToPost ?? result.findings;
|
|
127
172
|
let posted = 0;
|
|
128
173
|
let skipped = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/bitbucket/comments.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../../src/bitbucket/comments.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -3,21 +3,40 @@ import { Command } from "commander";
|
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import pc from "picocolors";
|
|
5
5
|
import { getModel, runIndex } from "repocairn";
|
|
6
|
-
import { getBbPrDiff, listBbFindingIds, listBbWontFixFindingIds, postBbReview } from "./bitbucket/comments.js";
|
|
6
|
+
import { getBbPrDiff, getBbPrHeadSha, getBbReviewState, listBbChangedFiles, listBbFindingIds, listBbWontFixFindingIds, postBbReview, } from "./bitbucket/comments.js";
|
|
7
7
|
import { resolveBbRef } from "./bitbucket/auth.js";
|
|
8
|
-
import { getGlMrDiff, listGlFindingIds, listGlWontFixFindingIds, postGlReview } from "./gitlab/comments.js";
|
|
8
|
+
import { getGlMrDiff, getGlReviewState, listGlChangedFiles, listGlFindingIds, listGlWontFixFindingIds, postGlReview, } from "./gitlab/comments.js";
|
|
9
9
|
import { resolveGlRef } from "./gitlab/auth.js";
|
|
10
10
|
import { applyCliOverrides, loadConfig } from "./config.js";
|
|
11
|
-
import { getPrDiff, getPrHeadSha, makeOctokit, parseRepoSlug } from "./diff/github.js";
|
|
11
|
+
import { getPrDiff, getPrHeadSha, listChangedFiles, makeOctokit, parseRepoSlug, } from "./diff/github.js";
|
|
12
12
|
import { resolveGhRepoSlug, resolveGhToken } from "./github/auth.js";
|
|
13
13
|
import { getLocalDiff } from "./diff/local.js";
|
|
14
|
-
import { listPostedFindingIds, listWontFixFindingIds, postReview } from "./github/comments.js";
|
|
14
|
+
import { getReviewState, listPostedFindingIds, listWontFixFindingIds, postReview, } from "./github/comments.js";
|
|
15
15
|
import { detectHost } from "./host.js";
|
|
16
16
|
import { formatReport, shouldFail } from "./report/cli.js";
|
|
17
17
|
import { buildJsonReport, formatRunSummaryLine, loadPreviousFindings, loadPreviousIds, writeJsonReport, } from "./report/json.js";
|
|
18
18
|
import { runReview } from "./review.js";
|
|
19
19
|
import { appendSuppressionIds, loadSuppressions } from "./suppressions.js";
|
|
20
20
|
import { SEVERITIES } from "./types.js";
|
|
21
|
+
/** Split embedded review state into re-analyze vs carry-forward buckets. */
|
|
22
|
+
function splitFindingsSinceLastReview(prev, currentHeadSha, changedSinceLastReview, previousIds, previousFindings, carryForwardFindings, log) {
|
|
23
|
+
for (const f of prev.findings)
|
|
24
|
+
if (f.id)
|
|
25
|
+
previousIds.add(f.id);
|
|
26
|
+
if (prev.headSha === currentHeadSha) {
|
|
27
|
+
carryForwardFindings.push(...prev.findings);
|
|
28
|
+
return new Set();
|
|
29
|
+
}
|
|
30
|
+
if (changedSinceLastReview.size === 0) {
|
|
31
|
+
log(`Head SHA changed (${prev.headSha.slice(0, 7)} → ${currentHeadSha.slice(0, 7)}) but compare returned no changed files — re-analyzing all ${prev.findings.length} prior finding(s).`);
|
|
32
|
+
previousFindings.push(...prev.findings);
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
for (const f of prev.findings) {
|
|
36
|
+
(changedSinceLastReview.has(f.file) ? previousFindings : carryForwardFindings).push(f);
|
|
37
|
+
}
|
|
38
|
+
return changedSinceLastReview;
|
|
39
|
+
}
|
|
21
40
|
const program = new Command();
|
|
22
41
|
const log = (msg) => console.error(pc.dim(msg));
|
|
23
42
|
program
|
|
@@ -108,8 +127,10 @@ program
|
|
|
108
127
|
return;
|
|
109
128
|
}
|
|
110
129
|
const jsonPath = path.resolve(cwd, opts.json);
|
|
111
|
-
|
|
112
|
-
|
|
130
|
+
// Posted PR reviews recover state from the summary comment — a local report
|
|
131
|
+
// file must not duplicate ids/findings on top of that embedded state.
|
|
132
|
+
let previousIds = opts.post ? new Set() : await loadPreviousIds(jsonPath);
|
|
133
|
+
let previousFindings = opts.post ? [] : await loadPreviousFindings(jsonPath);
|
|
113
134
|
const suppressions = await loadSuppressions(cwd, opts.suppressions);
|
|
114
135
|
const ephemeral = new Set();
|
|
115
136
|
try {
|
|
@@ -130,18 +151,53 @@ program
|
|
|
130
151
|
log(`Warning: could not scan won’t-fix replies: ${e instanceof Error ? e.message : e}`);
|
|
131
152
|
}
|
|
132
153
|
const suppressedIds = new Set([...suppressions.ids, ...ephemeral]);
|
|
154
|
+
// Only files changed since the last reviewed commit go back through the
|
|
155
|
+
// LLM; everything else carries its prior findings forward untouched.
|
|
156
|
+
// Recovered from the state blob embedded in the last summary comment/review
|
|
157
|
+
// (see review-state.ts) — the only thing that survives a fresh CI checkout.
|
|
158
|
+
let changedFiles;
|
|
159
|
+
const carryForwardFindings = [];
|
|
160
|
+
let currentHeadSha;
|
|
133
161
|
if (opts.post) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
162
|
+
try {
|
|
163
|
+
if (glRef && glDiffRefs) {
|
|
164
|
+
currentHeadSha = glDiffRefs.head_sha;
|
|
165
|
+
const prev = await getGlReviewState(glRef);
|
|
166
|
+
if (prev) {
|
|
167
|
+
changedFiles = splitFindingsSinceLastReview(prev, currentHeadSha, await listGlChangedFiles(glRef, prev.headSha, currentHeadSha), previousIds, previousFindings, carryForwardFindings, log);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
for (const id of await listGlFindingIds(glRef))
|
|
171
|
+
previousIds.add(id);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else if (bbRef) {
|
|
175
|
+
currentHeadSha = await getBbPrHeadSha(bbRef);
|
|
176
|
+
const prev = await getBbReviewState(bbRef);
|
|
177
|
+
if (prev) {
|
|
178
|
+
changedFiles = splitFindingsSinceLastReview(prev, currentHeadSha, await listBbChangedFiles(bbRef, prev.headSha, currentHeadSha), previousIds, previousFindings, carryForwardFindings, log);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
for (const id of await listBbFindingIds(bbRef))
|
|
182
|
+
previousIds.add(id);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
else if (prRef && octokit) {
|
|
186
|
+
currentHeadSha = await getPrHeadSha(octokit, prRef);
|
|
187
|
+
const prev = await getReviewState(octokit, prRef);
|
|
188
|
+
if (prev) {
|
|
189
|
+
changedFiles = splitFindingsSinceLastReview(prev, currentHeadSha, await listChangedFiles(octokit, prRef, prev.headSha, currentHeadSha), previousIds, previousFindings, carryForwardFindings, log);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
for (const id of await listPostedFindingIds(octokit, prRef))
|
|
193
|
+
previousIds.add(id);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
137
196
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
else if (prRef && octokit) {
|
|
143
|
-
for (const id of await listPostedFindingIds(octokit, prRef))
|
|
144
|
-
previousIds.add(id);
|
|
197
|
+
catch (e) {
|
|
198
|
+
log(`Warning: incremental diff unavailable, falling back to a full review: ${e instanceof Error ? e.message : e}`);
|
|
199
|
+
changedFiles = undefined;
|
|
200
|
+
carryForwardFindings.length = 0;
|
|
145
201
|
}
|
|
146
202
|
}
|
|
147
203
|
const result = await runReview({
|
|
@@ -153,6 +209,8 @@ program
|
|
|
153
209
|
previousIds,
|
|
154
210
|
previousFindings,
|
|
155
211
|
suppressedIds,
|
|
212
|
+
changedFiles,
|
|
213
|
+
carryForwardFindings,
|
|
156
214
|
log,
|
|
157
215
|
});
|
|
158
216
|
if (config.write_suppressions && ephemeral.size) {
|
|
@@ -174,10 +232,10 @@ program
|
|
|
174
232
|
await postGlReview({ ref: glRef, diffRefs: glDiffRefs, result, failed, log });
|
|
175
233
|
}
|
|
176
234
|
else if (bbRef) {
|
|
177
|
-
await postBbReview({ ref: bbRef, result, failed, log });
|
|
235
|
+
await postBbReview({ ref: bbRef, result, failed, headSha: currentHeadSha, log });
|
|
178
236
|
}
|
|
179
237
|
else if (prRef && octokit) {
|
|
180
|
-
const headSha = await getPrHeadSha(octokit, prRef);
|
|
238
|
+
const headSha = currentHeadSha ?? (await getPrHeadSha(octokit, prRef));
|
|
181
239
|
await postReview({ octokit, pr: prRef, headSha, result, failed, log });
|
|
182
240
|
}
|
|
183
241
|
else {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ declare const configSchema: z.ZodObject<{
|
|
|
28
28
|
huge_pr_token_threshold: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
29
29
|
signal_detector: z.ZodOptional<z.ZodBoolean>;
|
|
30
30
|
parallel_agents: z.ZodOptional<z.ZodBoolean>;
|
|
31
|
+
semantic_dedup: z.ZodOptional<z.ZodBoolean>;
|
|
31
32
|
}, z.core.$strict>;
|
|
32
33
|
export declare const CONFIG_FILENAME = ".pr-review.yml";
|
|
33
34
|
export declare const SECONDPAIR_DIR = ".secondpair";
|
package/dist/config.js
CHANGED
|
@@ -26,6 +26,7 @@ export const DEFAULT_CONFIG = {
|
|
|
26
26
|
huge_pr_token_threshold: 120_000,
|
|
27
27
|
signal_detector: true,
|
|
28
28
|
parallel_agents: true,
|
|
29
|
+
semantic_dedup: true,
|
|
29
30
|
};
|
|
30
31
|
const configSchema = z
|
|
31
32
|
.object({
|
|
@@ -52,6 +53,7 @@ const configSchema = z
|
|
|
52
53
|
huge_pr_token_threshold: z.number().int().positive().nullable().optional(),
|
|
53
54
|
signal_detector: z.boolean().optional(),
|
|
54
55
|
parallel_agents: z.boolean().optional(),
|
|
56
|
+
semantic_dedup: z.boolean().optional(),
|
|
55
57
|
})
|
|
56
58
|
.strict();
|
|
57
59
|
export const CONFIG_FILENAME = ".pr-review.yml";
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAmD,MAAM,YAAY,CAAC;AAErG,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAG5E,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,OAAO,EAAE,KAAK;IACd,cAAc,EAAE,GAAG;IACnB,MAAM,EAAE,EAAE;IACV,oBAAoB,EAAE,IAAI;IAC1B,gBAAgB,EAAE,CAAC;IACnB,mBAAmB,EAAE,EAAE;IACvB,wBAAwB,EAAE,4BAA4B;IACtD,UAAU,EAAE,iBAAiB;IAC7B,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IACnD,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,EAAE;IACnB,kBAAkB,EAAE,KAAK;IACzB,uBAAuB,EAAE,OAAO;IAChC,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAmD,MAAM,YAAY,CAAC;AAErG,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAG5E,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,OAAO,EAAE,KAAK;IACd,cAAc,EAAE,GAAG;IACnB,MAAM,EAAE,EAAE;IACV,oBAAoB,EAAE,IAAI;IAC1B,gBAAgB,EAAE,CAAC;IACnB,mBAAmB,EAAE,EAAE;IACvB,wBAAwB,EAAE,4BAA4B;IACtD,UAAU,EAAE,iBAAiB;IAC7B,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IACnD,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,EAAE;IACnB,kBAAkB,EAAE,KAAK;IACzB,uBAAuB,EAAE,OAAO;IAChC,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;CACrB,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC;KACnB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,UAAU,EAAE,KAAK,CAAqC,CAAC,CAAC,QAAQ,EAAE;IACtF,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/C,UAAU,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,UAAmC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KAClD,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;IACb,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1E,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAC5C,MAAM,yBAAyB,GAAG,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;AAE1E;;;;GAIG;AACH,KAAK,UAAU,mBAAmB,CAAC,GAAW;IAC5C,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,MAAoB;IACpE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,IAAI,OAAO;YAAE,OAAO,EAAE,GAAG,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,wBAAwB;QAAE,OAAO,MAAM,CAAC;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,wBAAwB,CAAC;QAC3D,CAAC,CAAC,MAAM,CAAC,wBAAwB;QACjC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACxE,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW,EAAE,UAAmB;IAC/D,MAAM,IAAI,GAAG,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACxE,OAAO,qBAAqB,CAAC,GAAG,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,qBAAqB,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAqC;IAC/D,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,OAAO;QACV,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAA4B;QAC/E,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;QAC5B,UAAU,EAAE,EAAE,GAAG,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE;QACnE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW;QAC9D,MAAM,EAAE,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE;QAC/D,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc;QACvE,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,cAAc,CAAC,eAAe;QAC1E,kBAAkB,EAAE,OAAO,CAAC,kBAAkB,IAAI,cAAc,CAAC,kBAAkB;KACpF,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,iBAAiB,CAC/B,MAAoB,EACpB,SAA2D;IAE3D,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAC3B,IAAI,SAAS,CAAC,iBAAiB;QAAE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAChE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAkB,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,MAA0B,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,MAAoB;IAC9D,OAAO,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC"}
|
package/dist/diff/github.d.ts
CHANGED
|
@@ -12,3 +12,5 @@ export declare function makeOctokit(token: string | undefined): Octokit;
|
|
|
12
12
|
/** Fetch the unified diff of a pull request. */
|
|
13
13
|
export declare function getPrDiff(octokit: Octokit, pr: PrRef): Promise<string>;
|
|
14
14
|
export declare function getPrHeadSha(octokit: Octokit, pr: PrRef): Promise<string>;
|
|
15
|
+
/** Paths changed between two commits on the PR's repo. */
|
|
16
|
+
export declare function listChangedFiles(octokit: Octokit, pr: PrRef, base: string, head: string): Promise<Set<string>>;
|
package/dist/diff/github.js
CHANGED
|
@@ -24,4 +24,14 @@ export async function getPrHeadSha(octokit, pr) {
|
|
|
24
24
|
const res = await octokit.pulls.get({ ...pr });
|
|
25
25
|
return res.data.head.sha;
|
|
26
26
|
}
|
|
27
|
+
/** Paths changed between two commits on the PR's repo. */
|
|
28
|
+
export async function listChangedFiles(octokit, pr, base, head) {
|
|
29
|
+
const res = await octokit.repos.compareCommits({
|
|
30
|
+
owner: pr.owner,
|
|
31
|
+
repo: pr.repo,
|
|
32
|
+
base,
|
|
33
|
+
head,
|
|
34
|
+
});
|
|
35
|
+
return new Set((res.data.files ?? []).map((f) => f.filename));
|
|
36
|
+
}
|
|
27
37
|
//# sourceMappingURL=github.js.map
|
package/dist/diff/github.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/diff/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQxC,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,0BAA0B,CAAC,CAAC;IAC3F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAyB;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAgB,EAAE,EAAS;IACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,GAAG,EAAE;QACL,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;KAC9B,CAAC,CAAC;IACH,+DAA+D;IAC/D,OAAO,GAAG,CAAC,IAAyB,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,EAAS;IAC5D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3B,CAAC"}
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/diff/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQxC,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,0BAA0B,CAAC,CAAC;IAC3F,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAyB;IACnD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,gDAAgD;AAChD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAgB,EAAE,EAAS;IACzD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;QAClC,GAAG,EAAE;QACL,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;KAC9B,CAAC,CAAC;IACH,+DAA+D;IAC/D,OAAO,GAAG,CAAC,IAAyB,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,EAAS;IAC5D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC3B,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgB,EAChB,EAAS,EACT,IAAY,EACZ,IAAY;IAEZ,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;QAC7C,KAAK,EAAE,EAAE,CAAC,KAAK;QACf,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,IAAI;QACJ,IAAI;KACL,CAAC,CAAC;IACH,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;AAChE,CAAC"}
|
package/dist/finding-id.d.ts
CHANGED
|
@@ -22,7 +22,9 @@ export declare function titleSimilarity(a: string, b: string): number;
|
|
|
22
22
|
/** True when line ranges overlap or sit within `slack` lines of each other. */
|
|
23
23
|
export declare function linesNear(a: Pick<Finding, "start_line" | "end_line">, b: Pick<Finding, "start_line" | "end_line">, slack?: number): boolean;
|
|
24
24
|
/**
|
|
25
|
-
* Soft match for re-runs where the model rephrases the title
|
|
26
|
-
*
|
|
25
|
+
* Soft match for re-runs where the model rephrases the title (or flips its
|
|
26
|
+
* own category call, or cites a different anchor line for the same issue).
|
|
27
|
+
* Same file is the only hard requirement; category and line proximity are
|
|
28
|
+
* bonus signals traded off against title similarity.
|
|
27
29
|
*/
|
|
28
30
|
export declare function findingsSoftMatch(a: Pick<Finding, "file" | "category" | "title" | "start_line" | "end_line">, b: Pick<Finding, "file" | "category" | "title" | "start_line" | "end_line">, minTitleSimilarity?: number): boolean;
|
package/dist/finding-id.js
CHANGED
|
@@ -75,13 +75,13 @@ export function linesNear(a, b, slack = 3) {
|
|
|
75
75
|
return a0 <= b.end_line && b.start_line <= a1;
|
|
76
76
|
}
|
|
77
77
|
/**
|
|
78
|
-
* Soft match for re-runs where the model rephrases the title
|
|
79
|
-
*
|
|
78
|
+
* Soft match for re-runs where the model rephrases the title (or flips its
|
|
79
|
+
* own category call, or cites a different anchor line for the same issue).
|
|
80
|
+
* Same file is the only hard requirement; category and line proximity are
|
|
81
|
+
* bonus signals traded off against title similarity.
|
|
80
82
|
*/
|
|
81
83
|
export function findingsSoftMatch(a, b, minTitleSimilarity = 0.3) {
|
|
82
|
-
if (a.file !== b.file
|
|
83
|
-
return false;
|
|
84
|
-
if (!linesNear(a, b))
|
|
84
|
+
if (a.file !== b.file)
|
|
85
85
|
return false;
|
|
86
86
|
const ta = new Set(titleTokens(a.title));
|
|
87
87
|
const tb = new Set(titleTokens(b.title));
|
|
@@ -89,8 +89,15 @@ export function findingsSoftMatch(a, b, minTitleSimilarity = 0.3) {
|
|
|
89
89
|
for (const t of ta)
|
|
90
90
|
if (tb.has(t))
|
|
91
91
|
inter++;
|
|
92
|
-
|
|
92
|
+
const sim = titleSimilarity(a.title, b.title);
|
|
93
|
+
// Category mismatch needs stronger title evidence — a bare overlap could
|
|
94
|
+
// just be two different issues in the same file/category pair.
|
|
95
|
+
const titleMatches = a.category === b.category ? inter >= 2 || sim >= minTitleSimilarity : inter >= 3 || sim >= 0.5;
|
|
96
|
+
if (!titleMatches)
|
|
97
|
+
return false;
|
|
98
|
+
if (linesNear(a, b))
|
|
93
99
|
return true;
|
|
94
|
-
|
|
100
|
+
// Large line drift only trusted when the wording is near-identical.
|
|
101
|
+
return sim >= 0.6;
|
|
95
102
|
}
|
|
96
103
|
//# sourceMappingURL=finding-id.js.map
|
package/dist/finding-id.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finding-id.js","sourceRoot":"","sources":["../src/finding-id.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"finding-id.js","sourceRoot":"","sources":["../src/finding-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import type { Octokit } from "@octokit/rest";
|
|
2
2
|
import type { PrRef } from "../diff/github.js";
|
|
3
|
+
import { type ReviewState } from "../review-state.js";
|
|
3
4
|
import type { Finding, ReviewResult, Severity } from "../types.js";
|
|
4
5
|
export declare const AGENT_MARKER = "[secondpair]: # (agent marker)";
|
|
5
6
|
export declare const SEVERITY_EMOJI: Record<Severity, string>;
|
|
6
7
|
export declare function formatCommentBody(f: Finding): string;
|
|
7
8
|
export declare function formatReviewBody(result: ReviewResult & {
|
|
8
9
|
highLevelReview?: boolean;
|
|
9
|
-
}, failed: boolean): string;
|
|
10
|
+
}, failed: boolean, headSha?: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Recover the full review state (head sha + every active finding) embedded
|
|
13
|
+
* in the agent's most recent PR review body — the source of truth for
|
|
14
|
+
* soft-match reconciliation and incremental (changed-files-only) re-review.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getReviewState(octokit: Octokit, pr: PrRef): Promise<ReviewState | null>;
|
|
10
17
|
export interface PostReviewOptions {
|
|
11
18
|
octokit: Octokit;
|
|
12
19
|
pr: PrRef;
|