gitlab-ai-review 3.2.4 → 3.2.5

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.
Files changed (2) hide show
  1. package/lib/prompt-tools.js +50 -25
  2. package/package.json +1 -1
@@ -278,42 +278,67 @@ export function buildFileReviewWithImpactPrompt(fileName, meaningfulChanges, imp
278
278
  prompt += `\`\`\`\n`;
279
279
  });
280
280
 
281
- prompt += `\n## ⚠️ 重要说明:如何区分删除和新增
281
+ prompt += `\n## ⚠️ 🚨 最重要的规则:理解代码修改 vs 重复定义
282
+
283
+ **🔥 核心概念(必读):**
284
+
285
+ 在 diff 中,如果你看到:
286
+ - 第一行:**"-"** 开头(删除旧值)
287
+ - 第二行:**"+"** 开头(添加新值)
288
+ - 并且是同一个变量名或属性名
282
289
 
283
- **请务必正确理解以下标记:**
284
- 1. **"类型: 删除"** + 代码以 **"-"** 开头 = **代码已被移除**(不存在了)
285
- 2. **"类型: 新增"** + 代码以 **"+"** 开头 = **代码是新加的**(新存在的)
290
+ 这是 **"修改/替换"**,NOT "重复定义"!
286
291
 
287
- **🔥 关于代码修改的重要理解:**
292
+ **❌ 常见错误(请务必避免):**
288
293
 
289
- 如果在**同一位置**看到以下情况(删除旧代码,添加新代码):
290
- - 第一行以 "-" 开头(删除)
291
- - 第二行以 "+" 开头(新增)
292
- - 修改的是同一个变量/属性/函数
294
+ **错误 1:对象属性修改**
295
+ 看到 diff:
296
+ - deleted: deletedSymbols,
297
+ + deleted: allDeleted,
293
298
 
294
- 这是**修改(替换)**,不是"重复定义"或"两次定义"!
299
+ 错误理解:❌ "返回对象中存在重复的 'deleted' 键,违反对象键唯一性"
300
+ 正确理解:✅ "将 deleted 属性的值从 deletedSymbols 修改为 allDeleted"
295
301
 
296
- **常见错误理解:**
302
+ 解释:
303
+ - 旧版本(-)的 "deleted: deletedSymbols" 已经被删除了,不存在了
304
+ - 新版本(+)的 "deleted: allDeleted" 是现在的版本
305
+ - 最终代码中只有一个 deleted 键,没有重复!
297
306
 
298
- 错误示例 1:
299
- 看到:
307
+ **错误 2:变量赋值修改**
308
+ 看到 diff:
300
309
  - const name = 'old';
301
310
  + const name = 'new';
302
- 错误理解:❌ "代码中定义了两次 name 变量,违反唯一性"
303
- 正确理解:✅ "将 name 的值从 'old' 修改为 'new',这是正常的代码变更"
304
311
 
305
- 错误示例 2:
306
- 看到:
312
+ 错误理解:❌ "定义了两次 name 变量"
313
+ 正确理解:✅ "修改了 name 的初始值"
314
+
315
+ **错误 3:属性值修改**
316
+ 看到 diff:
307
317
  - all: [...addedSymbols, ...deletedSymbols],
308
318
  + all: [...addedSymbols, ...allDeleted],
309
- 错误理解:❌ "返回对象中存在两个 all 属性"
310
- 正确理解:✅ "修改了 all 属性的值,从 deletedSymbols 改为 allDeleted"
311
-
312
- **核心原则:**
313
- - **"-"** 的代码已经**不存在**了(被删除)
314
- - **"+"** 的代码是**新存在**的(被添加)
315
- - 如果同一个变量/属性有 "-" 又有 "+",这是**修改**,不是重复定义
316
- - 在最终代码中,只有 "+" 的版本会保留
319
+
320
+ 错误理解:❌ "all 属性重复定义"
321
+ 正确理解:✅ "修改了 all 数组的第二个展开项"
322
+
323
+ **🎯 判断标准:**
324
+
325
+ 1. **如何判断是修改而非重复?**
326
+ - 看是否在**相邻的行**
327
+ - 一行是 **"-"**(删除)
328
+ - 下一行是 **"+"**(新增)
329
+ - **同一个变量名/属性名**
330
+ → 这就是**修改**!
331
+
332
+ 2. **如何判断是真正的重复定义?**
333
+ - 两行都是 **"+"**(新增)
334
+ - 没有对应的 **"-"**(删除)
335
+ - 同一个变量名/属性名
336
+ → 这才是**重复定义**!
337
+
338
+ **🚨 重要提醒:**
339
+ - **"-"** 开头的代码已经**不存在**了,不要把它当作"存在"
340
+ - **"+"** 开头的代码才是**最终保留**的版本
341
+ - 不要说"存在两个XXX",应该说"将XXX从A修改为B"
317
342
 
318
343
  ## 审查要求
319
344
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitlab-ai-review",
3
- "version": "3.2.4",
3
+ "version": "3.2.5",
4
4
  "description": "GitLab AI Review SDK with Impact Analysis - 支持影响分析、删除符号检测、注释代码识别、文件内部冲突检查、智能文件过滤的智能代码审查工具",
5
5
  "main": "index.js",
6
6
  "type": "module",