@wuyanbin/ai-code-review-cli-remote 1.4.2 → 1.6.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 (54) hide show
  1. package/README.md +34 -10
  2. package/dist/core/agent-runtime.d.ts +1 -1
  3. package/dist/core/agent-runtime.d.ts.map +1 -1
  4. package/dist/core/agent-runtime.js +7 -2
  5. package/dist/core/agent-runtime.js.map +1 -1
  6. package/dist/core/incremental.d.ts +24 -0
  7. package/dist/core/incremental.d.ts.map +1 -1
  8. package/dist/core/incremental.js +48 -0
  9. package/dist/core/incremental.js.map +1 -1
  10. package/dist/core/inheritance.d.ts +73 -0
  11. package/dist/core/inheritance.d.ts.map +1 -0
  12. package/dist/core/inheritance.js +293 -0
  13. package/dist/core/inheritance.js.map +1 -0
  14. package/dist/core/model.d.ts.map +1 -1
  15. package/dist/core/model.js +3 -0
  16. package/dist/core/model.js.map +1 -1
  17. package/dist/core/summary-compose.d.ts +15 -0
  18. package/dist/core/summary-compose.d.ts.map +1 -1
  19. package/dist/core/summary-compose.js +16 -1
  20. package/dist/core/summary-compose.js.map +1 -1
  21. package/dist/core/verdict.d.ts +4 -4
  22. package/dist/core/verdict.d.ts.map +1 -1
  23. package/dist/core/verdict.js +23 -13
  24. package/dist/core/verdict.js.map +1 -1
  25. package/dist/gitlab/api.d.ts +40 -4
  26. package/dist/gitlab/api.d.ts.map +1 -1
  27. package/dist/gitlab/api.js +187 -63
  28. package/dist/gitlab/api.js.map +1 -1
  29. package/dist/platform/config.d.ts +4 -1
  30. package/dist/platform/config.d.ts.map +1 -1
  31. package/dist/platform/config.js +22 -5
  32. package/dist/platform/config.js.map +1 -1
  33. package/dist/platform/findings.d.ts +9 -1
  34. package/dist/platform/findings.d.ts.map +1 -1
  35. package/dist/platform/findings.js +72 -3
  36. package/dist/platform/findings.js.map +1 -1
  37. package/dist/platform/report.d.ts +13 -0
  38. package/dist/platform/report.d.ts.map +1 -1
  39. package/dist/platform/report.js +2 -0
  40. package/dist/platform/report.js.map +1 -1
  41. package/dist/runner.d.ts.map +1 -1
  42. package/dist/runner.js +206 -25
  43. package/dist/runner.js.map +1 -1
  44. package/dist/shared/ci-auth.d.ts +14 -0
  45. package/dist/shared/ci-auth.d.ts.map +1 -0
  46. package/dist/shared/ci-auth.js +37 -0
  47. package/dist/shared/ci-auth.js.map +1 -0
  48. package/dist/shared/cli-version.d.ts +9 -0
  49. package/dist/shared/cli-version.d.ts.map +1 -0
  50. package/dist/shared/cli-version.js +46 -0
  51. package/dist/shared/cli-version.js.map +1 -0
  52. package/dist/types.d.ts +29 -3
  53. package/dist/types.d.ts.map +1 -1
  54. package/package.json +1 -1
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}\``);
@@ -56,7 +110,6 @@ function logConfigDetails(config) {
56
110
  if (config.ignore.length > 0) {
57
111
  lines.push(` ignore : ${config.ignore.join(", ")}`);
58
112
  }
59
- lines.push(` gitlabToken: ${config.gitlab?.token ? "***" : "(missing)"}`);
60
113
  lines.push(`────────────────`);
61
114
  for (const line of lines) {
62
115
  console.error(`[runner] ${line}`);
@@ -109,6 +162,15 @@ async function reviewMain() {
109
162
  logConfigDetails(config);
110
163
  const mrIid = process.env.CI_MERGE_REQUEST_IID;
111
164
  const commitSha = (0, api_1.resolvePipelineHeadSha)(process.env);
165
+ // 每次 run 都带:自身版本、送审 diff 哈希、merge-base(只记录不参与匹配),否则没有 run 能成为继承来源
166
+ const cliVersion = (0, cli_version_1.readCliVersion)();
167
+ const diffHash = (0, inheritance_1.hashDiff)(diff);
168
+ const mergeBaseSha = (0, cursor_rules_1.resolveRulesBase)(process.cwd())?.sha ?? null;
169
+ const runIdentity = {
170
+ ...(cliVersion ? { cliVersion } : {}),
171
+ diffHash,
172
+ ...(mergeBaseSha ? { mergeBaseSha } : {}),
173
+ };
112
174
  if (!config.ai.apiKey) {
113
175
  console.error("[runner] review failed: 未配置模型 API Key");
114
176
  console.log(JSON.stringify((0, output_1.buildEmptyRdjson)()));
@@ -117,9 +179,7 @@ async function reviewMain() {
117
179
  // 模型调用前预检:一次 MR 实时读取给 Draft / 终态 / stale 三道闸,把
118
180
  // 「先花钱评审再丢弃写入」变成「先拒绝再花钱」——手动触发旧 pipeline 的
119
181
  // job 会在这里被挡下。读取失败 fail-open 继续,由写前守卫(见下)兜底。
120
- const preflightMr = await (0, api_1.fetchGitlabMergeRequest)({
121
- token: config.gitlab?.token,
122
- });
182
+ const preflightMr = await (0, api_1.fetchGitlabMergeRequest)({});
123
183
  if ((0, api_1.isMergeRequestDraft)(preflightMr)) {
124
184
  console.error("[runner] review refused: MR is draft per GitLab; mark it ready and trigger the job on a new pipeline");
125
185
  console.log(JSON.stringify((0, output_1.buildEmptyRdjson)()));
@@ -151,21 +211,59 @@ async function reviewMain() {
151
211
  }
152
212
  // 先取 findings 快照判定 baseline(决定是否为 user 内容打缓存断点)再评审。
153
213
  // 快照是一次毫秒级平台请求,串行代价可忽略;拉取失败 fail-open 退化为无状态评审。
154
- const knownSnapshot = mrIid ? await (0, findings_1.fetchKnownFindings)(mrIid) : null;
214
+ const knownSnapshot = mrIid
215
+ ? await (0, findings_1.fetchKnownFindings)(mrIid, process.env, {
216
+ ...(commitSha ? { headSha: commitSha } : {}),
217
+ diffHash,
218
+ ...(cliVersion ? { cliVersion } : {}),
219
+ })
220
+ : null;
155
221
  const isBaseline = !!knownSnapshot && !knownSnapshot.lastReviewedSha;
222
+ // 跨 MR 继承:平台在首轮且本 MR 无记录时按 head 找到来源 run。同代码整体复用零模型调用;
223
+ // 同 head 不同 diff 只把差集 hunk 送模型;来源 diff 算不出退化为普通首轮。
224
+ // 清理运行(空 diff)没有东西可继承,不白拉来源分支
225
+ const inherit = knownSnapshot?.inheritance && !isCleanupRun
226
+ ? await planInheritance(knownSnapshot.inheritance, diff, commitSha)
227
+ : null;
156
228
  // baseline 双趟的 prompt 逐字节相同:趟 1 写入 prompt cache,趟 2 全量命中
157
229
  // baseline(首轮全量审)多趟提召回:仅首轮多付成本;非 baseline 与无状态
158
230
  // 运行(snapshot 为 null)保持单趟。多趟由 reviewCode 在**分片内部相邻发起**,
159
231
  // 而不是在这里整体重跑——后者会让趟 1 写入的 prompt cache 在趟 2 前就过期。
160
232
  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}`);
233
+ let result;
234
+ if (inherit && (inherit.mode === "full" || inherit.reviewedHunks === 0)) {
235
+ // 整体复用,或差集为空:不调主评审;整体复用把来源 run 的敏感预警原样带上(摘要与上报)
236
+ result = {
237
+ comments: [],
238
+ ...(inherit.mode === "full" && inherit.source.sourceSensitiveAlerts.length > 0
239
+ ? {
240
+ sensitiveAlerts: inherit.source.sourceSensitiveAlerts.map((alert) => ({
241
+ ...alert,
242
+ confirmed: true,
243
+ })),
244
+ }
245
+ : {}),
246
+ };
247
+ }
248
+ else if (inherit) {
249
+ result = await (0, reviewer_1.reviewCode)(inherit.reducedDiff, config, {
250
+ ...((0, reviewer_1.shouldCacheBaselineUserPrompt)(true) ? { cacheUserPrompt: true } : {}),
251
+ passes: reviewer_1.BASELINE_REVIEW_PASSES,
252
+ });
253
+ if (result) {
254
+ console.error(`[runner] inherited partial multi-pass passes=${reviewer_1.BASELINE_REVIEW_PASSES} reviewedHunks=${inherit.reviewedHunks} mergedComments=${result.comments.length}`);
255
+ }
256
+ }
257
+ else {
258
+ result = await (0, reviewer_1.reviewCode)(diff, config, {
259
+ ...((0, reviewer_1.shouldCacheBaselineUserPrompt)(isBaseline)
260
+ ? { cacheUserPrompt: true }
261
+ : {}),
262
+ passes,
263
+ });
264
+ if (result && passes > 1) {
265
+ console.error(`[runner] baseline multi-pass passes=${passes} mergedComments=${result.comments.length}`);
266
+ }
169
267
  }
170
268
  if (!result) {
171
269
  console.error("[runner] review failed: model returned no valid result");
@@ -176,13 +274,34 @@ async function reviewMain() {
176
274
  duration: Date.now() - startedAt,
177
275
  mrIid,
178
276
  ...summarizeUsageForReport(),
277
+ ...runIdentity,
179
278
  });
180
279
  return;
181
280
  }
182
- const gitlabContext = (await (0, api_1.fetchGitlabContext)({ token: config.gitlab?.token })) ?? undefined;
281
+ const gitlabContext = (await (0, api_1.fetchGitlabContext)({})) ?? undefined;
183
282
  // 与平台已知 findings 对账:漏报保活、修复收口、人工 dismiss 终态、增量准入
184
283
  let reconciled = null;
185
- if (knownSnapshot) {
284
+ const inheritedFingerprints = new Set(inherit?.inherited.map((finding) => finding.fingerprint) ?? []);
285
+ if (inherit?.mode === "full") {
286
+ // 同代码:继承集直接成对账结果,不走对账逻辑
287
+ reconciled = (0, incremental_1.buildInheritedReconcileResult)(inherit.inherited);
288
+ }
289
+ else if (inherit) {
290
+ // 部分继承:继承集作已知方、差集评审作本次输出;范围按未覆盖行,继承锚点永远「未触碰」。
291
+ // 继承标记在复核 / 判重 / 取证全部应用之后统一打(见下)
292
+ reconciled = (0, incremental_1.reconcileFindings)({
293
+ known: inherit.inherited,
294
+ current: result.comments,
295
+ diff,
296
+ changedFiles: inherit.scope.changedFiles,
297
+ changeScope: inherit.scope,
298
+ baseline: false,
299
+ humanResolved: gitlabContext
300
+ ? (0, api_1.collectHumanResolutions)(gitlabContext)
301
+ : new Map(),
302
+ });
303
+ }
304
+ else if (knownSnapshot) {
186
305
  const changeScope = knownSnapshot.lastReviewedSha
187
306
  ? await (0, incremental_1.loadIncrementalChangeScope)(knownSnapshot.lastReviewedSha, {
188
307
  ...(commitSha ? { headSha: commitSha } : {}),
@@ -202,7 +321,8 @@ async function reviewMain() {
202
321
  }
203
322
  // keptUntouched 保活候选交模型复核裁决,新建 finding 与存活已知 finding 交模型
204
323
  // 判重;两者并行,不拉长关键路径。复核/判重失败或关闭时行为与未引入时完全一致。
205
- const revalidationCandidates = reconciled?.revalidationCandidates ?? [];
324
+ // 继承运行不复核:继承的 OPEN 条目没有进入本次送审范围,没有新证据可裁决
325
+ const revalidationCandidates = inherit ? [] : reconciled?.revalidationCandidates ?? [];
206
326
  const semanticPairs = reconciled ? (0, semantic_match_1.selectSemanticPairs)(reconciled) : [];
207
327
  const [revalidationVerdicts, semanticMatches] = await Promise.all([
208
328
  revalidationCandidates.length > 0
@@ -227,6 +347,9 @@ async function reviewMain() {
227
347
  if (reconciled && verification.verdicts.size > 0) {
228
348
  reconciled = (0, incremental_1.applyVerificationVerdicts)(reconciled, verification.verdicts);
229
349
  }
350
+ if (reconciled && inheritedFingerprints.size > 0) {
351
+ reconciled = (0, incremental_1.markInheritedFindings)(reconciled, inheritedFingerprints);
352
+ }
230
353
  const suppressedCount = verification.counts.refuted +
231
354
  verification.counts.unsure +
232
355
  verification.counts.skipped;
@@ -254,9 +377,13 @@ async function reviewMain() {
254
377
  // 合入前检查项先按文件路径确定性识别,再喂给摘要模型避免重复。
255
378
  const diffDigest = (0, diff_1.summarizeDiffFiles)(diff);
256
379
  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
- });
380
+ // 同代码整体复用:零模型调用,摘要的模型段(概述 / 主要变更 / 模型补充的检查项)不生成,
381
+ // 以一行指向来源 MR 摘要代替;CLI 按路径识别的检查项照常。
382
+ const summaryMarkdown = inherit?.mode === "full"
383
+ ? null
384
+ : await (0, summarizer_1.generateSummary)(diff, config, activeComments, {
385
+ checklist: mergeChecklist,
386
+ });
260
387
  const modelSummary = (0, summary_compose_1.parseModelSummary)(summaryMarkdown);
261
388
  const verdict = (0, verdict_1.computeVerdict)(blockingComments);
262
389
  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 +406,26 @@ async function reviewMain() {
279
406
  added: diffDigest.totalAdded,
280
407
  removed: diffDigest.totalRemoved,
281
408
  ...(result.coverage ? { reviewedFiles: result.coverage.reviewedFiles } : {}),
409
+ ...(inherit
410
+ ? {
411
+ inheritance: {
412
+ mode: inherit.mode,
413
+ sourceMrIid: inherit.source.sourceMrIid,
414
+ inheritedCount: inherit.inherited.length,
415
+ reviewedHunks: inherit.reviewedHunks,
416
+ wontFixInherited: inherit.inherited.filter((f) => f.status === "WONT_FIX").length,
417
+ },
418
+ }
419
+ : {}),
282
420
  };
283
421
  const reviewDelta = reconciled && reviewScope.mode === "incremental"
284
422
  ? (0, summary_compose_1.buildReviewDelta)(reconciled.stats)
285
423
  : null;
286
424
  // 覆盖缺口与敏感预警作为附加段,排在主要变更之后、页脚说明之前
287
425
  const appendix = [];
426
+ if (inherit?.mode === "full") {
427
+ appendix.push(`概述、主要变更与模型补充的检查项见 MR !${inherit.source.sourceMrIid} 的评审摘要(本次未调用模型)。`);
428
+ }
288
429
  // 未审到的文件必须让 MR 作者看见:静默漏审比不审更糟——
289
430
  // 使用者会以为「已评审」而实际上那些文件根本没进过模型。
290
431
  if ((0, reviewer_1.hasCoverageGap)(result.coverage)) {
@@ -350,9 +491,7 @@ async function reviewMain() {
350
491
  });
351
492
  // 所有耗时模型工作完成后、第一笔外部写入前重新读取 MR head。
352
493
  // 旧 pipeline 只输出空 rdjson 并正常退出,绝不覆盖新提交的评论/finding。
353
- const mergeRequest = await (0, api_1.fetchGitlabMergeRequest)({
354
- token: config.gitlab?.token,
355
- });
494
+ const mergeRequest = await (0, api_1.fetchGitlabMergeRequest)({});
356
495
  // MR 已合并/关闭:终态 MR 上的写入毫无意义且有害——评论无人处理,
357
496
  // 而重跑流水线会让模型复报的问题重新入库、继续占据待处理计数。
358
497
  if ((0, api_1.isMergeRequestClosed)(mergeRequest)) {
@@ -373,17 +512,44 @@ async function reviewMain() {
373
512
  if (headFreshness === "unknown") {
374
513
  console.error(`[runner] MR head freshness unknown pipelineCommit=${commitSha ? "present" : "missing"} currentHead=${mergeRequestHeadSha ? "present" : "missing"}; continuing`);
375
514
  }
515
+ // 继承评论的来源行每次运行都要保留:本次新继承的条目 + 平台快照里已标 inheritedFromMrIid 的历史继承行
516
+ const inheritedByFingerprint = new Map();
517
+ for (const known of knownSnapshot?.findings ?? []) {
518
+ if (known.inheritedFromMrIid)
519
+ inheritedByFingerprint.set(known.fingerprint, known.inheritedFromMrIid);
520
+ }
521
+ if (inherit) {
522
+ for (const fingerprint of inheritedFingerprints) {
523
+ inheritedByFingerprint.set(fingerprint, inherit.source.sourceMrIid);
524
+ }
525
+ }
526
+ // 「原讨论」链接:只对本次要发的行内评论里确有继承条目的来源 MR 各拉一次讨论
527
+ const inheritedNoteUrls = new Map();
528
+ const sourceMrsToLookup = new Set(inlineComments
529
+ .map((comment) => inheritedByFingerprint.get((0, identity_1.buildCommentFingerprint)(comment)))
530
+ .filter((source) => !!source));
531
+ for (const sourceMrIid of sourceMrsToLookup) {
532
+ const urls = await (0, api_1.fetchSourceDiscussionNoteUrls)({
533
+ sourceMrIid,
534
+ userId: gitlabContext?.user?.id,
535
+ });
536
+ for (const [fingerprint, url] of urls) {
537
+ if (inheritedByFingerprint.get(fingerprint) === sourceMrIid)
538
+ inheritedNoteUrls.set(fingerprint, url);
539
+ }
540
+ }
376
541
  await (0, api_1.postGitlabDiscussions)({
377
542
  comments: inlineComments,
378
543
  diff,
379
- token: config.gitlab?.token,
380
544
  context: gitlabContext,
381
545
  ...(mergeRequest ? { mergeRequest } : {}),
546
+ ...(inheritedByFingerprint.size > 0
547
+ ? { inherited: { byFingerprint: inheritedByFingerprint, noteUrls: inheritedNoteUrls } }
548
+ : {}),
382
549
  });
383
550
  console.log(JSON.stringify((0, output_1.buildRdjson)(activeComments)));
384
551
  await (0, api_1.postGitlabSummary)({
385
552
  markdown: fullMarkdown,
386
- token: config.gitlab?.token,
387
553
  context: gitlabContext,
388
554
  });
389
555
  let findingsSynced = false;
@@ -391,6 +557,7 @@ async function reviewMain() {
391
557
  findingsSynced = await (0, findings_1.postFindingsSync)({
392
558
  mrIid,
393
559
  findings: reconciledFindings,
560
+ ...(inherit ? { inheritedFromMrIid: inherit.source.sourceMrIid } : {}),
394
561
  });
395
562
  }
396
563
  // commitSha 推进 lastReviewedSha;只有 finding 集合同步成功时才能推进,
@@ -398,7 +565,10 @@ async function reviewMain() {
398
565
  const mrContext = (0, run_report_fields_1.resolveMrContext)();
399
566
  await (0, report_1.postRunReport)({
400
567
  status: "SUCCESS",
401
- modelUsed: config.ai.model,
568
+ // 同代码整体复用没有调模型:模型位置显示来源 run 的模型
569
+ modelUsed: inherit?.mode === "full" && inherit.source.sourceModelUsed
570
+ ? inherit.source.sourceModelUsed
571
+ : config.ai.model,
402
572
  // 「评论数」= 真正发到 MR 的行内评论(经验证的 P0);P1 只在摘要汇总,计入 severityCounts 不计入评论数
403
573
  commentCount: inlineComments.length,
404
574
  verdict,
@@ -412,6 +582,8 @@ async function reviewMain() {
412
582
  ...(mrContext.authorEmail ? { authorEmail: mrContext.authorEmail } : {}),
413
583
  severityCounts: (0, run_report_fields_1.computeSeverityCounts)(activeComments),
414
584
  topFindings: (0, run_report_fields_1.buildTopFindings)(activeComments),
585
+ // 评论经平台代理的发布结果;平台只用于卡片提示、不持久化(规格「评论未发布的可见性」)
586
+ commentPublish: (0, api_1.summarizeCommentPublish)(),
415
587
  // 飞书卡片「较上次修复 N」用;平台只用于通知、不持久化
416
588
  ...(reviewDelta
417
589
  ? { findingsDelta: { new: reviewDelta.new, fixed: reviewDelta.fixed, open: reviewDelta.open } }
@@ -422,6 +594,15 @@ async function reviewMain() {
422
594
  riskLevel,
423
595
  })),
424
596
  sensitiveOverflow: result.sensitiveOverflow,
597
+ ...runIdentity,
598
+ ...(inherit
599
+ ? {
600
+ inheritance: inherit.mode,
601
+ inheritedFromMrIid: inherit.source.sourceMrIid,
602
+ inheritedCount: inherit.inherited.length,
603
+ reviewedHunks: inherit.reviewedHunks,
604
+ }
605
+ : {}),
425
606
  });
426
607
  }
427
608
  //# 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,14 @@
1
+ /**
2
+ * 平台请求的 CI job 绑定(规格「CI 请求绑定运行中的 job」)。
3
+ *
4
+ * 平台要求每个凭项目 Token 的请求同时携带 GitLab 注入的 `CI_JOB_TOKEN`,用它向 GitLab
5
+ * 确认 job 正在运行且属于该项目。job 令牌只发给平台:模型请求只在 endpoint 指向平台网关时附带,
6
+ * 网关关闭、直连模型厂商时绝不附带,避免把 CI 令牌交给第三方。
7
+ */
8
+ export declare const JOB_TOKEN_HEADER = "x-aicr-job-token";
9
+ export declare function ciJobHeaders(env?: NodeJS.ProcessEnv): Record<string, string>;
10
+ /** endpoint 是否指向平台模型网关;无法解析的地址按非网关处理 */
11
+ export declare function isPlatformGatewayEndpoint(endpoint: string | undefined): boolean;
12
+ /** 模型请求的 job 头:只有平台网关才附带 */
13
+ export declare function gatewayJobHeaders(endpoint: string | undefined, env?: NodeJS.ProcessEnv): Record<string, string>;
14
+ //# sourceMappingURL=ci-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-auth.d.ts","sourceRoot":"","sources":["../../src/shared/ci-auth.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAKnD,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAGzF;AAED,wCAAwC;AACxC,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAQ/E;AAED,4BAA4B;AAC5B,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExB"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * 平台请求的 CI job 绑定(规格「CI 请求绑定运行中的 job」)。
4
+ *
5
+ * 平台要求每个凭项目 Token 的请求同时携带 GitLab 注入的 `CI_JOB_TOKEN`,用它向 GitLab
6
+ * 确认 job 正在运行且属于该项目。job 令牌只发给平台:模型请求只在 endpoint 指向平台网关时附带,
7
+ * 网关关闭、直连模型厂商时绝不附带,避免把 CI 令牌交给第三方。
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.JOB_TOKEN_HEADER = void 0;
11
+ exports.ciJobHeaders = ciJobHeaders;
12
+ exports.isPlatformGatewayEndpoint = isPlatformGatewayEndpoint;
13
+ exports.gatewayJobHeaders = gatewayJobHeaders;
14
+ exports.JOB_TOKEN_HEADER = "x-aicr-job-token";
15
+ /** 平台网关的路径前缀,与平台 `GATEWAY_PATH_BY_FORMAT` 对齐 */
16
+ const GATEWAY_PATH_PREFIXES = ["/api/ai/anthropic", "/api/ai/openai"];
17
+ function ciJobHeaders(env = process.env) {
18
+ const token = env.CI_JOB_TOKEN?.trim();
19
+ return token ? { [exports.JOB_TOKEN_HEADER]: token } : {};
20
+ }
21
+ /** endpoint 是否指向平台模型网关;无法解析的地址按非网关处理 */
22
+ function isPlatformGatewayEndpoint(endpoint) {
23
+ if (!endpoint)
24
+ return false;
25
+ try {
26
+ const { pathname } = new URL(endpoint);
27
+ return GATEWAY_PATH_PREFIXES.some((prefix) => pathname.startsWith(prefix));
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ }
33
+ /** 模型请求的 job 头:只有平台网关才附带 */
34
+ function gatewayJobHeaders(endpoint, env = process.env) {
35
+ return isPlatformGatewayEndpoint(endpoint) ? ciJobHeaders(env) : {};
36
+ }
37
+ //# sourceMappingURL=ci-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ci-auth.js","sourceRoot":"","sources":["../../src/shared/ci-auth.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAOH,oCAGC;AAGD,8DAQC;AAGD,8CAKC;AA3BY,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,gDAAgD;AAChD,MAAM,qBAAqB,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC;AAEtE,SAAgB,YAAY,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACvC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,wBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,wCAAwC;AACxC,SAAgB,yBAAyB,CAAC,QAA4B;IACpE,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,SAAgB,iBAAiB,CAC/B,QAA4B,EAC5B,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,yBAAyB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC"}
@@ -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"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readCliVersion = readCliVersion;
4
+ exports.resetCliVersionCache = resetCliVersionCache;
5
+ const node_fs_1 = require("node:fs");
6
+ const node_path_1 = require("node:path");
7
+ const PACKAGE_NAME = "@wuyanbin/ai-code-review-cli-remote";
8
+ const MAX_WALK_UP = 6;
9
+ let cached;
10
+ /**
11
+ * 运行时读取自身版本(design D4):从本模块所在目录向上找本包的 package.json,
12
+ * 适配发布包(dist/shared → 包根)与测试编译目录(.tmp-test-build/src/shared → 包根)。
13
+ * 读不到返回 null,调用方不传 cliVersion,平台视为无版本、不复用。进程内只读一次。
14
+ */
15
+ function readCliVersion(startDir = __dirname) {
16
+ if (cached !== undefined)
17
+ return cached;
18
+ cached = locateVersion(startDir);
19
+ return cached;
20
+ }
21
+ /** 测试用:清掉进程内缓存 */
22
+ function resetCliVersionCache() {
23
+ cached = undefined;
24
+ }
25
+ function locateVersion(startDir) {
26
+ let dir = startDir;
27
+ for (let depth = 0; depth <= MAX_WALK_UP; depth += 1) {
28
+ const candidate = (0, node_path_1.join)(dir, "package.json");
29
+ try {
30
+ const parsed = JSON.parse((0, node_fs_1.readFileSync)(candidate, "utf8"));
31
+ if (parsed.name === PACKAGE_NAME && typeof parsed.version === "string") {
32
+ const version = parsed.version.trim();
33
+ return version || null;
34
+ }
35
+ }
36
+ catch {
37
+ // 不存在或不是 JSON:继续向上
38
+ }
39
+ const parent = (0, node_path_1.dirname)(dir);
40
+ if (parent === dir)
41
+ break;
42
+ dir = parent;
43
+ }
44
+ return null;
45
+ }
46
+ //# sourceMappingURL=cli-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-version.js","sourceRoot":"","sources":["../../src/shared/cli-version.ts"],"names":[],"mappings":";;AAaA,wCAIC;AAGD,oDAEC;AAtBD,qCAAuC;AACvC,yCAA0C;AAE1C,MAAM,YAAY,GAAG,qCAAqC,CAAC;AAC3D,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,IAAI,MAAiC,CAAC;AAEtC;;;;GAIG;AACH,SAAgB,cAAc,CAAC,WAAmB,SAAS;IACzD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAkB;AAClB,SAAgB,oBAAoB;IAClC,MAAM,GAAG,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB;IACrC,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,WAAW,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,SAAS,EAAE,MAAM,CAAC,CAGxD,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACvE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtC,OAAO,OAAO,IAAI,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,mBAAmB;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,mBAAO,EAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}