@krotovm/gitlab-ai-review 1.0.5 → 1.0.7

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.
@@ -110,6 +110,8 @@ export const postMergeRequestNote = async ({ gitLabBaseUrl, headers, mergeReques
110
110
  };
111
111
  export const fetchMergeRequestChanges = async ({ gitLabBaseUrl, headers, projectId, mergeRequestIid }) => {
112
112
  const url = new URL(`${gitLabBaseUrl}/projects/${projectId}/merge_requests/${mergeRequestIid}/changes`);
113
+ // Ask GitLab for raw diffs to reduce truncation on larger merge requests.
114
+ url.searchParams.set("access_raw_diffs", "true");
113
115
  let res;
114
116
  try {
115
117
  res = await fetch(url, { headers: { ...headers } });
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/gitlab/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/gitlab/services.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,11 @@ const MESSAGES = [{
23
23
  content: 'You are a senior developer reviewing code changes. Format the response so it renders nicely in GitLab, with organized markdown (use code blocks if needed), and send only the review content. Include short question labels so each answer section is easy to identify.'
24
24
  }];
25
25
  export const AI_MODEL_TEMPERATURE = 0.2;
26
+ function trimToBudget(value, budget, markerLabel) {
27
+ if (budget <= 0)
28
+ return '';
29
+ return truncateWithMarker(value, budget, markerLabel);
30
+ }
26
31
  export const buildPrompt = ({ changes, oldFiles, limits }) => {
27
32
  const effectiveLimits = {
28
33
  ...DEFAULT_PROMPT_LIMITS,
@@ -40,20 +45,28 @@ export const buildPrompt = ({ changes, oldFiles, limits }) => {
40
45
  const hasOldFiles = oldFilesTrimmed.length > 0;
41
46
  const oldFilesText = hasOldFiles ? oldFilesTrimmed.map(oldFile => JSON.stringify(oldFile)).join('\n\n') : '(not provided)';
42
47
  const changesText = diffsTrimmed.join('\n\n');
43
- const content = `
44
- As a senior developer, review the following code changes and answer code review questions about them. The code changes are provided as git diff strings.
45
- ${hasOldFiles ? 'The entire file before the change is provided for context. Make sure to keep it as a reference when reviewing the changes.' : 'No full pre-change file context is available; review based on the diff only.'}
46
- Input safety constraints were applied to keep payload size bounded. If you see truncation markers, call out potential blind spots in your review.
47
-
48
- Files before changes:
49
- ${oldFilesText}
50
-
51
- Changes:
52
- ${changesText}
53
-
54
- ${QUESTIONS}
55
- `;
56
- const boundedContent = truncateWithMarker(content, effectiveLimits.maxTotalPromptChars, 'prompt payload');
48
+ const intro = `
49
+ As a senior developer, review the following code changes and answer code review questions about them. The code changes are provided as git diff strings.
50
+ ${hasOldFiles ? 'The entire file before the change is provided for context. Make sure to keep it as a reference when reviewing the changes.' : 'No full pre-change file context is available; review based on the diff only.'}
51
+ Input safety constraints were applied to keep payload size bounded. If you see truncation markers, call out potential blind spots in your review.
52
+ `;
53
+ const changesSection = `
54
+ Changes:
55
+ ${changesText || '(not provided)'}
56
+ `;
57
+ const oldFilesSection = `
58
+ Files before changes:
59
+ ${oldFilesText}
60
+ `;
61
+ const questionsSection = QUESTIONS;
62
+ // Keep diffs first in prompt priority. Old file snapshots are added only with remaining budget.
63
+ const requiredPrefix = `${intro}\n${changesSection}\n`;
64
+ const requiredSuffix = `\n${questionsSection}`;
65
+ const reservedForRequired = requiredPrefix.length + requiredSuffix.length;
66
+ const oldFilesBudget = Math.max(0, effectiveLimits.maxTotalPromptChars - reservedForRequired);
67
+ const boundedOldFilesSection = trimToBudget(oldFilesSection, oldFilesBudget, 'old files context');
68
+ const fullPrompt = `${requiredPrefix}${boundedOldFilesSection}${requiredSuffix}`;
69
+ const boundedContent = truncateWithMarker(fullPrompt, effectiveLimits.maxTotalPromptChars, 'prompt payload');
57
70
  return [...MESSAGES, { role: 'user', content: boundedContent }];
58
71
  };
59
72
  const ERROR_ANSWER = 'I\'m sorry, I\'m not feeling well today. Please ask a human to review this code change.';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompt/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@krotovm/gitlab-ai-review",
4
- "version": "1.0.5",
4
+ "version": "1.0.7",
5
5
  "description": "CLI tool to generate AI code reviews for GitLab merge requests and local diffs.",
6
6
  "main": "dist/cli.js",
7
7
  "bin": {