gitlab-ai-review 4.1.2 → 4.1.3

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/index.js +9 -39
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -16,7 +16,7 @@ import * as ImpactAnalyzer from './lib/impact-analyzer.js';
16
16
  export class GitLabAIReview {
17
17
  constructor(options = {}) {
18
18
  this.name = 'GitLab AI Review SDK';
19
- this.version = '4.1.2';
19
+ this.version = '4.1.3';
20
20
 
21
21
  // 如果传入了配置,使用手动配置;否则使用自动检测
22
22
  if (options.token || options.gitlab) {
@@ -236,33 +236,18 @@ export class GitLabAIReview {
236
236
  for (const review of mergedReviews) {
237
237
  if (review.hasIssue) {
238
238
  try {
239
- // 找到这个评论对应的变更和它所在的 hunk
240
- let targetChange = null;
241
- if (review.oldLine && review.newLine) {
242
- // 修改块:找删除或新增的任意一个
243
- targetChange = meaningfulChanges.find(c =>
244
- (c.lineNumber === review.oldLine && c.type === 'deletion') ||
245
- (c.lineNumber === review.newLine && c.type === 'addition')
246
- );
247
- } else if (review.lineNumber) {
248
- targetChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
249
- }
250
-
251
- // 构建评论位置参数 - 使用 hunk 的起始位置覆盖整个变更块
239
+ // 构建评论位置参数 - 使用实际的变更行号
252
240
  const positionParams = {
253
241
  filePath: fileName,
254
242
  oldPath: change.old_path,
255
243
  };
256
244
 
257
- if (targetChange && targetChange.hunkRange) {
258
- // 使用 hunk 的起始行号,让评论覆盖整个 hunk 范围
259
- positionParams.oldLine = targetChange.hunkRange.oldStart;
260
- positionParams.newLine = targetChange.hunkRange.newStart;
261
- } else if (review.oldLine && review.newLine) {
262
- // 如果找不到 hunk 信息,回退到原来的逻辑
245
+ // 如果是修改块(同时有 oldLine newLine),同时指定两个行号
246
+ if (review.oldLine && review.newLine) {
263
247
  positionParams.oldLine = review.oldLine;
264
248
  positionParams.newLine = review.newLine;
265
249
  } else if (review.lineNumber) {
250
+ // 单独的删除或新增
266
251
  const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
267
252
  const isDeletion = relatedChange && relatedChange.type === 'deletion';
268
253
  if (isDeletion) {
@@ -570,33 +555,18 @@ export class GitLabAIReview {
570
555
  for (const review of mergedReviews) {
571
556
  if (review.hasIssue) {
572
557
  try {
573
- // 找到这个评论对应的变更和它所在的 hunk
574
- let targetChange = null;
575
- if (review.oldLine && review.newLine) {
576
- // 修改块:找删除或新增的任意一个
577
- targetChange = meaningfulChanges.find(c =>
578
- (c.lineNumber === review.oldLine && c.type === 'deletion') ||
579
- (c.lineNumber === review.newLine && c.type === 'addition')
580
- );
581
- } else if (review.lineNumber) {
582
- targetChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
583
- }
584
-
585
- // 构建评论位置参数 - 使用 hunk 的起始位置覆盖整个变更块
558
+ // 构建评论位置参数 - 使用实际的变更行号
586
559
  const positionParams = {
587
560
  filePath: fileName,
588
561
  oldPath: change.old_path,
589
562
  };
590
563
 
591
- if (targetChange && targetChange.hunkRange) {
592
- // 使用 hunk 的起始行号,让评论覆盖整个 hunk 范围
593
- positionParams.oldLine = targetChange.hunkRange.oldStart;
594
- positionParams.newLine = targetChange.hunkRange.newStart;
595
- } else if (review.oldLine && review.newLine) {
596
- // 如果找不到 hunk 信息,回退到原来的逻辑
564
+ // 如果是修改块(同时有 oldLine newLine),同时指定两个行号
565
+ if (review.oldLine && review.newLine) {
597
566
  positionParams.oldLine = review.oldLine;
598
567
  positionParams.newLine = review.newLine;
599
568
  } else if (review.lineNumber) {
569
+ // 单独的删除或新增
600
570
  const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
601
571
  const isDeletion = relatedChange && relatedChange.type === 'deletion';
602
572
  if (isDeletion) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitlab-ai-review",
3
- "version": "4.1.2",
3
+ "version": "4.1.3",
4
4
  "description": "GitLab AI Review SDK with Impact Analysis - 支持影响分析、删除符号检测、注释代码识别、文件内部冲突检查、智能文件过滤的智能代码审查工具",
5
5
  "main": "index.js",
6
6
  "type": "module",