gitlab-ai-review 4.1.1 → 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.
- package/index.js +33 -21
- 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.
|
|
19
|
+
this.version = '4.1.3';
|
|
20
20
|
|
|
21
21
|
// 如果传入了配置,使用手动配置;否则使用自动检测
|
|
22
22
|
if (options.token || options.gitlab) {
|
|
@@ -236,20 +236,32 @@ export class GitLabAIReview {
|
|
|
236
236
|
for (const review of mergedReviews) {
|
|
237
237
|
if (review.hasIssue) {
|
|
238
238
|
try {
|
|
239
|
-
// 构建评论位置参数
|
|
239
|
+
// 构建评论位置参数 - 使用实际的变更行号
|
|
240
240
|
const positionParams = {
|
|
241
241
|
filePath: fileName,
|
|
242
242
|
oldPath: change.old_path,
|
|
243
243
|
};
|
|
244
244
|
|
|
245
|
+
// 如果是修改块(同时有 oldLine 和 newLine),同时指定两个行号
|
|
246
|
+
if (review.oldLine && review.newLine) {
|
|
247
|
+
positionParams.oldLine = review.oldLine;
|
|
248
|
+
positionParams.newLine = review.newLine;
|
|
249
|
+
} else if (review.lineNumber) {
|
|
250
|
+
// 单独的删除或新增
|
|
251
|
+
const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
252
|
+
const isDeletion = relatedChange && relatedChange.type === 'deletion';
|
|
253
|
+
if (isDeletion) {
|
|
254
|
+
positionParams.oldLine = review.lineNumber;
|
|
255
|
+
} else {
|
|
256
|
+
positionParams.newLine = review.lineNumber;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
245
260
|
// 构建评论内容,包含完整的修改块上下文
|
|
246
261
|
let commentBody = '🤖 **AI 代码审查**\n\n';
|
|
247
262
|
|
|
248
263
|
// 如果是修改块(同时有 oldLine 和 newLine),显示完整的删除和新增
|
|
249
264
|
if (review.oldLine && review.newLine) {
|
|
250
|
-
positionParams.oldLine = review.oldLine;
|
|
251
|
-
positionParams.newLine = review.newLine;
|
|
252
|
-
|
|
253
265
|
// 添加修改块的上下文
|
|
254
266
|
const oldChange = meaningfulChanges.find(c => c.lineNumber === review.oldLine && c.type === 'deletion');
|
|
255
267
|
const newChange = meaningfulChanges.find(c => c.lineNumber === review.newLine && c.type === 'addition');
|
|
@@ -269,12 +281,6 @@ export class GitLabAIReview {
|
|
|
269
281
|
const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
270
282
|
const isDeletion = relatedChange && relatedChange.type === 'deletion';
|
|
271
283
|
|
|
272
|
-
if (isDeletion) {
|
|
273
|
-
positionParams.oldLine = review.lineNumber;
|
|
274
|
-
} else {
|
|
275
|
-
positionParams.newLine = review.lineNumber;
|
|
276
|
-
}
|
|
277
|
-
|
|
278
284
|
// 添加单个变更的上下文
|
|
279
285
|
if (relatedChange) {
|
|
280
286
|
commentBody += `**📝 ${isDeletion ? '删除' : '新增'}内容:**\n\`\`\`${isDeletion ? 'diff' : 'javascript'}\n`;
|
|
@@ -549,20 +555,32 @@ export class GitLabAIReview {
|
|
|
549
555
|
for (const review of mergedReviews) {
|
|
550
556
|
if (review.hasIssue) {
|
|
551
557
|
try {
|
|
552
|
-
// 构建评论位置参数
|
|
558
|
+
// 构建评论位置参数 - 使用实际的变更行号
|
|
553
559
|
const positionParams = {
|
|
554
560
|
filePath: fileName,
|
|
555
561
|
oldPath: change.old_path,
|
|
556
562
|
};
|
|
557
563
|
|
|
564
|
+
// 如果是修改块(同时有 oldLine 和 newLine),同时指定两个行号
|
|
565
|
+
if (review.oldLine && review.newLine) {
|
|
566
|
+
positionParams.oldLine = review.oldLine;
|
|
567
|
+
positionParams.newLine = review.newLine;
|
|
568
|
+
} else if (review.lineNumber) {
|
|
569
|
+
// 单独的删除或新增
|
|
570
|
+
const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
571
|
+
const isDeletion = relatedChange && relatedChange.type === 'deletion';
|
|
572
|
+
if (isDeletion) {
|
|
573
|
+
positionParams.oldLine = review.lineNumber;
|
|
574
|
+
} else {
|
|
575
|
+
positionParams.newLine = review.lineNumber;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
|
|
558
579
|
// 构建评论内容,包含完整的修改块上下文
|
|
559
580
|
let commentBody = '🤖 **AI 代码审查**\n\n';
|
|
560
581
|
|
|
561
582
|
// 如果是修改块(同时有 oldLine 和 newLine),显示完整的删除和新增
|
|
562
583
|
if (review.oldLine && review.newLine) {
|
|
563
|
-
positionParams.oldLine = review.oldLine;
|
|
564
|
-
positionParams.newLine = review.newLine;
|
|
565
|
-
|
|
566
584
|
// 添加修改块的上下文
|
|
567
585
|
const oldChange = meaningfulChanges.find(c => c.lineNumber === review.oldLine && c.type === 'deletion');
|
|
568
586
|
const newChange = meaningfulChanges.find(c => c.lineNumber === review.newLine && c.type === 'addition');
|
|
@@ -582,12 +600,6 @@ export class GitLabAIReview {
|
|
|
582
600
|
const relatedChange = meaningfulChanges.find(c => c.lineNumber === review.lineNumber);
|
|
583
601
|
const isDeletion = relatedChange && relatedChange.type === 'deletion';
|
|
584
602
|
|
|
585
|
-
if (isDeletion) {
|
|
586
|
-
positionParams.oldLine = review.lineNumber;
|
|
587
|
-
} else {
|
|
588
|
-
positionParams.newLine = review.lineNumber;
|
|
589
|
-
}
|
|
590
|
-
|
|
591
603
|
// 添加单个变更的上下文
|
|
592
604
|
if (relatedChange) {
|
|
593
605
|
commentBody += `**📝 ${isDeletion ? '删除' : '新增'}内容:**\n\`\`\`${isDeletion ? 'diff' : 'javascript'}\n`;
|