@krotovm/gitlab-ai-review 1.0.10 → 1.0.12
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 +12 -2
- package/dist/cli.js +165 -5
- package/dist/cli.js.map +1 -1
- package/dist/prompt/index.js +59 -9
- package/dist/prompt/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,10 +36,16 @@ Run locally to review diffs and print the review to stdout.
|
|
|
36
36
|
|
|
37
37
|
```bash
|
|
38
38
|
# review local uncommitted changes
|
|
39
|
-
|
|
39
|
+
npx -y @krotovm/gitlab-ai-review --worktree
|
|
40
40
|
|
|
41
41
|
# review last commit and ignore docs/lock changes by extension
|
|
42
|
-
|
|
42
|
+
npx -y @krotovm/gitlab-ai-review --last-commit --ignore-ext=md,lock
|
|
43
|
+
|
|
44
|
+
# review a prepared git diff from file
|
|
45
|
+
npx -y @krotovm/gitlab-ai-review --diff-file=./changes.diff
|
|
46
|
+
|
|
47
|
+
# use a custom OpenAI-compatible endpoint
|
|
48
|
+
OPENAI_BASE_URL="https://api.openai.com/v1" npx -y @krotovm/gitlab-ai-review --worktree
|
|
43
49
|
```
|
|
44
50
|
|
|
45
51
|
## Env variables
|
|
@@ -50,6 +56,9 @@ Set these in your project/group CI settings (or locally in your shell):
|
|
|
50
56
|
- `OPENAI_BASE_URL` (optional, for OpenAI-compatible providers/proxies)
|
|
51
57
|
- `AI_MODEL` (optional, default: `gpt-4o-mini`; example: `gpt-4o`)
|
|
52
58
|
- `PROJECT_ACCESS_TOKEN` (optional but recommended for private projects; token with `api` scope)
|
|
59
|
+
- `GITLAB_TOKEN` (optional alias for `PROJECT_ACCESS_TOKEN`)
|
|
60
|
+
|
|
61
|
+
`OPENAI_BASE_URL` is passed through to the `openai` SDK client, so you can use any OpenAI-compatible gateway/provider endpoint.
|
|
53
62
|
|
|
54
63
|
GitLab provides these automatically in Merge Request pipelines:
|
|
55
64
|
|
|
@@ -63,6 +72,7 @@ GitLab provides these automatically in Merge Request pipelines:
|
|
|
63
72
|
- `--ci` - Run in GitLab MR pipeline mode and post a new MR note.
|
|
64
73
|
- `--worktree` - Review local uncommitted changes (staged + unstaged).
|
|
65
74
|
- `--last-commit` - Review the last commit (`HEAD`).
|
|
75
|
+
- `--diff-file=./changes.diff` - Review git-diff content from a file and print to stdout.
|
|
66
76
|
- `--ignore-ext=md,lock` - Exclude file extensions from review (comma-separated only).
|
|
67
77
|
- `--max-diffs=50` - Max number of diffs included in the prompt.
|
|
68
78
|
- `--max-diff-chars=16000` - Max chars per diff chunk.
|
package/dist/cli.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/** @format */
|
|
3
3
|
import OpenAI from "openai";
|
|
4
|
+
import { readFile } from "node:fs/promises";
|
|
4
5
|
import { buildAnswer, buildPrompt, DEFAULT_PROMPT_LIMITS, } from "./prompt/index.js";
|
|
5
6
|
import { fetchFileAtRef, fetchMergeRequestChanges, generateAICompletion, postMergeRequestNote, searchRepository, } from "./gitlab/services.js";
|
|
6
7
|
function printHelp() {
|
|
@@ -11,6 +12,7 @@ function printHelp() {
|
|
|
11
12
|
" gitlab-ai-review --ci",
|
|
12
13
|
" gitlab-ai-review --worktree",
|
|
13
14
|
" gitlab-ai-review --last-commit",
|
|
15
|
+
" gitlab-ai-review --diff-file=./changes.diff",
|
|
14
16
|
" gitlab-ai-review --help",
|
|
15
17
|
" gitlab-ai-review --debug",
|
|
16
18
|
" gitlab-ai-review --ci --ignore-ext=md,lock",
|
|
@@ -19,6 +21,7 @@ function printHelp() {
|
|
|
19
21
|
" --ci Run in GitLab MR pipeline: fetch MR changes and post a new MR note.",
|
|
20
22
|
" --worktree Review local uncommitted changes (staged + unstaged) and print to stdout.",
|
|
21
23
|
" --last-commit Review last commit (HEAD) and print to stdout.",
|
|
24
|
+
" --diff-file Review git-diff content from a file and print to stdout.",
|
|
22
25
|
"",
|
|
23
26
|
"Debug:",
|
|
24
27
|
" --debug Print full error details (stack, API error fields).",
|
|
@@ -127,6 +130,26 @@ function parsePromptLimits(argv) {
|
|
|
127
130
|
maxTotalPromptChars: parseNumberFlag(argv, "max-total-prompt-chars", DEFAULT_PROMPT_LIMITS.maxTotalPromptChars, 1),
|
|
128
131
|
};
|
|
129
132
|
}
|
|
133
|
+
function parseDiffFileFlag(argv) {
|
|
134
|
+
const args = argv.slice(2);
|
|
135
|
+
for (const current of args) {
|
|
136
|
+
if (current === "--diff-file") {
|
|
137
|
+
throw new Error("Use equals format: --diff-file=./path/to/file.diff");
|
|
138
|
+
}
|
|
139
|
+
if (!current.startsWith("--diff-file="))
|
|
140
|
+
continue;
|
|
141
|
+
const value = current.slice("--diff-file=".length).trim();
|
|
142
|
+
if (value === "") {
|
|
143
|
+
throw new Error("Missing value for --diff-file. Example: --diff-file=./changes.diff");
|
|
144
|
+
}
|
|
145
|
+
return value;
|
|
146
|
+
}
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
function hasModeFlag(argv) {
|
|
150
|
+
const args = new Set(argv.slice(2));
|
|
151
|
+
return (args.has("--ci") || args.has("--worktree") || args.has("--last-commit"));
|
|
152
|
+
}
|
|
130
153
|
function hasIgnoredExtension(filePath, ignoredExtensions) {
|
|
131
154
|
const lowerPath = filePath.toLowerCase();
|
|
132
155
|
return ignoredExtensions.some((ext) => lowerPath.endsWith(ext));
|
|
@@ -161,6 +184,20 @@ function parseMode(argv) {
|
|
|
161
184
|
function logStep(message) {
|
|
162
185
|
process.stdout.write(`${message}\n`);
|
|
163
186
|
}
|
|
187
|
+
async function getCliVersion() {
|
|
188
|
+
try {
|
|
189
|
+
const packageJsonUrl = new URL("../package.json", import.meta.url);
|
|
190
|
+
const packageJsonText = await readFile(packageJsonUrl, "utf8");
|
|
191
|
+
const parsed = JSON.parse(packageJsonText);
|
|
192
|
+
if (parsed.version != null && parsed.version.trim() !== "") {
|
|
193
|
+
return parsed.version.trim();
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
catch {
|
|
197
|
+
// Best-effort logging only.
|
|
198
|
+
}
|
|
199
|
+
return "unknown";
|
|
200
|
+
}
|
|
164
201
|
async function runGit(args) {
|
|
165
202
|
const { spawn } = await import("node:child_process");
|
|
166
203
|
return await new Promise((resolve, reject) => {
|
|
@@ -205,6 +242,99 @@ async function localDiffLastCommit() {
|
|
|
205
242
|
: ["show", "--format=", "HEAD"];
|
|
206
243
|
return await runGit(args);
|
|
207
244
|
}
|
|
245
|
+
async function diffFromFile(filePath) {
|
|
246
|
+
const text = await readFile(filePath, "utf8");
|
|
247
|
+
return text;
|
|
248
|
+
}
|
|
249
|
+
function editDistanceAtMostTwo(a, b) {
|
|
250
|
+
const la = a.length;
|
|
251
|
+
const lb = b.length;
|
|
252
|
+
if (Math.abs(la - lb) > 2)
|
|
253
|
+
return 3;
|
|
254
|
+
const dp = Array.from({ length: la + 1 }, (_, i) => Array.from({ length: lb + 1 }, (_, j) => (i === 0 ? j : j === 0 ? i : 0)));
|
|
255
|
+
for (let i = 1; i <= la; i += 1) {
|
|
256
|
+
let rowMin = Number.POSITIVE_INFINITY;
|
|
257
|
+
for (let j = 1; j <= lb; j += 1) {
|
|
258
|
+
const cost = a[i - 1] === b[j - 1] ? 0 : 1;
|
|
259
|
+
dp[i][j] = Math.min(dp[i - 1][j] + 1, dp[i][j - 1] + 1, dp[i - 1][j - 1] + cost);
|
|
260
|
+
rowMin = Math.min(rowMin, dp[i][j]);
|
|
261
|
+
}
|
|
262
|
+
if (rowMin > 2)
|
|
263
|
+
return 3;
|
|
264
|
+
}
|
|
265
|
+
return dp[la][lb];
|
|
266
|
+
}
|
|
267
|
+
function collectCallIdentifiersFromDiffLines(lines, prefixes) {
|
|
268
|
+
const out = new Set();
|
|
269
|
+
const callPattern = /\b([A-Za-z_$][A-Za-z0-9_$]*)\s*\(/g;
|
|
270
|
+
for (const line of lines) {
|
|
271
|
+
if (!prefixes.some((p) => line.startsWith(p)))
|
|
272
|
+
continue;
|
|
273
|
+
const code = line.slice(1);
|
|
274
|
+
let match;
|
|
275
|
+
while ((match = callPattern.exec(code)) != null) {
|
|
276
|
+
const ident = match[1];
|
|
277
|
+
// Ignore common JS control keywords.
|
|
278
|
+
if (ident === "if" ||
|
|
279
|
+
ident === "for" ||
|
|
280
|
+
ident === "while" ||
|
|
281
|
+
ident === "switch" ||
|
|
282
|
+
ident === "catch") {
|
|
283
|
+
continue;
|
|
284
|
+
}
|
|
285
|
+
out.add(ident);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
return out;
|
|
289
|
+
}
|
|
290
|
+
function findDeterministicDiffFindings(diff) {
|
|
291
|
+
const lines = diff.split(/\r?\n/);
|
|
292
|
+
const addedCalls = collectCallIdentifiersFromDiffLines(lines, ["+"]);
|
|
293
|
+
const nearbyCalls = collectCallIdentifiersFromDiffLines(lines, [
|
|
294
|
+
" ",
|
|
295
|
+
"-",
|
|
296
|
+
"+",
|
|
297
|
+
]);
|
|
298
|
+
const findings = [];
|
|
299
|
+
for (const added of addedCalls) {
|
|
300
|
+
if (added.length < 7)
|
|
301
|
+
continue;
|
|
302
|
+
let closest;
|
|
303
|
+
let closestDistance = 3;
|
|
304
|
+
for (const candidate of nearbyCalls) {
|
|
305
|
+
if (candidate === added)
|
|
306
|
+
continue;
|
|
307
|
+
const distance = editDistanceAtMostTwo(added, candidate);
|
|
308
|
+
if (distance < closestDistance) {
|
|
309
|
+
closestDistance = distance;
|
|
310
|
+
closest = candidate;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
if (closest != null && closestDistance <= 2) {
|
|
314
|
+
findings.push({
|
|
315
|
+
title: "Possible symbol typo",
|
|
316
|
+
detail: `Call \`${added}(...)\` is very close to \`${closest}(...)\` and may be a misspelling causing runtime/reference errors.`,
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
// De-duplicate repeated matches.
|
|
321
|
+
return Array.from(new Map(findings.map((f) => [`${f.title}:${f.detail}`, f])).values()).slice(0, 3);
|
|
322
|
+
}
|
|
323
|
+
function injectDeterministicFindings(answer, findings) {
|
|
324
|
+
if (findings.length === 0)
|
|
325
|
+
return answer;
|
|
326
|
+
const noIssues = answer.includes("No confirmed bugs or high-value optimizations found.");
|
|
327
|
+
if (!noIssues)
|
|
328
|
+
return answer;
|
|
329
|
+
const bullets = findings
|
|
330
|
+
.map((f) => `- [high] ${f.title}: ${f.detail}`)
|
|
331
|
+
.join("\n");
|
|
332
|
+
const disclaimerIndex = answer.indexOf("\n---\n_This comment was generated by an artificial intelligence duck._");
|
|
333
|
+
const disclaimer = disclaimerIndex >= 0
|
|
334
|
+
? answer.slice(disclaimerIndex)
|
|
335
|
+
: "\n---\n_This comment was generated by an artificial intelligence duck._";
|
|
336
|
+
return `${bullets}${disclaimer}`;
|
|
337
|
+
}
|
|
208
338
|
async function reviewDiffToConsole(diff, openaiApiKey, aiModel, promptLimits) {
|
|
209
339
|
if (diff.trim() === "") {
|
|
210
340
|
process.stdout.write("No diff found. Skipping review.\n");
|
|
@@ -217,7 +347,9 @@ async function reviewDiffToConsole(diff, openaiApiKey, aiModel, promptLimits) {
|
|
|
217
347
|
const openaiInstance = new OpenAI({ apiKey: openaiApiKey });
|
|
218
348
|
const completion = await generateAICompletion(messageParams, openaiInstance, aiModel);
|
|
219
349
|
const answer = buildAnswer(completion);
|
|
220
|
-
|
|
350
|
+
const deterministicFindings = findDeterministicDiffFindings(diff);
|
|
351
|
+
const finalAnswer = injectDeterministicFindings(answer, deterministicFindings);
|
|
352
|
+
process.stdout.write(`${finalAnswer}\n`);
|
|
221
353
|
}
|
|
222
354
|
const TOOL_NAME_GET_FILE = "get_file_at_ref";
|
|
223
355
|
const TOOL_NAME_GREP = "grep_repository";
|
|
@@ -371,7 +503,10 @@ async function reviewMergeRequestWithTools(params) {
|
|
|
371
503
|
const parsed = JSON.parse(argsRaw);
|
|
372
504
|
const query = parsed.query?.trim();
|
|
373
505
|
if (query == null || query === "") {
|
|
374
|
-
toolContent = JSON.stringify({
|
|
506
|
+
toolContent = JSON.stringify({
|
|
507
|
+
ok: false,
|
|
508
|
+
error: "query is required.",
|
|
509
|
+
});
|
|
375
510
|
}
|
|
376
511
|
else {
|
|
377
512
|
const ref = parsed.ref?.trim() || refs.head;
|
|
@@ -383,7 +518,12 @@ async function reviewMergeRequestWithTools(params) {
|
|
|
383
518
|
projectId,
|
|
384
519
|
});
|
|
385
520
|
if (results instanceof Error) {
|
|
386
|
-
toolContent = JSON.stringify({
|
|
521
|
+
toolContent = JSON.stringify({
|
|
522
|
+
ok: false,
|
|
523
|
+
query,
|
|
524
|
+
ref,
|
|
525
|
+
error: results.message,
|
|
526
|
+
});
|
|
387
527
|
}
|
|
388
528
|
else {
|
|
389
529
|
const trimmed = results.map((r) => ({
|
|
@@ -391,7 +531,12 @@ async function reviewMergeRequestWithTools(params) {
|
|
|
391
531
|
startline: r.startline,
|
|
392
532
|
data: r.data.slice(0, 2000),
|
|
393
533
|
}));
|
|
394
|
-
toolContent = JSON.stringify({
|
|
534
|
+
toolContent = JSON.stringify({
|
|
535
|
+
ok: true,
|
|
536
|
+
query,
|
|
537
|
+
ref,
|
|
538
|
+
matches: trimmed,
|
|
539
|
+
});
|
|
395
540
|
}
|
|
396
541
|
}
|
|
397
542
|
}
|
|
@@ -419,10 +564,25 @@ async function reviewMergeRequestWithTools(params) {
|
|
|
419
564
|
throw new Error(`Exceeded max tool rounds (${MAX_TOOL_ROUNDS}) while generating review`);
|
|
420
565
|
}
|
|
421
566
|
async function main() {
|
|
422
|
-
const
|
|
567
|
+
const cliVersion = await getCliVersion();
|
|
568
|
+
logStep(`gitlab-ai-review v${cliVersion}`);
|
|
569
|
+
const diffFilePath = parseDiffFileFlag(process.argv);
|
|
570
|
+
if (diffFilePath != null && hasModeFlag(process.argv)) {
|
|
571
|
+
throw new Error("Do not combine --diff-file with --ci/--worktree/--last-commit");
|
|
572
|
+
}
|
|
573
|
+
const mode = diffFilePath != null ? "worktree" : parseMode(process.argv);
|
|
423
574
|
const ignoredExtensions = parseIgnoreExtensions(process.argv);
|
|
424
575
|
const promptLimits = parsePromptLimits(process.argv);
|
|
425
576
|
const aiModel = envOrDefault("AI_MODEL", "gpt-4o-mini");
|
|
577
|
+
if (diffFilePath != null) {
|
|
578
|
+
logStep(`Reading diff file: ${diffFilePath}`);
|
|
579
|
+
const openaiEnvs = requireEnvs(["OPENAI_API_KEY"]);
|
|
580
|
+
const openaiApiKey = openaiEnvs["OPENAI_API_KEY"];
|
|
581
|
+
const diff = await diffFromFile(diffFilePath);
|
|
582
|
+
logStep(`Requesting AI completion with model: ${aiModel}`);
|
|
583
|
+
await reviewDiffToConsole(diff, openaiApiKey, aiModel, promptLimits);
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
426
586
|
if (mode === "worktree") {
|
|
427
587
|
logStep("Collecting local changes");
|
|
428
588
|
const openaiEnvs = requireEnvs(["OPENAI_API_KEY"]);
|
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/prompt/index.js
CHANGED
|
@@ -10,29 +10,75 @@ function truncateWithMarker(value, maxChars, markerLabel) {
|
|
|
10
10
|
const omitted = value.length - maxChars;
|
|
11
11
|
return `${value.slice(0, maxChars)}\n\n[... ${markerLabel} truncated, omitted ${omitted} chars ...]`;
|
|
12
12
|
}
|
|
13
|
-
const QUESTIONS = `\n\
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
const QUESTIONS = `\n\nTask:\n
|
|
14
|
+
Produce a single combined list of up to 3 bullets in the required format.\n
|
|
15
|
+
Prioritize: (1) correctness bugs, (2) security issues, (3) clear performance regressions.\n
|
|
16
|
+
If there are no confirmed findings, output exactly: "No confirmed bugs or high-value optimizations found."\n\n`;
|
|
16
17
|
const MESSAGES = [
|
|
17
18
|
{
|
|
18
19
|
role: "system",
|
|
19
20
|
content: [
|
|
20
21
|
"You are a senior developer reviewing code changes for bugs and optimization opportunities.",
|
|
21
|
-
"Keep the review short
|
|
22
|
+
"Keep the review very short so a busy developer can read it in under 30 seconds.",
|
|
22
23
|
"Rules: no praise, no summaries of what was done, no style remarks.",
|
|
23
24
|
"",
|
|
25
|
+
"Priority:",
|
|
26
|
+
"- (1) correctness/logical bugs",
|
|
27
|
+
"- (2) security vulnerabilities",
|
|
28
|
+
"- (3) clear performance regressions",
|
|
29
|
+
"- Ignore anything else.",
|
|
30
|
+
"",
|
|
31
|
+
"Scope policy:",
|
|
32
|
+
"- Review only issues introduced by this diff.",
|
|
33
|
+
"- Focus on added/changed lines; avoid commenting on untouched code unless required for a proven bug path.",
|
|
34
|
+
"- Prefer no finding over a weakly supported finding.",
|
|
35
|
+
"- Err on the side of silence: if not clearly supported, do not mention it.",
|
|
36
|
+
"",
|
|
24
37
|
"Accuracy policy (strict):",
|
|
25
38
|
"- Report only findings that are directly supported by diff lines and/or tool outputs.",
|
|
26
39
|
"- Do not invent behavior, fields, or code paths that are not visible in evidence.",
|
|
27
|
-
'- If confidence is below
|
|
40
|
+
'- If confidence is below medium, skip it. Use "high" for clear deterministic issues (for example, symbol typos visible in the diff).',
|
|
28
41
|
"- Do not suggest removals/cleanups for symbols that are not present in the current code context.",
|
|
29
42
|
"- Avoid generic micro-optimizations unless there is a concrete benefit in this specific change.",
|
|
30
43
|
"",
|
|
31
|
-
"
|
|
32
|
-
"-
|
|
33
|
-
"-
|
|
44
|
+
"Required checks before concluding 'no issues':",
|
|
45
|
+
"- Compare added function/method calls against added/removed imports/exports in the same file for spelling mismatches.",
|
|
46
|
+
"- Flag obvious identifier typos that would cause runtime/reference errors.",
|
|
47
|
+
"- If a changed line calls a symbol that differs by 1-2 characters from nearby known symbols, treat it as a likely bug.",
|
|
48
|
+
"",
|
|
49
|
+
"Truncation policy:",
|
|
50
|
+
"- If truncation markers are present, explicitly state that context is incomplete when relevant.",
|
|
51
|
+
"- Do not assign [high] unless the issue is self-contained in visible lines.",
|
|
52
|
+
"- Do not speculate about hidden code paths when context is truncated.",
|
|
53
|
+
"",
|
|
54
|
+
"Check only for:",
|
|
55
|
+
"- Obvious logic errors (wrong condition, wrong variable, missing await, off-by-one).",
|
|
56
|
+
"- Direct runtime/reference errors visible in code (undefined symbol, wrong function name).",
|
|
57
|
+
"- Clear regressions in loops/queries/allocations introduced by this diff.",
|
|
58
|
+
"",
|
|
59
|
+
"Do NOT comment on:",
|
|
60
|
+
"- naming",
|
|
61
|
+
"- formatting",
|
|
62
|
+
"- minor refactors without behavior change",
|
|
63
|
+
"",
|
|
64
|
+
"Output format (strict):",
|
|
65
|
+
"- Return at most 3 findings total.",
|
|
66
|
+
"- Each finding must be one bullet in the form: `- [high|medium] <short title> [file: <path>, line ~<N>]: <one sentence explanation>`.",
|
|
67
|
+
"- One sentence only per finding (max ~25 words).",
|
|
68
|
+
"- Include only the most important evidence inline in that sentence (no extra sections).",
|
|
69
|
+
"- Do not include code blocks.",
|
|
34
70
|
'- If no confirmed issues exist, reply with exactly: "No confirmed bugs or high-value optimizations found."',
|
|
35
71
|
"- Format as GitLab-flavoured markdown.",
|
|
72
|
+
"",
|
|
73
|
+
"Few-shot examples:",
|
|
74
|
+
"Example A (has bug):",
|
|
75
|
+
"Diff snippet: `+ smsAvailable: isSmsAvalable(repeatCount, source, methodList)` and nearby symbol `isSmsAvailable`.",
|
|
76
|
+
"Valid answer:",
|
|
77
|
+
"- [high] Function name typo [file: wss/api_routes/api_phone_check/api_phone_check.js, line ~35]: `isSmsAvalable` likely misspells `isSmsAvailable`, causing runtime/reference failure when this branch executes.",
|
|
78
|
+
"",
|
|
79
|
+
"Example B (no confirmed issues):",
|
|
80
|
+
"Diff snippet: formatting-only changes and equivalent variable renames without behavior changes.",
|
|
81
|
+
'Valid answer: "No confirmed bugs or high-value optimizations found."',
|
|
36
82
|
].join("\n"),
|
|
37
83
|
},
|
|
38
84
|
];
|
|
@@ -50,7 +96,8 @@ export const buildPrompt = ({ changes, limits, }) => {
|
|
|
50
96
|
Review the following code changes (git diff format) for bugs and optimization opportunities only.
|
|
51
97
|
No full pre-change file context is embedded; use tool calls to request additional context when needed.
|
|
52
98
|
If you see truncation markers, note potential blind spots.
|
|
53
|
-
Do not present assumptions as facts.
|
|
99
|
+
Do not present assumptions as facts.
|
|
100
|
+
Follow the previously given rules strictly: at most 3 findings, bullets only, no headings, only clearly evidenced issues from this diff.
|
|
54
101
|
`;
|
|
55
102
|
const changesSection = `
|
|
56
103
|
Changes:
|
|
@@ -80,6 +127,9 @@ export const buildAnswer = (completion) => {
|
|
|
80
127
|
return `${ERROR_ANSWER}\n\n${DISCLAIMER}`;
|
|
81
128
|
}
|
|
82
129
|
const content = completion.choices[0].message.content ?? "";
|
|
130
|
+
if (content.trim() === "") {
|
|
131
|
+
return `${ERROR_ANSWER}\n\nError: Model returned an empty response body. Try another model (for example, gpt-4o-mini) or a different provider endpoint.\n\n---\n_${DISCLAIMER}_`;
|
|
132
|
+
}
|
|
83
133
|
const safe = sanitizeGitLabMarkdown(content);
|
|
84
134
|
return `${safe}\n\n---\n_${DISCLAIMER}_`;
|
|
85
135
|
};
|
package/dist/prompt/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"AAAA,cAAc;AAad,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,KAAK;IACnB,mBAAmB,EAAE,MAAM;CAC5B,CAAC;AAEF,SAAS,kBAAkB,CACzB,KAAa,EACb,QAAgB,EAChB,WAAmB;IAEnB,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;IACxC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,YAAY,WAAW,uBAAuB,OAAO,aAAa,CAAC;AACvG,CAAC;AAED,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED