@wuyanbin/ai-code-review-cli-remote 1.0.32 → 1.0.35
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/dist/constants.d.ts +6 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -1
- package/dist/constants.js.map +1 -1
- package/dist/core/diff.d.ts +97 -3
- package/dist/core/diff.d.ts.map +1 -1
- package/dist/core/diff.js +181 -26
- package/dist/core/diff.js.map +1 -1
- package/dist/core/model.d.ts.map +1 -1
- package/dist/core/model.js +10 -2
- package/dist/core/model.js.map +1 -1
- package/dist/core/prompt.d.ts +14 -2
- package/dist/core/prompt.d.ts.map +1 -1
- package/dist/core/prompt.js +48 -9
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/reviewer.d.ts +25 -0
- package/dist/core/reviewer.d.ts.map +1 -1
- package/dist/core/reviewer.js +104 -26
- package/dist/core/reviewer.js.map +1 -1
- package/dist/core/summarizer.d.ts +5 -2
- package/dist/core/summarizer.d.ts.map +1 -1
- package/dist/core/summarizer.js +8 -2
- package/dist/core/summarizer.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +50 -17
- package/dist/runner.js.map +1 -1
- package/dist/shared/http.d.ts +2 -0
- package/dist/shared/http.d.ts.map +1 -1
- package/dist/shared/http.js +2 -1
- package/dist/shared/http.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* 模型调用超时。必须大于平台网关的 UPSTREAM_TIMEOUT_MS(290s),这样上游超时
|
|
3
|
+
* 表现为网关返回的 JSON 504(且在 AiCallLog 留痕),而非 CLI 单方面 abort。
|
|
4
|
+
* 290s 的推导见网关侧注释:~70 token/s 输出速率 × 19k token 上限。
|
|
5
|
+
*/
|
|
6
|
+
export declare const REQUEST_TIMEOUT_MS = 300000;
|
|
2
7
|
export declare const API_TIMEOUT_MS = 60000;
|
|
3
8
|
/**
|
|
4
9
|
* GitLab discussions 翻页上限。取一个足以覆盖 bot 评论场景的小值,
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAC1C,eAAO,MAAM,cAAc,QAAS,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,uBAAuB,gCAAsB,CAAC;AAE3D,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AACpD,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD,eAAO,MAAM,eAAe,uCAAuC,CAAC;AACpE,eAAO,MAAM,aAAa,qCAAqC,CAAC;AAChE,eAAO,MAAM,iBAAiB,yCAAyC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAC1C,eAAO,MAAM,cAAc,QAAS,CAAC;AAErC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,uBAAuB,gCAAsB,CAAC;AAE3D,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AACpD,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AAEtD,eAAO,MAAM,eAAe,uCAAuC,CAAC;AACpE,eAAO,MAAM,aAAa,qCAAqC,CAAC;AAChE,eAAO,MAAM,iBAAiB,yCAAyC,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.API_FINDINGS_PATH = exports.API_RUNS_PATH = exports.API_CONFIG_PATH = exports.ENV_PROJECT_TOKEN = exports.ENV_PLATFORM_URL = exports.DEFAULT_COMMENT_MESSAGE = exports.MAX_PAGINATION_PAGES = exports.API_TIMEOUT_MS = exports.REQUEST_TIMEOUT_MS = void 0;
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* 模型调用超时。必须大于平台网关的 UPSTREAM_TIMEOUT_MS(290s),这样上游超时
|
|
6
|
+
* 表现为网关返回的 JSON 504(且在 AiCallLog 留痕),而非 CLI 单方面 abort。
|
|
7
|
+
* 290s 的推导见网关侧注释:~70 token/s 输出速率 × 19k token 上限。
|
|
8
|
+
*/
|
|
9
|
+
exports.REQUEST_TIMEOUT_MS = 300000;
|
|
5
10
|
exports.API_TIMEOUT_MS = 60000;
|
|
6
11
|
/**
|
|
7
12
|
* GitLab discussions 翻页上限。取一个足以覆盖 bot 评论场景的小值,
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,MAAO,CAAC;AAC7B,QAAA,cAAc,GAAG,KAAM,CAAC;AAErC;;;;;;;GAOG;AACU,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAE1B,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAE9C,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AACvC,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAEzC,QAAA,eAAe,GAAG,oCAAoC,CAAC;AACvD,QAAA,aAAa,GAAG,kCAAkC,CAAC;AACnD,QAAA,iBAAiB,GAAG,sCAAsC,CAAC"}
|
package/dist/core/diff.d.ts
CHANGED
|
@@ -1,9 +1,36 @@
|
|
|
1
1
|
import type { AIComment } from "../types";
|
|
2
2
|
export declare function globToRegExp(pattern: string): RegExp;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* 决定「哪些文件进入评审」——这是唯一回答这个问题的地方。
|
|
5
|
+
*
|
|
6
|
+
* 两类原因并列,本质是同一个概念(这个文件不该进评审),只是来源不同:
|
|
7
|
+
* - `ignored`:路径命中系统 default-ignore 或项目 `review.ignore`。预期内的配置
|
|
8
|
+
* 行为,**不算覆盖缺口**,不必打扰 MR 作者。
|
|
9
|
+
* - `oversized`:该文件独占一片时的投影请求体超过上限。**算覆盖缺口**,必须上报——
|
|
10
|
+
* 使用者会以为已评审。刻意不做 hunk 级二次切分:那会把一次被网关拦下的调用
|
|
11
|
+
* 拆成多次可通过的调用,抵消网关护栏。
|
|
12
|
+
*
|
|
13
|
+
* 体量判定按**投影请求体**而不是原始字节:注解膨胀实测 1.10×–5.16×,同样是 1MB,
|
|
14
|
+
* 长行投影 1.37MB(可以审)、极短行投影 4.95MB(必须跳),差 3.6 倍。
|
|
15
|
+
*/
|
|
16
|
+
export interface ReviewSelection {
|
|
17
|
+
/** 通过筛选、进入评审的 diff */
|
|
18
|
+
diff: string;
|
|
19
|
+
/** 路径规则命中(预期内,不算缺口) */
|
|
20
|
+
ignoredFiles: string[];
|
|
21
|
+
/** 体量上不可评审(算覆盖缺口) */
|
|
22
|
+
oversizedFiles: string[];
|
|
23
|
+
}
|
|
24
|
+
export interface ReviewSelectionOptions {
|
|
25
|
+
ignorePatterns?: string[];
|
|
26
|
+
/** 投影函数;缺省按 systemPromptBytes=0 估算,调用方应传入真实 system 体量 */
|
|
27
|
+
projectBytes?: (shardDiff: string) => number;
|
|
28
|
+
maxProjectedBytes?: number;
|
|
29
|
+
}
|
|
30
|
+
export declare function selectReviewableDiff(diff: string, options?: ReviewSelectionOptions): ReviewSelection;
|
|
31
|
+
/**
|
|
32
|
+
* 只做路径过滤的薄封装。摘要生成不关心体量(它的输入是文件清单统计,
|
|
33
|
+
* 与 diff 体量已解耦),因此不需要投影计算。
|
|
7
34
|
*/
|
|
8
35
|
export declare function filterDiffByIgnore(diff: string, ignorePatterns?: string[]): string;
|
|
9
36
|
export interface AddedLine {
|
|
@@ -45,6 +72,73 @@ export declare function walkDiff(diff: string): Generator<DiffEvent>;
|
|
|
45
72
|
export declare function collectAddedLines(diff: string): Map<string, AddedLine[]>;
|
|
46
73
|
export declare function getChangedFiles(diff: string): string[];
|
|
47
74
|
export declare function splitDiffByMaxBytes(diff: string, maxBytes: number): string[];
|
|
75
|
+
/**
|
|
76
|
+
* 单次 run 的分片数上限。单 run 的模型开销由此有确定性上界:
|
|
77
|
+
* 40 片 × 约 $0.32/片 ≈ $13。2026-08-28 事故中一个 run 发了 1185 次调用、$388,
|
|
78
|
+
* 正是因为分片数完全没有上限。
|
|
79
|
+
*/
|
|
80
|
+
export declare const MAX_REVIEW_SHARDS = 40;
|
|
81
|
+
/**
|
|
82
|
+
* 装箱预算的硬上限(与平台 `normalizeShardMaxBytes` 的上限同值,
|
|
83
|
+
* 单一声明源见 aicr-limits.json 的 maxShardMaxBytes)。
|
|
84
|
+
*
|
|
85
|
+
* 由不变式反推:300000 × 最坏注解膨胀 5.2 + 40000 源码窗口 = 1.60MB,
|
|
86
|
+
* 落在 MAX_PROJECTED_REQUEST_BYTES(1.8MB) 之内。
|
|
87
|
+
*/
|
|
88
|
+
export declare const MAX_RAW_SHARD_BYTES = 300000;
|
|
89
|
+
/**
|
|
90
|
+
* 单次模型请求的投影体量上限(单一声明源见仓库根 aicr-limits.json)。
|
|
91
|
+
*
|
|
92
|
+
* = 网关 `AICR_GATEWAY_MAX_REQUEST_BYTES`(2_000_000) × 0.9,留 10% 给两种线协议
|
|
93
|
+
* 信封差异与 JSON 转义膨胀。**cli-remote 与网关判定的是同一个物理量**——
|
|
94
|
+
* 投影出来的请求体字节数,而不是各自拿原始 diff 字节去猜。
|
|
95
|
+
*
|
|
96
|
+
* 为什么必须实测而不能用系数换算:`buildAnnotatedDiff` 的膨胀不是常数,实测在
|
|
97
|
+
* 1.10×(长行)到 5.16×(每行 1 字符)之间——每行都要付固定的 `[ADD] 1234 | `
|
|
98
|
+
* 标记开销,行越短占比越高。曾用「单文件原始 1MB」当阈值,结果一个 1MB 的
|
|
99
|
+
* 极短行文件投影出 4.95MB 请求体,反而被自己的网关 413。
|
|
100
|
+
*/
|
|
101
|
+
export declare const MAX_PROJECTED_REQUEST_BYTES = 1800000;
|
|
102
|
+
/**
|
|
103
|
+
* 投影一个分片最终会产生多大的请求体。源码窗口按其上限计入(规划时尚未读盘),
|
|
104
|
+
* 因此这是上界估计——宁可保守跳过,也不要送出去再被网关拦下。
|
|
105
|
+
*/
|
|
106
|
+
export declare function projectShardRequestBytes(shardDiff: string, systemPromptBytes: number): number;
|
|
107
|
+
export interface ShardPlanOptions {
|
|
108
|
+
shardMaxBytes: number;
|
|
109
|
+
maxShards?: number;
|
|
110
|
+
}
|
|
111
|
+
export interface ShardPlan {
|
|
112
|
+
shards: string[];
|
|
113
|
+
/** 分片预算用尽被跳过的文件 */
|
|
114
|
+
budgetSkippedFiles: string[];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* 在分片预算内规划本次 run 的分片。**只回答「预算内能审多少」**——
|
|
118
|
+
* 「哪些文件该进评审」由 `selectReviewableDiff` 单独回答,两者不重叠。
|
|
119
|
+
*
|
|
120
|
+
* 未超预算时结果与 `splitDiffByMaxBytes` 逐字节一致——正常体量的 MR 不产生
|
|
121
|
+
* 任何分片组成变化,避免存量项目的评论锚点漂移。
|
|
122
|
+
*/
|
|
123
|
+
export declare function planReviewShards(diff: string, options: ShardPlanOptions): ShardPlan;
|
|
124
|
+
export interface DiffFileStat {
|
|
125
|
+
file: string;
|
|
126
|
+
added: number;
|
|
127
|
+
removed: number;
|
|
128
|
+
}
|
|
129
|
+
export interface DiffDigest {
|
|
130
|
+
files: DiffFileStat[];
|
|
131
|
+
totalAdded: number;
|
|
132
|
+
totalRemoved: number;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* 变更文件清单与增删行统计。摘要生成以此为输入,使摘要调用的体量与 diff
|
|
136
|
+
* 总量解耦——此前 `generateSummary` 把整份 diff 灌进一次调用,实测出现过
|
|
137
|
+
* 62–75 万 token 的单次摘要调用。
|
|
138
|
+
*
|
|
139
|
+
* 刻意只产出统计量,不夹带任何源码行。
|
|
140
|
+
*/
|
|
141
|
+
export declare function summarizeDiffFiles(diff: string): DiffDigest;
|
|
48
142
|
/**
|
|
49
143
|
* 紧凑模式的注解 diff:以新文件侧行号就地标注每一行,一份结构同时承载
|
|
50
144
|
* 「可评论锚定表」与「变更展示」(替代行索引 + 原始 diff 两块)。
|
package/dist/core/diff.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBpD;AAED
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBpD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,qBAAqB;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yDAAyD;IACzD,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,eAAe,CAiCjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,MAAM,CAKR;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE;;;;;GAKG;AACH,wBAAiB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAgE5D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAaxE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAatD;AAyBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5E;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAE3C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B,UAAY,CAAC;AAQrD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAOR;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mBAAmB;IACnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AA0BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACxB,SAAS,CA+DX;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CA0B3D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuCvD;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2BAA2B,EAAE,MAAM,CAAC;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAoCD;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,EAAE,GACpB,sBAAsB,CA0DxB;AAED,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,EAAE,GACpB,SAAS,EAAE,CAEb"}
|
package/dist/core/diff.js
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_PROJECTED_REQUEST_BYTES = exports.MAX_RAW_SHARD_BYTES = exports.MAX_REVIEW_SHARDS = void 0;
|
|
3
4
|
exports.globToRegExp = globToRegExp;
|
|
5
|
+
exports.selectReviewableDiff = selectReviewableDiff;
|
|
4
6
|
exports.filterDiffByIgnore = filterDiffByIgnore;
|
|
5
7
|
exports.normalizePath = normalizePath;
|
|
6
8
|
exports.walkDiff = walkDiff;
|
|
7
9
|
exports.collectAddedLines = collectAddedLines;
|
|
8
10
|
exports.getChangedFiles = getChangedFiles;
|
|
9
11
|
exports.splitDiffByMaxBytes = splitDiffByMaxBytes;
|
|
12
|
+
exports.projectShardRequestBytes = projectShardRequestBytes;
|
|
13
|
+
exports.planReviewShards = planReviewShards;
|
|
14
|
+
exports.summarizeDiffFiles = summarizeDiffFiles;
|
|
10
15
|
exports.buildAnnotatedDiff = buildAnnotatedDiff;
|
|
11
16
|
exports.alignCommentsToDiffAddedLinesDetailed = alignCommentsToDiffAddedLinesDetailed;
|
|
12
17
|
exports.alignCommentsToDiffAddedLines = alignCommentsToDiffAddedLines;
|
|
@@ -28,33 +33,42 @@ function globToRegExp(pattern) {
|
|
|
28
33
|
.replace(/\*/g, "[^/]*");
|
|
29
34
|
return new RegExp(`^${escaped}$`);
|
|
30
35
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
const
|
|
36
|
+
function selectReviewableDiff(diff, options = {}) {
|
|
37
|
+
if (!diff.trim()) {
|
|
38
|
+
return { diff, ignoredFiles: [], oversizedFiles: [] };
|
|
39
|
+
}
|
|
40
|
+
const userPatterns = options.ignorePatterns ?? [];
|
|
41
|
+
const maxProjected = options.maxProjectedBytes ?? exports.MAX_PROJECTED_REQUEST_BYTES;
|
|
42
|
+
const project = options.projectBytes ??
|
|
43
|
+
((section) => projectShardRequestBytes(section, 0));
|
|
44
|
+
const ignoredFiles = [];
|
|
45
|
+
const oversizedFiles = [];
|
|
41
46
|
const kept = [];
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
ignoreCurrent =
|
|
50
|
-
(0, default_ignore_1.isDefaultIgnored)(path) ||
|
|
51
|
-
userPatterns.some((pattern) => globToRegExp(pattern).test(path));
|
|
52
|
-
}
|
|
47
|
+
for (const section of splitDiffByFile(diff)) {
|
|
48
|
+
const path = diffSectionPath(section);
|
|
49
|
+
if (path &&
|
|
50
|
+
((0, default_ignore_1.isDefaultIgnored)(path) ||
|
|
51
|
+
userPatterns.some((pattern) => globToRegExp(pattern).test(path)))) {
|
|
52
|
+
ignoredFiles.push(path);
|
|
53
|
+
continue;
|
|
53
54
|
}
|
|
54
|
-
if (
|
|
55
|
-
|
|
55
|
+
if (project(section) > maxProjected) {
|
|
56
|
+
oversizedFiles.push(path);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
kept.push(section);
|
|
56
60
|
}
|
|
57
|
-
return kept.join("\n");
|
|
61
|
+
return { diff: kept.join("\n"), ignoredFiles, oversizedFiles };
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* 只做路径过滤的薄封装。摘要生成不关心体量(它的输入是文件清单统计,
|
|
65
|
+
* 与 diff 体量已解耦),因此不需要投影计算。
|
|
66
|
+
*/
|
|
67
|
+
function filterDiffByIgnore(diff, ignorePatterns) {
|
|
68
|
+
return selectReviewableDiff(diff, {
|
|
69
|
+
...(ignorePatterns ? { ignorePatterns } : {}),
|
|
70
|
+
maxProjectedBytes: Number.MAX_SAFE_INTEGER,
|
|
71
|
+
}).diff;
|
|
58
72
|
}
|
|
59
73
|
function normalizePath(path) {
|
|
60
74
|
return path.trim().replace(/^[ab]\//, "").replace(/^\.\//, "");
|
|
@@ -183,8 +197,55 @@ function diffSectionPath(section) {
|
|
|
183
197
|
}
|
|
184
198
|
function splitDiffByMaxBytes(diff, maxBytes) {
|
|
185
199
|
// 按文件路径排序后再装箱,分片组成只取决于文件集合本身,
|
|
186
|
-
// 不受 diff
|
|
187
|
-
|
|
200
|
+
// 不受 diff 输出顺序影响,降低跨次评审的分片漂移。
|
|
201
|
+
// 注意:这里只按文件边界装箱,单文件超过 maxBytes 时不会再切——
|
|
202
|
+
// 该情况由 planReviewShards 显式跳过,见 MAX_SINGLE_FILE_BYTES。
|
|
203
|
+
return packSectionsByPath(splitDiffByFile(diff), maxBytes);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* 单次 run 的分片数上限。单 run 的模型开销由此有确定性上界:
|
|
207
|
+
* 40 片 × 约 $0.32/片 ≈ $13。2026-08-28 事故中一个 run 发了 1185 次调用、$388,
|
|
208
|
+
* 正是因为分片数完全没有上限。
|
|
209
|
+
*/
|
|
210
|
+
exports.MAX_REVIEW_SHARDS = 40;
|
|
211
|
+
/**
|
|
212
|
+
* 装箱预算的硬上限(与平台 `normalizeShardMaxBytes` 的上限同值,
|
|
213
|
+
* 单一声明源见 aicr-limits.json 的 maxShardMaxBytes)。
|
|
214
|
+
*
|
|
215
|
+
* 由不变式反推:300000 × 最坏注解膨胀 5.2 + 40000 源码窗口 = 1.60MB,
|
|
216
|
+
* 落在 MAX_PROJECTED_REQUEST_BYTES(1.8MB) 之内。
|
|
217
|
+
*/
|
|
218
|
+
exports.MAX_RAW_SHARD_BYTES = 300000;
|
|
219
|
+
/**
|
|
220
|
+
* 单次模型请求的投影体量上限(单一声明源见仓库根 aicr-limits.json)。
|
|
221
|
+
*
|
|
222
|
+
* = 网关 `AICR_GATEWAY_MAX_REQUEST_BYTES`(2_000_000) × 0.9,留 10% 给两种线协议
|
|
223
|
+
* 信封差异与 JSON 转义膨胀。**cli-remote 与网关判定的是同一个物理量**——
|
|
224
|
+
* 投影出来的请求体字节数,而不是各自拿原始 diff 字节去猜。
|
|
225
|
+
*
|
|
226
|
+
* 为什么必须实测而不能用系数换算:`buildAnnotatedDiff` 的膨胀不是常数,实测在
|
|
227
|
+
* 1.10×(长行)到 5.16×(每行 1 字符)之间——每行都要付固定的 `[ADD] 1234 | `
|
|
228
|
+
* 标记开销,行越短占比越高。曾用「单文件原始 1MB」当阈值,结果一个 1MB 的
|
|
229
|
+
* 极短行文件投影出 4.95MB 请求体,反而被自己的网关 413。
|
|
230
|
+
*/
|
|
231
|
+
exports.MAX_PROJECTED_REQUEST_BYTES = 1800000;
|
|
232
|
+
/** 每分片源码窗口的上限(context.ts 的 MAX_SOURCE_BYTES),按上界计入投影 */
|
|
233
|
+
const SHARD_SOURCE_BUDGET_BYTES = 40000;
|
|
234
|
+
/** 线协议信封(model / max_tokens / role / cache_control 等固定字段)的开销 */
|
|
235
|
+
const JSON_ENVELOPE_BYTES = 2000;
|
|
236
|
+
/**
|
|
237
|
+
* 投影一个分片最终会产生多大的请求体。源码窗口按其上限计入(规划时尚未读盘),
|
|
238
|
+
* 因此这是上界估计——宁可保守跳过,也不要送出去再被网关拦下。
|
|
239
|
+
*/
|
|
240
|
+
function projectShardRequestBytes(shardDiff, systemPromptBytes) {
|
|
241
|
+
return (Buffer.byteLength(buildAnnotatedDiff(shardDiff)) +
|
|
242
|
+
SHARD_SOURCE_BUDGET_BYTES +
|
|
243
|
+
systemPromptBytes +
|
|
244
|
+
JSON_ENVELOPE_BYTES);
|
|
245
|
+
}
|
|
246
|
+
/** 按路径排序后首次适应装箱——与 splitDiffByMaxBytes 同一算法,供两者共用 */
|
|
247
|
+
function packSectionsByPath(sections, maxBytes) {
|
|
248
|
+
const files = [...sections].sort((a, b) => diffSectionPath(a).localeCompare(diffSectionPath(b)));
|
|
188
249
|
const shards = [];
|
|
189
250
|
let current = [];
|
|
190
251
|
let currentBytes = 0;
|
|
@@ -202,6 +263,100 @@ function splitDiffByMaxBytes(diff, maxBytes) {
|
|
|
202
263
|
shards.push(current.join("\n"));
|
|
203
264
|
return shards;
|
|
204
265
|
}
|
|
266
|
+
/**
|
|
267
|
+
* 在分片预算内规划本次 run 的分片。**只回答「预算内能审多少」**——
|
|
268
|
+
* 「哪些文件该进评审」由 `selectReviewableDiff` 单独回答,两者不重叠。
|
|
269
|
+
*
|
|
270
|
+
* 未超预算时结果与 `splitDiffByMaxBytes` 逐字节一致——正常体量的 MR 不产生
|
|
271
|
+
* 任何分片组成变化,避免存量项目的评论锚点漂移。
|
|
272
|
+
*/
|
|
273
|
+
function planReviewShards(diff, options) {
|
|
274
|
+
const maxShards = options.maxShards ?? exports.MAX_REVIEW_SHARDS;
|
|
275
|
+
const eligible = splitDiffByFile(diff);
|
|
276
|
+
// 装箱预算钳到 MAX_RAW_SHARD_BYTES:平台侧已对 shardMaxBytes 做过同样的钳制,
|
|
277
|
+
// 这里是第二道——CLI 不能因为拿到一个过大的下发值就产出必然被网关拒绝的分片。
|
|
278
|
+
const effectiveShardBytes = Math.min(options.shardMaxBytes, exports.MAX_RAW_SHARD_BYTES);
|
|
279
|
+
let shards = packSectionsByPath(eligible, effectiveShardBytes);
|
|
280
|
+
const budgetSkipped = [];
|
|
281
|
+
if (shards.length > maxShards) {
|
|
282
|
+
// 按单文件体积升序选取:手写改动通常小、生成物通常巨大,
|
|
283
|
+
// 这个顺序天然把可评审的内容排在前面。
|
|
284
|
+
const bySize = [...eligible].sort((a, b) => Buffer.byteLength(a) - Buffer.byteLength(b) ||
|
|
285
|
+
diffSectionPath(a).localeCompare(diffSectionPath(b)));
|
|
286
|
+
const budgetBytes = maxShards * effectiveShardBytes;
|
|
287
|
+
const chosen = [];
|
|
288
|
+
let usedBytes = 0;
|
|
289
|
+
for (const section of bySize) {
|
|
290
|
+
const bytes = Buffer.byteLength(section);
|
|
291
|
+
if (usedBytes + bytes > budgetBytes)
|
|
292
|
+
break;
|
|
293
|
+
chosen.push(section);
|
|
294
|
+
usedBytes += bytes;
|
|
295
|
+
}
|
|
296
|
+
shards = packSectionsByPath(chosen, effectiveShardBytes);
|
|
297
|
+
// 字节预算是近似:装箱碎片会让实际分片数低于上限,白白少审几片。
|
|
298
|
+
// 这里按体积升序把剩余文件逐个试着加回来,直到真正用满分片预算,
|
|
299
|
+
// 使「上限 40」名副其实——否则实测只会跑到 35 片,调参的人会困惑。
|
|
300
|
+
if (shards.length < maxShards) {
|
|
301
|
+
const chosenSet = new Set(chosen);
|
|
302
|
+
for (const section of bySize) {
|
|
303
|
+
if (chosenSet.has(section))
|
|
304
|
+
continue;
|
|
305
|
+
const trial = packSectionsByPath([...chosen, section], effectiveShardBytes);
|
|
306
|
+
if (trial.length > maxShards)
|
|
307
|
+
continue;
|
|
308
|
+
chosen.push(section);
|
|
309
|
+
chosenSet.add(section);
|
|
310
|
+
shards = trial;
|
|
311
|
+
if (shards.length === maxShards)
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
// 兜底:任何情况下都不得超过上限
|
|
316
|
+
if (shards.length > maxShards)
|
|
317
|
+
shards = shards.slice(0, maxShards);
|
|
318
|
+
const reviewed = new Set(shards.flatMap((s) => getChangedFiles(s)));
|
|
319
|
+
for (const section of eligible) {
|
|
320
|
+
const path = diffSectionPath(section);
|
|
321
|
+
if (!reviewed.has(path))
|
|
322
|
+
budgetSkipped.push(path);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
return { shards, budgetSkippedFiles: budgetSkipped };
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* 变更文件清单与增删行统计。摘要生成以此为输入,使摘要调用的体量与 diff
|
|
329
|
+
* 总量解耦——此前 `generateSummary` 把整份 diff 灌进一次调用,实测出现过
|
|
330
|
+
* 62–75 万 token 的单次摘要调用。
|
|
331
|
+
*
|
|
332
|
+
* 刻意只产出统计量,不夹带任何源码行。
|
|
333
|
+
*/
|
|
334
|
+
function summarizeDiffFiles(diff) {
|
|
335
|
+
const byFile = new Map();
|
|
336
|
+
let currentFile = "";
|
|
337
|
+
for (const event of walkDiff(diff)) {
|
|
338
|
+
if (event.kind === "file") {
|
|
339
|
+
currentFile = normalizePath(event.newPath || event.oldPath || "");
|
|
340
|
+
if (currentFile && !byFile.has(currentFile)) {
|
|
341
|
+
byFile.set(currentFile, { file: currentFile, added: 0, removed: 0 });
|
|
342
|
+
}
|
|
343
|
+
continue;
|
|
344
|
+
}
|
|
345
|
+
const stat = byFile.get(currentFile);
|
|
346
|
+
if (!stat)
|
|
347
|
+
continue;
|
|
348
|
+
if (event.kind === "add")
|
|
349
|
+
stat.added += 1;
|
|
350
|
+
else if (event.kind === "del")
|
|
351
|
+
stat.removed += 1;
|
|
352
|
+
}
|
|
353
|
+
const files = [...byFile.values()].sort((a, b) => a.file.localeCompare(b.file));
|
|
354
|
+
return {
|
|
355
|
+
files,
|
|
356
|
+
totalAdded: files.reduce((sum, f) => sum + f.added, 0),
|
|
357
|
+
totalRemoved: files.reduce((sum, f) => sum + f.removed, 0),
|
|
358
|
+
};
|
|
359
|
+
}
|
|
205
360
|
/**
|
|
206
361
|
* 紧凑模式的注解 diff:以新文件侧行号就地标注每一行,一份结构同时承载
|
|
207
362
|
* 「可评论锚定表」与「变更展示」(替代行索引 + 原始 diff 两块)。
|
package/dist/core/diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
|
package/dist/core/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CACF,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAsBD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,wBAAgB,oBAAoB,IAAI;IACtC,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC7C,CAYA;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CACF,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAsBD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,wBAAgB,oBAAoB,IAAI;IACtC,KAAK,EAAE,gBAAgB,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC7C,CAYA;AAsQD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,gBAAgB,GAC3B,YAAY,CAOd"}
|
package/dist/core/model.js
CHANGED
|
@@ -61,7 +61,10 @@ class BaseModelAdapter {
|
|
|
61
61
|
console.error(`[model] ${tag} request start model=${model} purpose=${purpose}`);
|
|
62
62
|
let resp;
|
|
63
63
|
try {
|
|
64
|
-
|
|
64
|
+
// 429/5xx 重试兜住上游瞬态故障(如 529 过载),否则单个 shard 失败会
|
|
65
|
+
// 废掉整个 run。两类刻意不重试:超时/网络错误(单次已达分钟级,重试大
|
|
66
|
+
// 概率同样超时);504(网关上游超时的语义化返回,重试同样昂贵且徒劳)。
|
|
67
|
+
resp = await (0, http_1.fetchWithRetry)(this.buildRequestUrl(), {
|
|
65
68
|
method: "POST",
|
|
66
69
|
headers: {
|
|
67
70
|
"Content-Type": "application/json",
|
|
@@ -70,7 +73,12 @@ class BaseModelAdapter {
|
|
|
70
73
|
...this.buildHeaders(),
|
|
71
74
|
},
|
|
72
75
|
body: JSON.stringify(this.buildBody(model, systemPrompt, userPrompt, options)),
|
|
73
|
-
}, constants_1.REQUEST_TIMEOUT_MS
|
|
76
|
+
}, constants_1.REQUEST_TIMEOUT_MS, {
|
|
77
|
+
maxRetries: 2,
|
|
78
|
+
baseDelayMs: 3000,
|
|
79
|
+
maxDelayMs: 30000,
|
|
80
|
+
shouldRetry: (status) => status === 429 || (status >= 500 && status !== 504),
|
|
81
|
+
});
|
|
74
82
|
}
|
|
75
83
|
catch (err) {
|
|
76
84
|
const reason = err instanceof Error && err.name === "AbortError"
|
package/dist/core/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":";;AAoDA,0CAEC;AAED,oDAeC;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":";;AAoDA,0CAEC;AAED,oDAeC;AAsQD,gDAWC;AAxVD,4CAAkD;AAClD,yCAA+D;AAsC/D,+CAA+C;AAC/C,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE3D,SAAS,WAAW;IAClB,OAAO;QACL,KAAK,EAAE,CAAC;QACR,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,CAAC;KACpB,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe;IAC7B,cAAc,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC;AAED,SAAgB,oBAAoB;IAIlC,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAqC,EAAE,CAAC;IACvD,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;QAC/C,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACnC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAC5B,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC;QACxC,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;QAC1C,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC;QAChD,KAAK,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,KAAkB;IACtD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;IAC5D,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;IAClB,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;IACxC,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC;IAC1C,MAAM,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,CAAC;IAChD,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAC,gBAAgB,CAAC;IAClD,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QACrE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACnB,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAqBD,KAAK,UAAU,aAAa,CAAC,IAAc;IACzC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAe,gBAAgB;IAC7B,YACqB,QAAgB,EAChB,MAAc;QADd,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAQ;IAChC,CAAC;IAeJ,KAAK,CAAC,IAAI,CACR,KAAa,EACb,YAAoB,EACpB,UAAkB,EAClB,UAA4B,EAAE;QAE9B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC;QAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC;QAC3C,OAAO,CAAC,KAAK,CACX,WAAW,GAAG,wBAAwB,KAAK,YAAY,OAAO,EAAE,CACjE,CAAC;QAEF,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,8CAA8C;YAC9C,uCAAuC;YACvC,uCAAuC;YACvC,IAAI,GAAG,MAAM,IAAA,qBAAc,EACzB,IAAI,CAAC,eAAe,EAAE,EACtB;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,yCAAyC;oBACzC,gBAAgB,EAAE,OAAO;oBACzB,GAAG,IAAI,CAAC,YAAY,EAAE;iBACvB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CACzD;aACF,EACD,8BAAkB,EAClB;gBACE,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,IAAK;gBAClB,UAAU,EAAE,KAAM;gBAClB,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE,CACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,GAAG,CAAC;aACtD,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GACV,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;gBAC/C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,eAAe,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,YAAY,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,CAAC,KAAK,CACX,IAAI;gBACF,CAAC,CAAC,WAAW,GAAG,sBAAsB,IAAI,CAAC,MAAM,SAAS,IAAI,EAAE;gBAChE,CAAC,CAAC,WAAW,GAAG,sBAAsB,IAAI,CAAC,MAAM,EAAE,CACtD,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAa,EAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,6BAA6B,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;YACvC,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;SACpB,CAAC;QACF,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CACX,WAAW,GAAG,kBAAkB,OAAO,UAAU,KAAK,CAAC,WAAW,WAAW,KAAK,CAAC,YAAY,cAAc,KAAK,CAAC,eAAe,eAAe,KAAK,CAAC,gBAAgB,EAAE,CAC1K,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CACX,OAAO;YACL,CAAC,CAAC,WAAW,GAAG,2BAA2B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACvE,CAAC,CAAC,WAAW,GAAG,iBAAiB,CACpC,CAAC;QACF,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,MAAM,aAAc,SAAQ,gBAAgB;IAC1C,IAAc,YAAY;QACxB,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAES,eAAe;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,mBAAmB,CAAC;IAC7E,CAAC;IAES,YAAY;QACpB,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IACpD,CAAC;IAED,mDAAmD;IACzC,SAAS,CAAC,KAAa,EAAE,YAAoB,EAAE,UAAkB;QACzE,OAAO;YACL,KAAK;YACL,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;gBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;aACtC;YACD,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,IAAa;QACpC,MAAM,IAAI,GAAG,IAAsB,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAC7D,CAAC;IAES,YAAY,CAAC,IAAa;QAClC,MAAM,KAAK,GAAI,IAAuB,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,0CAA0C;QAC1C,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YACzC,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAC9C,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,aAAa,CAAC;YACpE,gBAAgB,EAAE,CAAC;SACpB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,aAAc,SAAQ,gBAAgB;IAC1C,IAAc,YAAY;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,eAAe;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,OAAO,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC;IACnE,CAAC;IAES,YAAY;QACpB,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,MAAM;YACxB,mBAAmB,EAAE,YAAY;SAClC,CAAC;IACJ,CAAC;IAES,SAAS,CACjB,KAAa,EACb,YAAoB,EACpB,UAAkB,EAClB,OAAyB;QAEzB,OAAO;YACL,KAAK;YACL,UAAU,EAAE,KAAK;YACjB,+CAA+C;YAC/C,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,YAAY;oBAClB,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;iBACrC;aACF;YACD,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,UAAU;4BAChB,GAAG,CAAC,OAAO,CAAC,eAAe;gCACzB,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;gCAC1C,CAAC,CAAC,EAAE,CAAC;yBACR;qBACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,IAAa;QACpC,MAAM,IAAI,GAAG,IAAsB,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAC5E,CAAC;IAES,YAAY,CAAC,IAAa;QAClC,MAAM,KAAK,GAAI,IAAuB,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9D,kDAAkD;QAClD,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,UAAU;YACjE,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC;YAC1C,eAAe,EAAE,SAAS;YAC1B,gBAAgB,EAAE,UAAU;SAC7B,CAAC;IACJ,CAAC;CACF;AAED,SAAgB,kBAAkB,CAChC,QAAgB,EAChB,MAAc,EACd,SAA4B;IAE5B,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,SAAS,KAAK,QAAQ;QAAE,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACvE,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/core/prompt.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type DiffDigest } from "./diff";
|
|
2
|
+
import type { AIComment } from "../types";
|
|
1
3
|
import type { SensitiveMatch } from "./sensitive";
|
|
2
4
|
export declare class PromptBuilder {
|
|
3
5
|
private diff;
|
|
@@ -23,8 +25,18 @@ export declare class PromptBuilder {
|
|
|
23
25
|
buildUser(): string;
|
|
24
26
|
}
|
|
25
27
|
export declare class SummaryPromptBuilder {
|
|
26
|
-
private
|
|
27
|
-
|
|
28
|
+
private digest;
|
|
29
|
+
private findings;
|
|
30
|
+
/**
|
|
31
|
+
* 摘要以「变更文件清单 + 增删行统计」为输入,而不是整份 diff。
|
|
32
|
+
*
|
|
33
|
+
* 此前 `generateSummary` 把过滤后的整份 diff 灌进一次调用,不分片不截断:
|
|
34
|
+
* 2026-08-28 实测出现 62–75 万 token 的单次摘要调用,单项目单日约 $12.5
|
|
35
|
+
* 只花在摘要上。而那个长度本就超出模型有效摘要的范围,中段信息会被稀释。
|
|
36
|
+
*/
|
|
37
|
+
setDigest(digest: DiffDigest): this;
|
|
38
|
+
/** 本次评审已产出的 findings:让摘要能点出风险,而不必重读源码 */
|
|
39
|
+
setFindings(findings: AIComment[]): this;
|
|
28
40
|
buildSystem(): string;
|
|
29
41
|
buildUser(): string;
|
|
30
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAclD,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,gBAAgB,CAAwB;IAEhD,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKhC,mDAAmD;IACnD,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC,0DAA0D;IAC1D,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKvC,8BAA8B;IAC9B,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKtC,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI;IAKpD;;;OAGG;IACH,WAAW,IAAI,MAAM;IA4BrB,SAAS,IAAI,MAAM;CAqCpB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAA6D;IAC3E,OAAO,CAAC,QAAQ,CAAmB;IAEnC;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKnC,yCAAyC;IACzC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI;IAMxC,WAAW,IAAI,MAAM;IAuBrB,SAAS,IAAI,MAAM;CAkCpB"}
|