@wuyanbin/ai-code-review-cli-remote 1.4.2 → 1.5.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.
Files changed (38) hide show
  1. package/README.md +20 -4
  2. package/dist/core/incremental.d.ts +24 -0
  3. package/dist/core/incremental.d.ts.map +1 -1
  4. package/dist/core/incremental.js +48 -0
  5. package/dist/core/incremental.js.map +1 -1
  6. package/dist/core/inheritance.d.ts +73 -0
  7. package/dist/core/inheritance.d.ts.map +1 -0
  8. package/dist/core/inheritance.js +293 -0
  9. package/dist/core/inheritance.js.map +1 -0
  10. package/dist/core/summary-compose.d.ts +15 -0
  11. package/dist/core/summary-compose.d.ts.map +1 -1
  12. package/dist/core/summary-compose.js +16 -1
  13. package/dist/core/summary-compose.js.map +1 -1
  14. package/dist/core/verdict.d.ts +4 -4
  15. package/dist/core/verdict.d.ts.map +1 -1
  16. package/dist/core/verdict.js +23 -13
  17. package/dist/core/verdict.js.map +1 -1
  18. package/dist/gitlab/api.d.ts +23 -0
  19. package/dist/gitlab/api.d.ts.map +1 -1
  20. package/dist/gitlab/api.js +51 -3
  21. package/dist/gitlab/api.js.map +1 -1
  22. package/dist/platform/findings.d.ts +9 -1
  23. package/dist/platform/findings.d.ts.map +1 -1
  24. package/dist/platform/findings.js +70 -3
  25. package/dist/platform/findings.js.map +1 -1
  26. package/dist/platform/report.d.ts +8 -0
  27. package/dist/platform/report.d.ts.map +1 -1
  28. package/dist/platform/report.js.map +1 -1
  29. package/dist/runner.d.ts.map +1 -1
  30. package/dist/runner.js +202 -15
  31. package/dist/runner.js.map +1 -1
  32. package/dist/shared/cli-version.d.ts +9 -0
  33. package/dist/shared/cli-version.d.ts.map +1 -0
  34. package/dist/shared/cli-version.js +46 -0
  35. package/dist/shared/cli-version.js.map +1 -0
  36. package/dist/types.d.ts +29 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +1 -1
@@ -5,6 +5,34 @@ exports.postFindingsSync = postFindingsSync;
5
5
  const constants_1 = require("../constants");
6
6
  const http_1 = require("../shared/http");
7
7
  const confidence_1 = require("../core/confidence");
8
+ function parseInheritance(raw) {
9
+ if (!raw || typeof raw !== "object")
10
+ return null;
11
+ const record = raw;
12
+ const sourceMrIid = typeof record.sourceMrIid === "string" || typeof record.sourceMrIid === "number"
13
+ ? String(record.sourceMrIid)
14
+ : "";
15
+ const match = record.match === "full" || record.match === "partial" ? record.match : null;
16
+ if (!sourceMrIid || !match || typeof record.sourceCliVersion !== "string")
17
+ return null;
18
+ return {
19
+ sourceMrIid,
20
+ sourceTargetBranch: typeof record.sourceTargetBranch === "string" && record.sourceTargetBranch.trim()
21
+ ? record.sourceTargetBranch.trim()
22
+ : null,
23
+ sourceDiffHash: typeof record.sourceDiffHash === "string" ? record.sourceDiffHash : null,
24
+ sourceMergeBaseSha: typeof record.sourceMergeBaseSha === "string" && record.sourceMergeBaseSha.trim()
25
+ ? record.sourceMergeBaseSha.trim()
26
+ : null,
27
+ sourceCliVersion: record.sourceCliVersion,
28
+ sourceModelUsed: typeof record.sourceModelUsed === "string" ? record.sourceModelUsed : "",
29
+ sourceSensitiveAlerts: parseSensitiveAlerts(record.sourceSensitiveAlerts),
30
+ match,
31
+ findings: (Array.isArray(record.findings) ? record.findings : [])
32
+ .map(parseKnownFinding)
33
+ .filter((f) => f !== null),
34
+ };
35
+ }
8
36
  function resolvePlatform(env) {
9
37
  const url = env[constants_1.ENV_PLATFORM_URL]?.replace(/\/+$/, "");
10
38
  const token = env[constants_1.ENV_PROJECT_TOKEN];
@@ -54,18 +82,46 @@ function parseKnownFinding(raw) {
54
82
  : {}),
55
83
  // 非法值只丢字段:一个可选标注不能让整条已知 finding 失效
56
84
  ...((0, confidence_1.isConfidence)(record.confidence) ? { confidence: record.confidence } : {}),
85
+ ...(typeof record.inheritedFromMrIid === "string" && record.inheritedFromMrIid
86
+ ? { inheritedFromMrIid: record.inheritedFromMrIid }
87
+ : typeof record.inheritedFromMrIid === "number"
88
+ ? { inheritedFromMrIid: String(record.inheritedFromMrIid) }
89
+ : {}),
57
90
  };
58
91
  }
92
+ function parseSensitiveAlerts(raw) {
93
+ if (!Array.isArray(raw))
94
+ return [];
95
+ const alerts = [];
96
+ for (const item of raw) {
97
+ if (!item || typeof item !== "object")
98
+ continue;
99
+ const rec = item;
100
+ if (typeof rec.file === "string" &&
101
+ typeof rec.reason === "string" &&
102
+ (rec.riskLevel === "high" || rec.riskLevel === "medium" || rec.riskLevel === "low")) {
103
+ alerts.push({ file: rec.file, reason: rec.reason, riskLevel: rec.riskLevel });
104
+ }
105
+ }
106
+ return alerts;
107
+ }
59
108
  /**
60
109
  * 拉取 MR 已知 findings(OPEN / WONT_FIX / SUPPRESSED)。任何失败(网络、404 老平台、解析)都返回 null,
61
110
  * 调用方退化为无状态评审 —— 持久化层故障绝不能阻塞 CR 流水线。
62
111
  */
63
- async function fetchKnownFindings(mrIid, env = process.env) {
112
+ async function fetchKnownFindings(mrIid, env = process.env, query = {}) {
64
113
  const platform = resolvePlatform(env);
65
114
  if (!platform)
66
115
  return null;
116
+ const params = new URLSearchParams({ mrIid });
117
+ if (query.headSha)
118
+ params.set("headSha", query.headSha);
119
+ if (query.diffHash)
120
+ params.set("diffHash", query.diffHash);
121
+ if (query.cliVersion)
122
+ params.set("cliVersion", query.cliVersion);
67
123
  try {
68
- const resp = await (0, http_1.fetchWithTimeout)(`${platform.url}${constants_1.API_FINDINGS_PATH}?mrIid=${encodeURIComponent(mrIid)}`, { headers: { Authorization: `Bearer ${platform.token}` } }, constants_1.API_TIMEOUT_MS);
124
+ const resp = await (0, http_1.fetchWithTimeout)(`${platform.url}${constants_1.API_FINDINGS_PATH}?${params.toString()}`, { headers: { Authorization: `Bearer ${platform.token}` } }, constants_1.API_TIMEOUT_MS);
69
125
  if (!resp.ok) {
70
126
  console.error(`[findings] fetch failed status=${resp.status}`);
71
127
  return null;
@@ -80,7 +136,18 @@ async function fetchKnownFindings(mrIid, env = process.env) {
80
136
  ? json.lastReviewedSha
81
137
  : null;
82
138
  console.error(`[findings] fetched known=${findings.length} lastReviewedSha=${lastReviewedSha ?? "(none)"}`);
83
- return { lastReviewedSha, findings };
139
+ const snapshot = { lastReviewedSha, findings };
140
+ if ("inheritance" in json) {
141
+ snapshot.inheritance = parseInheritance(json.inheritance);
142
+ if (snapshot.inheritance) {
143
+ console.error(`[inherit] source=!${snapshot.inheritance.sourceMrIid} match=${snapshot.inheritance.match} targetBranch=${snapshot.inheritance.sourceTargetBranch ?? "(none)"} cliVersion=${snapshot.inheritance.sourceCliVersion} findings=${snapshot.inheritance.findings.length}`);
144
+ }
145
+ }
146
+ if (typeof json.inheritanceSkipped === "string" && json.inheritanceSkipped) {
147
+ snapshot.inheritanceSkipped = json.inheritanceSkipped;
148
+ console.error(`[inherit] skipped reason=${json.inheritanceSkipped}`);
149
+ }
150
+ return snapshot;
84
151
  }
85
152
  catch (error) {
86
153
  console.error("[findings] fetch error:", error instanceof Error ? error.message : String(error));
@@ -1 +1 @@
1
- {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/platform/findings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/platform/findings.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,14 @@ export interface RunReportPayload {
23
23
  fixed: number;
24
24
  open: number;
25
25
  };
26
+ /** 1.5.0 起每次上报:自身版本、送审 diff 哈希、merge-base;继承运行另带模式与计数 */
27
+ cliVersion?: string;
28
+ diffHash?: string;
29
+ mergeBaseSha?: string;
30
+ inheritedFromMrIid?: string;
31
+ inheritance?: "full" | "partial";
32
+ inheritedCount?: number;
33
+ reviewedHunks?: number;
26
34
  sensitiveAlerts?: Array<{
27
35
  file: string;
28
36
  reason: string;
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/platform/report.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KACtC,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAGD,wBAAsB,aAAa,CACjC,OAAO,EAAE,gBAAgB,EACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/platform/report.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,aAAa,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,KAAK,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;KACtC,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAGD,wBAAsB,aAAa,CACjC,OAAO,EAAE,gBAAgB,EACzB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,IAAI,CAAC,CA8Bf"}
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/platform/report.ts"],"names":[],"mappings":";;AAsCA,sCAiCC;AAvED,4CAKsB;AACtB,yCAAkD;AA+BlD,SAAS;AACF,KAAK,UAAU,aAAa,CACjC,OAAyB,EACzB,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,WAAW,GAAG,GAAG,CAAC,4BAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,6BAAiB,CAAC,CAAC;IACrC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnC,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAgB,EACjC,GAAG,WAAW,GAAG,yBAAa,EAAE,EAChC;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,EACD,0BAAc,CACf,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,oBAAoB,EACpB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/platform/report.ts"],"names":[],"mappings":";;AA8CA,sCAiCC;AA/ED,4CAKsB;AACtB,yCAAkD;AAuClD,SAAS;AACF,KAAK,UAAU,aAAa,CACjC,OAAyB,EACzB,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,WAAW,GAAG,GAAG,CAAC,4BAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,6BAAiB,CAAC,CAAC;IACrC,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnC,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAgB,EACjC,GAAG,WAAW,GAAG,yBAAa,EAAE,EAChC;YACE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;aACjC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,EACD,0BAAc,CACf,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,oBAAoB,EACpB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAiJA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAuchD"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAoPA,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAilBhD"}
package/dist/runner.js CHANGED
@@ -4,6 +4,10 @@ exports.reviewMain = reviewMain;
4
4
  const config_1 = require("./platform/config");
5
5
  const output_1 = require("./core/output");
6
6
  const incremental_1 = require("./core/incremental");
7
+ const inheritance_1 = require("./core/inheritance");
8
+ const cursor_rules_1 = require("./core/cursor-rules");
9
+ const cli_version_1 = require("./shared/cli-version");
10
+ const identity_1 = require("./shared/identity");
7
11
  const verification_1 = require("./core/verification");
8
12
  const revalidation_1 = require("./core/revalidation");
9
13
  const semantic_match_1 = require("./core/semantic-match");
@@ -17,6 +21,56 @@ const run_report_fields_1 = require("./core/run-report-fields");
17
21
  const findings_1 = require("./platform/findings");
18
22
  const report_1 = require("./platform/report");
19
23
  const api_1 = require("./gitlab/api");
24
+ /**
25
+ * 按平台下发的继承块制定计划:同代码直接整体复用;同 head 不同 diff 先算来源 diff 与差集,
26
+ * 来源 diff 算不出就放弃继承(退化为普通首轮)。
27
+ */
28
+ async function planInheritance(source, diff, commitSha) {
29
+ const selected = (0, inheritance_1.selectInheritedFindings)(source.findings, diff);
30
+ const { dropped } = selected;
31
+ let inherited = selected.inherited;
32
+ if (source.match === "full") {
33
+ // 来源因预算 / 上限 / 时限没排上验证的(SUPPRESSED + SKIPPED)不继承:整体复用零模型调用,
34
+ // 继承过来会永远沉默;不继承则下次增量评审若再报按新建走取证
35
+ const unverified = inherited.filter((f) => f.status === "SUPPRESSED" && f.verificationVerdict === "SKIPPED").length;
36
+ if (unverified > 0) {
37
+ inherited = inherited.filter((f) => !(f.status === "SUPPRESSED" && f.verificationVerdict === "SKIPPED"));
38
+ }
39
+ console.error(`[inherit] mode=full source=!${source.sourceMrIid} inherited=${inherited.length} dropped=${dropped} skippedUnverified=${unverified}`);
40
+ return {
41
+ mode: "full",
42
+ source,
43
+ inherited,
44
+ dropped,
45
+ reviewedHunks: 0,
46
+ reducedDiff: "",
47
+ scope: { changedFiles: new Set(), hunks: new Map() },
48
+ };
49
+ }
50
+ if (!source.sourceTargetBranch) {
51
+ console.error(`[inherit] source diff unavailable (source target branch unknown); falling back to plain baseline review`);
52
+ return null;
53
+ }
54
+ const sourceDiff = await (0, inheritance_1.loadSourceDiff)(source.sourceTargetBranch, {
55
+ ...(commitSha ? { headSha: commitSha } : {}),
56
+ mergeBaseSha: source.sourceMergeBaseSha,
57
+ });
58
+ if (sourceDiff.diff === null) {
59
+ console.error(`[inherit] source diff unavailable (${sourceDiff.reason}); falling back to plain baseline review`);
60
+ return null;
61
+ }
62
+ const split = (0, inheritance_1.splitDeltaHunks)(diff, (0, inheritance_1.collectCoveredLines)(sourceDiff.diff));
63
+ console.error(`[inherit] mode=partial source=!${source.sourceMrIid} sourceMergeBase=${sourceDiff.mergeBase.slice(0, 8)}(${sourceDiff.mergeBaseSource}) inherited=${inherited.length} dropped=${dropped} reviewedHunks=${split.reviewedHunks} totalHunks=${split.totalHunks}`);
64
+ return {
65
+ mode: "partial",
66
+ source,
67
+ inherited,
68
+ dropped,
69
+ reviewedHunks: split.reviewedHunks,
70
+ reducedDiff: split.reducedDiff,
71
+ scope: (0, inheritance_1.buildPartialChangeScope)(split),
72
+ };
73
+ }
20
74
  /** 覆盖缺口表格里的文件列:只列前几个,避免把评论撑爆 */
21
75
  function formatFileList(files, limit = 5) {
22
76
  const shown = files.slice(0, limit).map((f) => `\`${f}\``);
@@ -109,6 +163,15 @@ async function reviewMain() {
109
163
  logConfigDetails(config);
110
164
  const mrIid = process.env.CI_MERGE_REQUEST_IID;
111
165
  const commitSha = (0, api_1.resolvePipelineHeadSha)(process.env);
166
+ // 每次 run 都带:自身版本、送审 diff 哈希、merge-base(只记录不参与匹配),否则没有 run 能成为继承来源
167
+ const cliVersion = (0, cli_version_1.readCliVersion)();
168
+ const diffHash = (0, inheritance_1.hashDiff)(diff);
169
+ const mergeBaseSha = (0, cursor_rules_1.resolveRulesBase)(process.cwd())?.sha ?? null;
170
+ const runIdentity = {
171
+ ...(cliVersion ? { cliVersion } : {}),
172
+ diffHash,
173
+ ...(mergeBaseSha ? { mergeBaseSha } : {}),
174
+ };
112
175
  if (!config.ai.apiKey) {
113
176
  console.error("[runner] review failed: 未配置模型 API Key");
114
177
  console.log(JSON.stringify((0, output_1.buildEmptyRdjson)()));
@@ -151,21 +214,59 @@ async function reviewMain() {
151
214
  }
152
215
  // 先取 findings 快照判定 baseline(决定是否为 user 内容打缓存断点)再评审。
153
216
  // 快照是一次毫秒级平台请求,串行代价可忽略;拉取失败 fail-open 退化为无状态评审。
154
- const knownSnapshot = mrIid ? await (0, findings_1.fetchKnownFindings)(mrIid) : null;
217
+ const knownSnapshot = mrIid
218
+ ? await (0, findings_1.fetchKnownFindings)(mrIid, process.env, {
219
+ ...(commitSha ? { headSha: commitSha } : {}),
220
+ diffHash,
221
+ ...(cliVersion ? { cliVersion } : {}),
222
+ })
223
+ : null;
155
224
  const isBaseline = !!knownSnapshot && !knownSnapshot.lastReviewedSha;
225
+ // 跨 MR 继承:平台在首轮且本 MR 无记录时按 head 找到来源 run。同代码整体复用零模型调用;
226
+ // 同 head 不同 diff 只把差集 hunk 送模型;来源 diff 算不出退化为普通首轮。
227
+ // 清理运行(空 diff)没有东西可继承,不白拉来源分支
228
+ const inherit = knownSnapshot?.inheritance && !isCleanupRun
229
+ ? await planInheritance(knownSnapshot.inheritance, diff, commitSha)
230
+ : null;
156
231
  // baseline 双趟的 prompt 逐字节相同:趟 1 写入 prompt cache,趟 2 全量命中
157
232
  // baseline(首轮全量审)多趟提召回:仅首轮多付成本;非 baseline 与无状态
158
233
  // 运行(snapshot 为 null)保持单趟。多趟由 reviewCode 在**分片内部相邻发起**,
159
234
  // 而不是在这里整体重跑——后者会让趟 1 写入的 prompt cache 在趟 2 前就过期。
160
235
  const passes = isBaseline ? reviewer_1.BASELINE_REVIEW_PASSES : 1;
161
- const result = await (0, reviewer_1.reviewCode)(diff, config, {
162
- ...((0, reviewer_1.shouldCacheBaselineUserPrompt)(isBaseline)
163
- ? { cacheUserPrompt: true }
164
- : {}),
165
- passes,
166
- });
167
- if (result && passes > 1) {
168
- console.error(`[runner] baseline multi-pass passes=${passes} mergedComments=${result.comments.length}`);
236
+ let result;
237
+ if (inherit && (inherit.mode === "full" || inherit.reviewedHunks === 0)) {
238
+ // 整体复用,或差集为空:不调主评审;整体复用把来源 run 的敏感预警原样带上(摘要与上报)
239
+ result = {
240
+ comments: [],
241
+ ...(inherit.mode === "full" && inherit.source.sourceSensitiveAlerts.length > 0
242
+ ? {
243
+ sensitiveAlerts: inherit.source.sourceSensitiveAlerts.map((alert) => ({
244
+ ...alert,
245
+ confirmed: true,
246
+ })),
247
+ }
248
+ : {}),
249
+ };
250
+ }
251
+ else if (inherit) {
252
+ result = await (0, reviewer_1.reviewCode)(inherit.reducedDiff, config, {
253
+ ...((0, reviewer_1.shouldCacheBaselineUserPrompt)(true) ? { cacheUserPrompt: true } : {}),
254
+ passes: reviewer_1.BASELINE_REVIEW_PASSES,
255
+ });
256
+ if (result) {
257
+ console.error(`[runner] inherited partial multi-pass passes=${reviewer_1.BASELINE_REVIEW_PASSES} reviewedHunks=${inherit.reviewedHunks} mergedComments=${result.comments.length}`);
258
+ }
259
+ }
260
+ else {
261
+ result = await (0, reviewer_1.reviewCode)(diff, config, {
262
+ ...((0, reviewer_1.shouldCacheBaselineUserPrompt)(isBaseline)
263
+ ? { cacheUserPrompt: true }
264
+ : {}),
265
+ passes,
266
+ });
267
+ if (result && passes > 1) {
268
+ console.error(`[runner] baseline multi-pass passes=${passes} mergedComments=${result.comments.length}`);
269
+ }
169
270
  }
170
271
  if (!result) {
171
272
  console.error("[runner] review failed: model returned no valid result");
@@ -176,13 +277,34 @@ async function reviewMain() {
176
277
  duration: Date.now() - startedAt,
177
278
  mrIid,
178
279
  ...summarizeUsageForReport(),
280
+ ...runIdentity,
179
281
  });
180
282
  return;
181
283
  }
182
284
  const gitlabContext = (await (0, api_1.fetchGitlabContext)({ token: config.gitlab?.token })) ?? undefined;
183
285
  // 与平台已知 findings 对账:漏报保活、修复收口、人工 dismiss 终态、增量准入
184
286
  let reconciled = null;
185
- if (knownSnapshot) {
287
+ const inheritedFingerprints = new Set(inherit?.inherited.map((finding) => finding.fingerprint) ?? []);
288
+ if (inherit?.mode === "full") {
289
+ // 同代码:继承集直接成对账结果,不走对账逻辑
290
+ reconciled = (0, incremental_1.buildInheritedReconcileResult)(inherit.inherited);
291
+ }
292
+ else if (inherit) {
293
+ // 部分继承:继承集作已知方、差集评审作本次输出;范围按未覆盖行,继承锚点永远「未触碰」。
294
+ // 继承标记在复核 / 判重 / 取证全部应用之后统一打(见下)
295
+ reconciled = (0, incremental_1.reconcileFindings)({
296
+ known: inherit.inherited,
297
+ current: result.comments,
298
+ diff,
299
+ changedFiles: inherit.scope.changedFiles,
300
+ changeScope: inherit.scope,
301
+ baseline: false,
302
+ humanResolved: gitlabContext
303
+ ? (0, api_1.collectHumanResolutions)(gitlabContext)
304
+ : new Map(),
305
+ });
306
+ }
307
+ else if (knownSnapshot) {
186
308
  const changeScope = knownSnapshot.lastReviewedSha
187
309
  ? await (0, incremental_1.loadIncrementalChangeScope)(knownSnapshot.lastReviewedSha, {
188
310
  ...(commitSha ? { headSha: commitSha } : {}),
@@ -202,7 +324,8 @@ async function reviewMain() {
202
324
  }
203
325
  // keptUntouched 保活候选交模型复核裁决,新建 finding 与存活已知 finding 交模型
204
326
  // 判重;两者并行,不拉长关键路径。复核/判重失败或关闭时行为与未引入时完全一致。
205
- const revalidationCandidates = reconciled?.revalidationCandidates ?? [];
327
+ // 继承运行不复核:继承的 OPEN 条目没有进入本次送审范围,没有新证据可裁决
328
+ const revalidationCandidates = inherit ? [] : reconciled?.revalidationCandidates ?? [];
206
329
  const semanticPairs = reconciled ? (0, semantic_match_1.selectSemanticPairs)(reconciled) : [];
207
330
  const [revalidationVerdicts, semanticMatches] = await Promise.all([
208
331
  revalidationCandidates.length > 0
@@ -227,6 +350,9 @@ async function reviewMain() {
227
350
  if (reconciled && verification.verdicts.size > 0) {
228
351
  reconciled = (0, incremental_1.applyVerificationVerdicts)(reconciled, verification.verdicts);
229
352
  }
353
+ if (reconciled && inheritedFingerprints.size > 0) {
354
+ reconciled = (0, incremental_1.markInheritedFindings)(reconciled, inheritedFingerprints);
355
+ }
230
356
  const suppressedCount = verification.counts.refuted +
231
357
  verification.counts.unsure +
232
358
  verification.counts.skipped;
@@ -254,9 +380,13 @@ async function reviewMain() {
254
380
  // 合入前检查项先按文件路径确定性识别,再喂给摘要模型避免重复。
255
381
  const diffDigest = (0, diff_1.summarizeDiffFiles)(diff);
256
382
  const mergeChecklist = (0, summary_compose_1.detectMergeChecklist)(diffDigest.files.map((f) => f.file), diff);
257
- const summaryMarkdown = await (0, summarizer_1.generateSummary)(diff, config, activeComments, {
258
- checklist: mergeChecklist,
259
- });
383
+ // 同代码整体复用:零模型调用,摘要的模型段(概述 / 主要变更 / 模型补充的检查项)不生成,
384
+ // 以一行指向来源 MR 摘要代替;CLI 按路径识别的检查项照常。
385
+ const summaryMarkdown = inherit?.mode === "full"
386
+ ? null
387
+ : await (0, summarizer_1.generateSummary)(diff, config, activeComments, {
388
+ checklist: mergeChecklist,
389
+ });
260
390
  const modelSummary = (0, summary_compose_1.parseModelSummary)(summaryMarkdown);
261
391
  const verdict = (0, verdict_1.computeVerdict)(blockingComments);
262
392
  console.error(`[runner] review complete comments=${activeComments.length} inline=${activeComments.filter((c) => c.severity === "P0").length} digest=${activeComments.filter((c) => c.severity !== "P0").length} blocking=${
@@ -279,12 +409,26 @@ async function reviewMain() {
279
409
  added: diffDigest.totalAdded,
280
410
  removed: diffDigest.totalRemoved,
281
411
  ...(result.coverage ? { reviewedFiles: result.coverage.reviewedFiles } : {}),
412
+ ...(inherit
413
+ ? {
414
+ inheritance: {
415
+ mode: inherit.mode,
416
+ sourceMrIid: inherit.source.sourceMrIid,
417
+ inheritedCount: inherit.inherited.length,
418
+ reviewedHunks: inherit.reviewedHunks,
419
+ wontFixInherited: inherit.inherited.filter((f) => f.status === "WONT_FIX").length,
420
+ },
421
+ }
422
+ : {}),
282
423
  };
283
424
  const reviewDelta = reconciled && reviewScope.mode === "incremental"
284
425
  ? (0, summary_compose_1.buildReviewDelta)(reconciled.stats)
285
426
  : null;
286
427
  // 覆盖缺口与敏感预警作为附加段,排在主要变更之后、页脚说明之前
287
428
  const appendix = [];
429
+ if (inherit?.mode === "full") {
430
+ appendix.push(`概述、主要变更与模型补充的检查项见 MR !${inherit.source.sourceMrIid} 的评审摘要(本次未调用模型)。`);
431
+ }
288
432
  // 未审到的文件必须让 MR 作者看见:静默漏审比不审更糟——
289
433
  // 使用者会以为「已评审」而实际上那些文件根本没进过模型。
290
434
  if ((0, reviewer_1.hasCoverageGap)(result.coverage)) {
@@ -373,12 +517,42 @@ async function reviewMain() {
373
517
  if (headFreshness === "unknown") {
374
518
  console.error(`[runner] MR head freshness unknown pipelineCommit=${commitSha ? "present" : "missing"} currentHead=${mergeRequestHeadSha ? "present" : "missing"}; continuing`);
375
519
  }
520
+ // 继承评论的来源行每次运行都要保留:本次新继承的条目 + 平台快照里已标 inheritedFromMrIid 的历史继承行
521
+ const inheritedByFingerprint = new Map();
522
+ for (const known of knownSnapshot?.findings ?? []) {
523
+ if (known.inheritedFromMrIid)
524
+ inheritedByFingerprint.set(known.fingerprint, known.inheritedFromMrIid);
525
+ }
526
+ if (inherit) {
527
+ for (const fingerprint of inheritedFingerprints) {
528
+ inheritedByFingerprint.set(fingerprint, inherit.source.sourceMrIid);
529
+ }
530
+ }
531
+ // 「原讨论」链接:只对本次要发的行内评论里确有继承条目的来源 MR 各拉一次讨论
532
+ const inheritedNoteUrls = new Map();
533
+ const sourceMrsToLookup = new Set(inlineComments
534
+ .map((comment) => inheritedByFingerprint.get((0, identity_1.buildCommentFingerprint)(comment)))
535
+ .filter((source) => !!source));
536
+ for (const sourceMrIid of sourceMrsToLookup) {
537
+ const urls = await (0, api_1.fetchSourceDiscussionNoteUrls)({
538
+ token: config.gitlab?.token,
539
+ sourceMrIid,
540
+ userId: gitlabContext?.user?.id,
541
+ });
542
+ for (const [fingerprint, url] of urls) {
543
+ if (inheritedByFingerprint.get(fingerprint) === sourceMrIid)
544
+ inheritedNoteUrls.set(fingerprint, url);
545
+ }
546
+ }
376
547
  await (0, api_1.postGitlabDiscussions)({
377
548
  comments: inlineComments,
378
549
  diff,
379
550
  token: config.gitlab?.token,
380
551
  context: gitlabContext,
381
552
  ...(mergeRequest ? { mergeRequest } : {}),
553
+ ...(inheritedByFingerprint.size > 0
554
+ ? { inherited: { byFingerprint: inheritedByFingerprint, noteUrls: inheritedNoteUrls } }
555
+ : {}),
382
556
  });
383
557
  console.log(JSON.stringify((0, output_1.buildRdjson)(activeComments)));
384
558
  await (0, api_1.postGitlabSummary)({
@@ -391,6 +565,7 @@ async function reviewMain() {
391
565
  findingsSynced = await (0, findings_1.postFindingsSync)({
392
566
  mrIid,
393
567
  findings: reconciledFindings,
568
+ ...(inherit ? { inheritedFromMrIid: inherit.source.sourceMrIid } : {}),
394
569
  });
395
570
  }
396
571
  // commitSha 推进 lastReviewedSha;只有 finding 集合同步成功时才能推进,
@@ -398,7 +573,10 @@ async function reviewMain() {
398
573
  const mrContext = (0, run_report_fields_1.resolveMrContext)();
399
574
  await (0, report_1.postRunReport)({
400
575
  status: "SUCCESS",
401
- modelUsed: config.ai.model,
576
+ // 同代码整体复用没有调模型:模型位置显示来源 run 的模型
577
+ modelUsed: inherit?.mode === "full" && inherit.source.sourceModelUsed
578
+ ? inherit.source.sourceModelUsed
579
+ : config.ai.model,
402
580
  // 「评论数」= 真正发到 MR 的行内评论(经验证的 P0);P1 只在摘要汇总,计入 severityCounts 不计入评论数
403
581
  commentCount: inlineComments.length,
404
582
  verdict,
@@ -422,6 +600,15 @@ async function reviewMain() {
422
600
  riskLevel,
423
601
  })),
424
602
  sensitiveOverflow: result.sensitiveOverflow,
603
+ ...runIdentity,
604
+ ...(inherit
605
+ ? {
606
+ inheritance: inherit.mode,
607
+ inheritedFromMrIid: inherit.source.sourceMrIid,
608
+ inheritedCount: inherit.inherited.length,
609
+ reviewedHunks: inherit.reviewedHunks,
610
+ }
611
+ : {}),
425
612
  });
426
613
  }
427
614
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 运行时读取自身版本(design D4):从本模块所在目录向上找本包的 package.json,
3
+ * 适配发布包(dist/shared → 包根)与测试编译目录(.tmp-test-build/src/shared → 包根)。
4
+ * 读不到返回 null,调用方不传 cliVersion,平台视为无版本、不复用。进程内只读一次。
5
+ */
6
+ export declare function readCliVersion(startDir?: string): string | null;
7
+ /** 测试用:清掉进程内缓存 */
8
+ export declare function resetCliVersionCache(): void;
9
+ //# sourceMappingURL=cli-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-version.d.ts","sourceRoot":"","sources":["../../src/shared/cli-version.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAkB,GAAG,MAAM,GAAG,IAAI,CAI1E;AAED,kBAAkB;AAClB,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C"}