@wuyanbin/ai-code-review 1.1.19 → 1.1.21
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/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -10
- package/dist/index.js.map +1 -1
- package/dist/summarizer/index.d.ts +4 -4
- package/dist/summarizer/index.d.ts.map +1 -1
- package/dist/summarizer/index.js +6 -23
- package/dist/summarizer/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const reviewMain: () => Promise<void>;
|
|
8
8
|
/**
|
|
9
|
-
* Summary
|
|
9
|
+
* Summary 模式:生成改动汇总报告,输出纯 Markdown 文本到 stdout
|
|
10
|
+
* 由 CI 脚本捕获后通过 GitLab MR Notes API 发布
|
|
10
11
|
*/
|
|
11
12
|
export declare const summaryMain: () => Promise<void>;
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,IAAI,CAoC/C,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,IAAI,CAoC/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,IAAI,CAwBhD,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -50,31 +50,27 @@ const reviewMain = async () => {
|
|
|
50
50
|
};
|
|
51
51
|
exports.reviewMain = reviewMain;
|
|
52
52
|
/**
|
|
53
|
-
* Summary
|
|
53
|
+
* Summary 模式:生成改动汇总报告,输出纯 Markdown 文本到 stdout
|
|
54
|
+
* 由 CI 脚本捕获后通过 GitLab MR Notes API 发布
|
|
54
55
|
*/
|
|
55
56
|
const summaryMain = async () => {
|
|
56
|
-
const emptySummaryRdjson = {
|
|
57
|
-
source: { name: "ai-code-review-summary" },
|
|
58
|
-
diagnostics: [],
|
|
59
|
-
};
|
|
60
57
|
try {
|
|
61
58
|
const config = await (0, config_1.loadConfig)();
|
|
62
59
|
if (!(0, config_1.validateConfig)(config)) {
|
|
63
|
-
console.log(JSON.stringify(emptySummaryRdjson));
|
|
64
60
|
process.exit(0);
|
|
65
61
|
}
|
|
66
62
|
const diff = await (0, utils_1.readStdin)();
|
|
67
63
|
if (!diff || !diff.trim()) {
|
|
68
64
|
console.error("[ai-code-review] 未读取到 diff,跳过汇总");
|
|
69
|
-
console.log(JSON.stringify(emptySummaryRdjson));
|
|
70
65
|
process.exit(0);
|
|
71
66
|
}
|
|
72
|
-
const
|
|
73
|
-
|
|
67
|
+
const markdown = await (0, summarizer_1.generateSummary)(diff, config);
|
|
68
|
+
if (markdown) {
|
|
69
|
+
console.log(markdown);
|
|
70
|
+
}
|
|
74
71
|
}
|
|
75
72
|
catch (error) {
|
|
76
73
|
console.error("[ai-code-review] 汇总生成错误:", error);
|
|
77
|
-
console.log(JSON.stringify(emptySummaryRdjson));
|
|
78
74
|
process.exit(1);
|
|
79
75
|
}
|
|
80
76
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,wDAAgC;AAChC,qCAAsD;AACtD,6CAA6D;AAC7D,yCAAwC;AACxC,6CAA+C;AAC/C,mCAAoC;AAEpC;;GAEG;AACI,MAAM,UAAU,GAAG,KAAK,IAAmB,EAAE;IAClD,IAAI,CAAC;QACH,UAAU;QACV,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,GAAE,CAAC;QAElC,UAAU;QACV,IAAI,CAAC,IAAA,uBAAc,EAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,6BAAgB,GAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,aAAa;QACb,MAAM,IAAI,GAAG,MAAM,IAAA,iBAAS,GAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,6BAAgB,GAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,kBAAkB;QAClB,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAU,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,6BAAgB,GAAE,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,WAAW;QACX,MAAM,MAAM,GAAG,IAAA,wBAAW,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAA,6BAAgB,GAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AApCW,QAAA,UAAU,cAoCrB;AAEF
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 代码改动汇总模块
|
|
3
|
-
* 基于 git diff 生成结构化的 Markdown
|
|
3
|
+
* 基于 git diff 生成结构化的 Markdown 改动摘要,输出纯文本供 CI 脚本发布到 GitLab MR
|
|
4
4
|
*/
|
|
5
|
-
import { CodeReviewConfig
|
|
5
|
+
import { CodeReviewConfig } from "../types";
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* 生成代码改动汇总,返回纯 Markdown 文本(由 CI 脚本通过 GitLab API 发布)
|
|
8
8
|
*/
|
|
9
|
-
export declare const generateSummary: (diff: string, config: CodeReviewConfig) => Promise<
|
|
9
|
+
export declare const generateSummary: (diff: string, config: CodeReviewConfig) => Promise<string | null>;
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/summarizer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/summarizer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAoE5C;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,EACZ,QAAQ,gBAAgB,KACvB,OAAO,CAAC,MAAM,GAAG,IAAI,CAoCvB,CAAC"}
|
package/dist/summarizer/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
3
|
* 代码改动汇总模块
|
|
4
|
-
* 基于 git diff 生成结构化的 Markdown
|
|
4
|
+
* 基于 git diff 生成结构化的 Markdown 改动摘要,输出纯文本供 CI 脚本发布到 GitLab MR
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.generateSummary = void 0;
|
|
@@ -70,35 +70,18 @@ const cleanMarkdownResponse = (content) => {
|
|
|
70
70
|
}
|
|
71
71
|
return text.trim();
|
|
72
72
|
};
|
|
73
|
-
const buildSummaryRdjson = (markdown) => ({
|
|
74
|
-
source: { name: "ai-code-review-summary" },
|
|
75
|
-
diagnostics: [
|
|
76
|
-
{
|
|
77
|
-
message: markdown,
|
|
78
|
-
location: {
|
|
79
|
-
path: "__summary__",
|
|
80
|
-
range: { start: { line: 0, column: 0 } },
|
|
81
|
-
},
|
|
82
|
-
severity: "INFO",
|
|
83
|
-
},
|
|
84
|
-
],
|
|
85
|
-
});
|
|
86
|
-
const buildEmptySummaryRdjson = () => ({
|
|
87
|
-
source: { name: "ai-code-review-summary" },
|
|
88
|
-
diagnostics: [],
|
|
89
|
-
});
|
|
90
73
|
/**
|
|
91
|
-
*
|
|
74
|
+
* 生成代码改动汇总,返回纯 Markdown 文本(由 CI 脚本通过 GitLab API 发布)
|
|
92
75
|
*/
|
|
93
76
|
const generateSummary = async (diff, config) => {
|
|
94
77
|
const effectiveDiff = (0, utils_1.filterDiffByIgnore)(diff, config.review?.ignore);
|
|
95
78
|
if (!effectiveDiff || !effectiveDiff.trim()) {
|
|
96
79
|
console.error("[summarizer] diff 为空,跳过汇总");
|
|
97
|
-
return
|
|
80
|
+
return null;
|
|
98
81
|
}
|
|
99
82
|
if (!config.ai.apiKey || !config.ai.endpoint) {
|
|
100
83
|
console.error("[summarizer] 缺少 API 配置");
|
|
101
|
-
return
|
|
84
|
+
return null;
|
|
102
85
|
}
|
|
103
86
|
const systemPrompt = buildSummarySystemPrompt();
|
|
104
87
|
const userPrompt = buildSummaryUserPrompt(effectiveDiff);
|
|
@@ -107,11 +90,11 @@ const generateSummary = async (diff, config) => {
|
|
|
107
90
|
const rawContent = await modelAdapter.call(config.ai.model, systemPrompt, userPrompt);
|
|
108
91
|
if (!rawContent) {
|
|
109
92
|
console.error("[summarizer] AI 未返回有效内容");
|
|
110
|
-
return
|
|
93
|
+
return null;
|
|
111
94
|
}
|
|
112
95
|
const markdown = cleanMarkdownResponse(rawContent);
|
|
113
96
|
console.error("[summarizer] 汇总报告生成完成");
|
|
114
|
-
return
|
|
97
|
+
return markdown;
|
|
115
98
|
};
|
|
116
99
|
exports.generateSummary = generateSummary;
|
|
117
100
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/summarizer/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,6CAAuD;AACvD,+DAA8E;AAE9E,MAAM,wBAAwB,GAAG,GAAW,EAAE;IAC5C,OAAO;QACL,iCAAiC;QACjC,qCAAqC;QACrC,gCAAgC;KACjC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAU,EAAE;IACtD,OAAO;QACL,8BAA8B;QAC9B,EAAE;QACF,KAAK;QACL,gCAAgC;QAChC,eAAe;QACf,EAAE;QACF,OAAO;QACP,2BAA2B;QAC3B,EAAE;QACF,SAAS;QACT,yBAAyB;QACzB,wBAAwB;QACxB,yBAAyB;QACzB,yBAAyB;QACzB,+BAA+B;QAC/B,oBAAoB;QACpB,EAAE;QACF,yBAAyB;QACzB,EAAE;QACF,UAAU;QACV,cAAc;QACd,sBAAsB;QACtB,qBAAqB;QACrB,EAAE;QACF,qBAAqB;QACrB,EAAE;QACF,SAAS;QACT,yDAAyD;QACzD,EAAE;QACF,KAAK;QACL,EAAE;QACF,eAAe;QACf,IAAI;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAU,EAAE;IACxD,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1B,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/summarizer/index.ts"],"names":[],"mappings":"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"}
|