@wuyanbin/ai-code-review 1.1.8 → 1.1.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reviewer/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AA6ExD;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,QAAQ,gBAAgB,KACvB,OAAO,CAAC,UAAU,GAAG,IAAI,CAqF3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/reviewer/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AA2ExD;;GAEG;AACH,eAAO,MAAM,UAAU,GACrB,MAAM,MAAM,EACZ,QAAQ,gBAAgB,KACvB,OAAO,CAAC,UAAU,GAAG,IAAI,CAmE3B,CAAC"}
@@ -4,7 +4,6 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.reviewCode = void 0;
7
- const utils_1 = require("./utils");
8
7
  const factory_1 = require("./modelAdapters/factory");
9
8
  /**
10
9
  * 通用代码质量规则(始终启用)
@@ -44,9 +43,7 @@ const buildUserPrompt = (diff, rules) => {
44
43
  "注意:",
45
44
  "1. 一定要保证输出是合法的 JSON,不能包含注释或多余文本;",
46
45
  '2. 如果没有任何问题,也请返回 {"comments": []};',
47
- "3. line 字段必须使用 diff hunk 头中右侧的“新文件行号”(`@@ -old +new @@` 里 `+new` 一侧对应的行号)。",
48
- " - 禁止使用左侧的 old 行号(`-old` 一侧),否则会导致评论定位偏移。",
49
- " - 如果你无法确定精确的新行号,请不要输出该条 comment(宁可不报,也不要报错位置)。",
46
+ "3. 请根据 diff 中的路径和行号填写 file line 字段。",
50
47
  "",
51
48
  "项目规范(摘要):",
52
49
  rulesBrief,
@@ -79,7 +76,8 @@ const parseAIResponse = (content) => {
79
76
  */
80
77
  const reviewCode = async (diff, config) => {
81
78
  // 先根据 ignore 规则过滤掉不需要审查的文件 diff
82
- const effectiveDiff = (0, utils_1.filterDiffByIgnore)(diff, config.review?.ignore);
79
+ // const effectiveDiff = filterDiffByIgnore(diff, config.review?.ignore);
80
+ const effectiveDiff = diff;
83
81
  console.log("=== effectiveDiff ===", effectiveDiff);
84
82
  if (!effectiveDiff || !effectiveDiff.trim()) {
85
83
  console.error("[reviewer] diff 为空,跳过审查");
@@ -108,24 +106,6 @@ const reviewCode = async (diff, config) => {
108
106
  // 应用过滤和限制
109
107
  let comments = result.comments || [];
110
108
  console.log("=== comments ===", comments);
111
- // 先做“diff 行号归一化”,保证落点一定在 MR diff 的变更代码块上
112
- // {
113
- // const { comments: normalized, stats } = normalizeCommentsWithDiff(
114
- // comments,
115
- // effectiveDiff
116
- // );
117
- // comments = normalized;
118
- // if (stats.adjusted > 0) {
119
- // console.error(
120
- // `[reviewer] 已纠偏 ${stats.adjusted} 条评论行号(old -> new)`
121
- // );
122
- // }
123
- // if (stats.dropped > 0) {
124
- // console.error(
125
- // `[reviewer] 已丢弃 ${stats.dropped} 条无法定位到 diff 变更行的评论(避免错块)`
126
- // );
127
- // }
128
- // }
129
109
  // 过滤 severity
130
110
  // if (config.review?.severity) {
131
111
  // const severityOrder = { info: 0, warning: 1, error: 2 };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reviewer/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,mCAAwE;AACxE,qDAAoE;AAEpE;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,0CAA0C;IAC1C,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,aAAa;CACd,CAAC;AAEF;;GAEG;AACH,MAAM,iBAAiB,GAAG,GAAW,EAAE;IACrC,OAAO,+DAA+D,CAAC;AACzE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,KAAe,EAAU,EAAE;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO;QACL,gCAAgC;QAChC,yBAAyB;QACzB,GAAG;QACH,iBAAiB;QACjB,OAAO;QACP,8BAA8B;QAC9B,oBAAoB;QACpB,iDAAiD;QACjD,mCAAmC;QACnC,wCAAwC;QACxC,OAAO;QACP,KAAK;QACL,GAAG;QACH,KAAK;QACL,kCAAkC;QAClC,oCAAoC;QACpC,4EAA4E;QAC5E,6CAA6C;QAC7C,mDAAmD;QACnD,EAAE;QACF,WAAW;QACX,UAAU;QACV,EAAE;QACF,eAAe;QACf,IAAI;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,CAAC,OAAe,EAAqB,EAAE;IAC7D,4BAA4B;IAC5B,MAAM,WAAW,GAAG,OAAO;SACxB,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;SACpB,IAAI,EAAE,CAAC;IAEV,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,UAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,KAAK,EAC7B,IAAY,EACZ,MAAwB,EACI,EAAE;IAC9B,gCAAgC;IAChC,MAAM,aAAa,GAAG,IAAA,0BAAkB,EAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;IAEpD,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACzC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB;IACpB,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhE,YAAY;IACZ,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACzD,kBAAkB;IAClB,MAAM,YAAY,GAAG,IAAA,mCAAyB,EAC5C,MAAM,CAAC,EAAE,CAAC,QAAQ,EAClB,MAAM,CAAC,EAAE,CAAC,MAAM,CACjB,CAAC;IACF,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CACxC,MAAM,CAAC,EAAE,CAAC,KAAK,EACf,YAAY,EACZ,UAAU,CACX,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;IACP,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAE3C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU;IACV,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAE1C,yCAAyC;IACzC,IAAI;IACJ,uEAAuE;IACvE,gBAAgB;IAChB,oBAAoB;IACpB,OAAO;IACP,2BAA2B;IAC3B,8BAA8B;IAC9B,qBAAqB;IACrB,6DAA6D;IAC7D,SAAS;IACT,MAAM;IACN,6BAA6B;IAC7B,qBAAqB;IACrB,mEAAmE;IACnE,SAAS;IACT,MAAM;IACN,IAAI;IAEJ,cAAc;IACd,iCAAiC;IACjC,6DAA6D;IAC7D,4DAA4D;IAC5D,8EAA8E;IAC9E,IAAI;IAEJ,SAAS;IACT,OAAO;IACP,kCAAkC;IAClC,gDAAgD;IAChD,MAAM;IACN,6DAA6D;IAC7D,kBAAkB;IAClB,gEAAgE;IAChE,OAAO;IACP,IAAI;IAEJ,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtB,CAAC,CAAC;AAxFW,QAAA,UAAU,cAwFrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reviewer/index.ts"],"names":[],"mappings":"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"}
@@ -15,44 +15,4 @@ export declare const shouldIgnoreFile: (filePath: string, ignorePatterns: string
15
15
  * - 命中 ignore 的文件整块跳过
16
16
  */
17
17
  export declare const filterDiffByIgnore: (diff: string, ignorePatterns: string[] | undefined) => string;
18
- type DiffLineMappings = {
19
- /**
20
- * diff 中 new file 侧出现过的所有行号(包含 context + add)
21
- * - 用于判断“这个 new 行号是否真的在 MR diff 里”
22
- */
23
- newLinesInDiff: Set<number>;
24
- /**
25
- * diff 中 new file 侧真正变更的行号(仅 + 行)
26
- * - 用于保证评论只落在改动行,避免 reviewdog 自动贴到邻近行造成“错块”
27
- */
28
- changedNewLines: Set<number>;
29
- /**
30
- * old 行号 -> new 行号映射
31
- * - 对 context 行:一一映射
32
- * - 对替换行:尽量按顺序把 '-' 映射到后续的 '+'
33
- */
34
- oldToNew: Map<number, number>;
35
- };
36
- /**
37
- * 解析 unified diff,构建每个文件的 old/new 行号映射
38
- * - 仅支持常见的 `diff --git a/... b/...` + `@@ -a,b +c,d @@` 格式
39
- */
40
- export declare const buildDiffLineMappingsByFile: (diff: string) => Map<string, DiffLineMappings>;
41
- export type NormalizeCommentsStats = {
42
- adjusted: number;
43
- dropped: number;
44
- };
45
- /**
46
- * 将 AI 返回的 (file, line) 归一化到 “MR diff 的 new 行号(右侧)”
47
- * - **保证不把评论贴到 diff 之外**(否则 reviewdog 会尝试找邻近位置,导致错块)
48
- * - **默认只保留真正变更的 new 行(+ 行)**,确保评论落在改动代码块
49
- */
50
- export declare const normalizeCommentsWithDiff: <T extends {
51
- file: string;
52
- line: number;
53
- }>(comments: T[], diff: string) => {
54
- comments: T[];
55
- stats: NormalizeCommentsStats;
56
- };
57
- export {};
58
18
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/reviewer/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,MAwB9C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,KAAG,OAG7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,gBAAgB,MAAM,EAAE,GAAG,SAAS,KACnC,OAGF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,gBAAgB,MAAM,EAAE,GAAG,SAAS,KACnC,MAiEF,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB;;;OAGG;IACH,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;;;OAGG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GACtC,MAAM,MAAM,KACX,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAiG9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAExC,UAAU,CAAC,EAAE,EACb,MAAM,MAAM,KACX;IAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAAC,KAAK,EAAE,sBAAsB,CAAA;CAqChD,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/reviewer/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,MAwB9C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,SAAS,MAAM,KAAG,OAG7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,EAChB,gBAAgB,MAAM,EAAE,GAAG,SAAS,KACnC,OAGF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,MAAM,EACZ,gBAAgB,MAAM,EAAE,GAAG,SAAS,KACnC,MAiEF,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.normalizeCommentsWithDiff = exports.buildDiffLineMappingsByFile = exports.filterDiffByIgnore = exports.shouldIgnoreFile = exports.matchGlob = exports.globToRegExp = void 0;
3
+ exports.filterDiffByIgnore = exports.shouldIgnoreFile = exports.matchGlob = exports.globToRegExp = void 0;
4
4
  /**
5
5
  * 简单的 glob -> RegExp 转换,只覆盖当前项目常用模式:
6
6
  *
@@ -100,135 +100,4 @@ const filterDiffByIgnore = (diff, ignorePatterns) => {
100
100
  return kept.join("\n");
101
101
  };
102
102
  exports.filterDiffByIgnore = filterDiffByIgnore;
103
- /**
104
- * 解析 unified diff,构建每个文件的 old/new 行号映射
105
- * - 仅支持常见的 `diff --git a/... b/...` + `@@ -a,b +c,d @@` 格式
106
- */
107
- const buildDiffLineMappingsByFile = (diff) => {
108
- const mappingsByFile = new Map();
109
- if (!diff || !diff.trim())
110
- return mappingsByFile;
111
- const lines = diff.split("\n");
112
- let currentFile = null;
113
- let oldLine = 0;
114
- let newLine = 0;
115
- let inHunk = false;
116
- let pendingDeletedOldLines = [];
117
- const ensure = (file) => {
118
- const existing = mappingsByFile.get(file);
119
- if (existing)
120
- return existing;
121
- const created = {
122
- newLinesInDiff: new Set(),
123
- changedNewLines: new Set(),
124
- oldToNew: new Map(),
125
- };
126
- mappingsByFile.set(file, created);
127
- return created;
128
- };
129
- for (const rawLine of lines) {
130
- // 文件块切换
131
- if (rawLine.startsWith("diff --git ")) {
132
- const match = /^diff --git a\/(.+?) b\/(.+)$/.exec(rawLine);
133
- currentFile = match?.[2] ?? null;
134
- inHunk = false;
135
- oldLine = 0;
136
- newLine = 0;
137
- pendingDeletedOldLines = [];
138
- continue;
139
- }
140
- if (!currentFile)
141
- continue;
142
- // 跳过二进制 / 无内容 diff
143
- if (rawLine.startsWith("Binary files "))
144
- continue;
145
- // hunk 头
146
- if (rawLine.startsWith("@@")) {
147
- const hunk = /@@\s+-(\d+)(?:,(\d+))?\s+\+(\d+)(?:,(\d+))?\s+@@/.exec(rawLine);
148
- if (!hunk) {
149
- inHunk = false;
150
- pendingDeletedOldLines = [];
151
- continue;
152
- }
153
- oldLine = Number(hunk[1]);
154
- newLine = Number(hunk[3]);
155
- inHunk = true;
156
- pendingDeletedOldLines = [];
157
- continue;
158
- }
159
- if (!inHunk)
160
- continue;
161
- if (rawLine === "\")
162
- continue;
163
- const m = ensure(currentFile);
164
- // 注意:diff 行可能是空行,rawLine[0] 也仍然存在(' ' / '+' / '-')
165
- const prefix = rawLine[0];
166
- if (prefix === " ") {
167
- m.oldToNew.set(oldLine, newLine);
168
- m.newLinesInDiff.add(newLine);
169
- oldLine += 1;
170
- newLine += 1;
171
- // 回到对齐状态,清空未配对的删除行
172
- pendingDeletedOldLines = [];
173
- continue;
174
- }
175
- if (prefix === "-") {
176
- pendingDeletedOldLines.push(oldLine);
177
- oldLine += 1;
178
- continue;
179
- }
180
- if (prefix === "+") {
181
- m.newLinesInDiff.add(newLine);
182
- m.changedNewLines.add(newLine);
183
- // 尽量把替换行的 old 行号映射到 new 行号(按出现顺序配对)
184
- const deletedOld = pendingDeletedOldLines.shift();
185
- if (typeof deletedOld === "number") {
186
- m.oldToNew.set(deletedOld, newLine);
187
- }
188
- newLine += 1;
189
- continue;
190
- }
191
- }
192
- return mappingsByFile;
193
- };
194
- exports.buildDiffLineMappingsByFile = buildDiffLineMappingsByFile;
195
- /**
196
- * 将 AI 返回的 (file, line) 归一化到 “MR diff 的 new 行号(右侧)”
197
- * - **保证不把评论贴到 diff 之外**(否则 reviewdog 会尝试找邻近位置,导致错块)
198
- * - **默认只保留真正变更的 new 行(+ 行)**,确保评论落在改动代码块
199
- */
200
- const normalizeCommentsWithDiff = (comments, diff) => {
201
- const stats = { adjusted: 0, dropped: 0 };
202
- if (!Array.isArray(comments) || comments.length === 0) {
203
- return { comments: [], stats };
204
- }
205
- const mappingsByFile = (0, exports.buildDiffLineMappingsByFile)(diff);
206
- const normalized = [];
207
- for (const c of comments) {
208
- if (!c || !c.file || !c.line)
209
- continue;
210
- const m = mappingsByFile.get(c.file);
211
- if (!m) {
212
- // 文件不在 diff 中,直接丢弃避免错块
213
- stats.dropped += 1;
214
- continue;
215
- }
216
- // 1) 优先认为 AI 给的是 new 行号
217
- if (m.changedNewLines.has(c.line)) {
218
- normalized.push(c);
219
- continue;
220
- }
221
- // 2) 尝试把 old 行号映射到 new 行号
222
- const mapped = m.oldToNew.get(c.line);
223
- if (typeof mapped === "number" && m.changedNewLines.has(mapped)) {
224
- normalized.push({ ...c, line: mapped });
225
- stats.adjusted += 1;
226
- continue;
227
- }
228
- // 3) 不在变更行:为了“绝不贴错块”,直接丢弃
229
- stats.dropped += 1;
230
- }
231
- return { comments: normalized, stats };
232
- };
233
- exports.normalizeCommentsWithDiff = normalizeCommentsWithDiff;
234
103
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/reviewer/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/reviewer/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wuyanbin/ai-code-review",
3
- "version": "1.1.8",
3
+ "version": "1.1.10",
4
4
  "description": "AI-powered code review tool for GitLab CI/CD",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",