gitlab-ai-review 3.6.2 → 3.7.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/index.js +6 -1
- package/lib/prompt-tools.js +11 -6
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -406,6 +406,10 @@ export class GitLabAIReview {
|
|
|
406
406
|
for (const review of fileReview.reviews) {
|
|
407
407
|
if (review.hasIssue) {
|
|
408
408
|
try {
|
|
409
|
+
// 找到对应的变更,判断是删除还是新增
|
|
410
|
+
const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
411
|
+
const isDeletion = relatedChange && relatedChange.type === 'deletion';
|
|
412
|
+
|
|
409
413
|
const commentResult = await this.gitlabClient.createLineComment(
|
|
410
414
|
this.config.project.projectId,
|
|
411
415
|
this.config.project.mergeRequestIid,
|
|
@@ -413,7 +417,8 @@ export class GitLabAIReview {
|
|
|
413
417
|
{
|
|
414
418
|
filePath: fileName,
|
|
415
419
|
oldPath: change.old_path,
|
|
416
|
-
newLine
|
|
420
|
+
// 删除的行使用 oldLine,新增的行使用 newLine
|
|
421
|
+
...(isDeletion ? { oldLine: review.lineNumber } : { newLine: review.lineNumber }),
|
|
417
422
|
}
|
|
418
423
|
);
|
|
419
424
|
|
package/lib/prompt-tools.js
CHANGED
|
@@ -312,12 +312,17 @@ export function buildFileReviewWithImpactPrompt(fileName, meaningfulChanges, imp
|
|
|
312
312
|
|
|
313
313
|
1. 仔细审查每一行变更,判断是否存在问题
|
|
314
314
|
2. 注意区分**修改**和**重复定义**:如果同一位置有删除(-)和新增(+),这是修改,不是重复
|
|
315
|
-
3. **🚨
|
|
316
|
-
-
|
|
317
|
-
-
|
|
318
|
-
-
|
|
319
|
-
-
|
|
320
|
-
4.
|
|
315
|
+
3. **🚨 作用域检查的最高优先级:**
|
|
316
|
+
- SDK 会标记"⚠️ **可能有局部定义/导入**"的行,这些行**大概率不是问题**
|
|
317
|
+
- 对于标记的行,**默认假设不是问题**,除非有明确证据表明使用的是被删除的符号
|
|
318
|
+
- 对于未标记的行,也要检查上下文(前后 3-5 行)是否有局部定义
|
|
319
|
+
- **宁可漏报也不要误报**:不确定时不要报告为问题
|
|
320
|
+
4. **判断标准(按优先级):**
|
|
321
|
+
- ✅ 有 "⚠️ 可能有局部定义" 标记 → **跳过,不报告**
|
|
322
|
+
- ✅ 同一行或前几行有 \`const/let/var symbol\` → **跳过,不报告**
|
|
323
|
+
- ✅ 同一行或前几行有 \`import { symbol }\` → **跳过,不报告**
|
|
324
|
+
- ✅ 在函数参数中 \`function(symbol)\` → **跳过,不报告**
|
|
325
|
+
- ❌ 确认是全局使用,且无局部定义 → **报告为问题**
|
|
321
326
|
5. **只对有问题的行提出审查意见**,没有问题的行不需要评论
|
|
322
327
|
6. **必须使用中文**返回审查意见
|
|
323
328
|
7. **必须返回标准 JSON 格式**,不要用其他格式,结构如下:
|