@wuyanbin/ai-code-review-cli-remote 1.0.12-canary.0 → 1.0.12

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 (80) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +0 -6
  3. package/dist/config.js.map +1 -1
  4. package/dist/core/context.d.ts.map +1 -0
  5. package/dist/core/context.js.map +1 -0
  6. package/dist/core/diff.d.ts +14 -0
  7. package/dist/core/diff.d.ts.map +1 -0
  8. package/dist/core/diff.js +179 -0
  9. package/dist/core/diff.js.map +1 -0
  10. package/dist/core/model.d.ts +6 -0
  11. package/dist/core/model.d.ts.map +1 -0
  12. package/dist/core/model.js +120 -0
  13. package/dist/core/model.js.map +1 -0
  14. package/dist/core/output.d.ts +4 -0
  15. package/dist/core/output.d.ts.map +1 -0
  16. package/dist/core/output.js +31 -0
  17. package/dist/core/output.js.map +1 -0
  18. package/dist/core/prompt.d.ts +17 -0
  19. package/dist/core/prompt.d.ts.map +1 -0
  20. package/dist/core/prompt.js +92 -0
  21. package/dist/core/prompt.js.map +1 -0
  22. package/dist/core/reviewer.d.ts +6 -0
  23. package/dist/core/reviewer.d.ts.map +1 -0
  24. package/dist/core/reviewer.js +123 -0
  25. package/dist/core/reviewer.js.map +1 -0
  26. package/dist/core/summarizer.d.ts +3 -0
  27. package/dist/core/summarizer.d.ts.map +1 -0
  28. package/dist/core/summarizer.js +48 -0
  29. package/dist/core/summarizer.js.map +1 -0
  30. package/dist/diff.d.ts +0 -10
  31. package/dist/diff.d.ts.map +1 -1
  32. package/dist/diff.js +0 -54
  33. package/dist/diff.js.map +1 -1
  34. package/dist/gitlab/api.d.ts +13 -0
  35. package/dist/gitlab/api.d.ts.map +1 -0
  36. package/dist/gitlab/api.js +317 -0
  37. package/dist/gitlab/api.js.map +1 -0
  38. package/dist/gitlab.d.ts +0 -5
  39. package/dist/gitlab.d.ts.map +1 -1
  40. package/dist/gitlab.js +34 -155
  41. package/dist/gitlab.js.map +1 -1
  42. package/dist/http.d.ts +1 -0
  43. package/dist/http.d.ts.map +1 -1
  44. package/dist/http.js +13 -0
  45. package/dist/http.js.map +1 -1
  46. package/dist/index.js +1 -1
  47. package/dist/index.js.map +1 -1
  48. package/dist/platform/config.d.ts +10 -0
  49. package/dist/platform/config.d.ts.map +1 -0
  50. package/dist/platform/config.js +156 -0
  51. package/dist/platform/config.js.map +1 -0
  52. package/dist/platform/report.d.ts +9 -0
  53. package/dist/platform/report.d.ts.map +1 -0
  54. package/dist/platform/report.js +32 -0
  55. package/dist/platform/report.js.map +1 -0
  56. package/dist/reviewer.d.ts +1 -4
  57. package/dist/reviewer.d.ts.map +1 -1
  58. package/dist/reviewer.js +14 -61
  59. package/dist/reviewer.js.map +1 -1
  60. package/dist/runner.d.ts +1 -3
  61. package/dist/runner.d.ts.map +1 -1
  62. package/dist/runner.js +2 -9
  63. package/dist/runner.js.map +1 -1
  64. package/dist/shared/http.d.ts +3 -0
  65. package/dist/shared/http.d.ts.map +1 -0
  66. package/dist/shared/http.js +18 -0
  67. package/dist/shared/http.js.map +1 -0
  68. package/dist/{identity.d.ts → shared/identity.d.ts} +1 -1
  69. package/dist/shared/identity.d.ts.map +1 -0
  70. package/dist/{identity.js → shared/identity.js} +1 -1
  71. package/dist/shared/identity.js.map +1 -0
  72. package/dist/types.d.ts +0 -1
  73. package/dist/types.d.ts.map +1 -1
  74. package/package.json +1 -1
  75. package/dist/context.d.ts.map +0 -1
  76. package/dist/context.js.map +0 -1
  77. package/dist/identity.d.ts.map +0 -1
  78. package/dist/identity.js.map +0 -1
  79. /package/dist/{context.d.ts → core/context.d.ts} +0 -0
  80. /package/dist/{context.js → core/context.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAoB,gBAAgB,EAAY,MAAM,SAAS,CAAC;AAE5E,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE1E,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAoLD,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAM/E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAoB,gBAAgB,EAAY,MAAM,SAAS,CAAC;AAE5E,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE1E,MAAM,WAAW,uBAAuB;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AA2KD,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAM/E"}
package/dist/config.js CHANGED
@@ -34,11 +34,6 @@ function normalizeMaxComments(value) {
34
34
  ? Math.floor(value)
35
35
  : 100;
36
36
  }
37
- function normalizeShardMaxBytes(value) {
38
- return typeof value === "number" && Number.isFinite(value) && value >= 20000
39
- ? Math.floor(value)
40
- : 120000;
41
- }
42
37
  function normalizeApiFormat(value, provider, endpoint) {
43
38
  if (value === "openai" || value === "claude")
44
39
  return value;
@@ -68,7 +63,6 @@ function normalizeConfig(raw, source, env) {
68
63
  severity: normalizeSeverity(raw.review?.severity),
69
64
  ignore: asStringArray(raw.review?.ignore),
70
65
  maxComments: normalizeMaxComments(raw.review?.maxComments),
71
- shardMaxBytes: normalizeShardMaxBytes(raw.review?.shardMaxBytes),
72
66
  },
73
67
  summary: {
74
68
  enabled: raw.summary?.enabled ?? true,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAsID,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,MAAM,CAAC,CAUjB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/core/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { AIComment } from "../types";
2
+ export declare function filterDiffByIgnore(diff: string, ignorePatterns?: string[]): string;
3
+ export interface AddedLine {
4
+ file: string;
5
+ line: number;
6
+ content: string;
7
+ }
8
+ export declare function normalizePath(path: string): string;
9
+ export declare function collectAddedLines(diff: string): Map<string, AddedLine[]>;
10
+ export declare function getChangedFiles(diff: string): string[];
11
+ export declare function splitDiffByMaxBytes(diff: string, maxBytes: number): string[];
12
+ export declare function buildAddedLinesIndexText(diff: string, maxLines?: number): string;
13
+ export declare function alignCommentsToDiffAddedLines(diff: string, comments: AIComment[]): AIComment[];
14
+ //# sourceMappingURL=diff.d.ts.map
@@ -0,0 +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;AAoB1C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAmBlF;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,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CA8CxE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAatD;AAoBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB5E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,SAAO,GAAG,MAAM,CAU9E;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,SAAS,EAAE,GACpB,SAAS,EAAE,CAqBb"}
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterDiffByIgnore = filterDiffByIgnore;
4
+ exports.normalizePath = normalizePath;
5
+ exports.collectAddedLines = collectAddedLines;
6
+ exports.getChangedFiles = getChangedFiles;
7
+ exports.splitDiffByMaxBytes = splitDiffByMaxBytes;
8
+ exports.buildAddedLinesIndexText = buildAddedLinesIndexText;
9
+ exports.alignCommentsToDiffAddedLines = alignCommentsToDiffAddedLines;
10
+ function globToRegExp(pattern) {
11
+ if (pattern.endsWith("/**")) {
12
+ const prefix = pattern.slice(0, -3).replace(/[.+?^${}()|[\]\\]/g, "\\$&");
13
+ return new RegExp(`^${prefix}/.*$`);
14
+ }
15
+ if (pattern.startsWith("**/")) {
16
+ const rest = pattern
17
+ .slice(3)
18
+ .replace(/[.+?^${}()|[\]\\]/g, "\\$&")
19
+ .replace(/\*/g, "[^/]*");
20
+ return new RegExp(`^(?:.*/)?${rest}$`);
21
+ }
22
+ const escaped = pattern
23
+ .replace(/[.+?^${}()|[\]\\]/g, "\\$&")
24
+ .replace(/\*/g, "[^/]*");
25
+ return new RegExp(`^${escaped}$`);
26
+ }
27
+ function filterDiffByIgnore(diff, ignorePatterns) {
28
+ if (!ignorePatterns?.length || !diff.trim())
29
+ return diff;
30
+ const lines = diff.split("\n");
31
+ const kept = [];
32
+ let ignoreCurrent = false;
33
+ for (const line of lines) {
34
+ if (line.startsWith("diff --git ")) {
35
+ ignoreCurrent = false;
36
+ const match = /^diff --git a\/(.+?) b\/(.+)$/.exec(line);
37
+ if (match) {
38
+ ignoreCurrent = ignorePatterns.some((pattern) => globToRegExp(pattern).test(match[2]));
39
+ }
40
+ }
41
+ if (!ignoreCurrent)
42
+ kept.push(line);
43
+ }
44
+ return kept.join("\n");
45
+ }
46
+ function normalizePath(path) {
47
+ return path.trim().replace(/^[ab]\//, "").replace(/^\.\//, "");
48
+ }
49
+ function collectAddedLines(diff) {
50
+ const files = new Map();
51
+ let currentFile = null;
52
+ let inHunk = false;
53
+ let newLine = 0;
54
+ let oldLine = 0;
55
+ for (const raw of diff.split("\n")) {
56
+ if (raw.startsWith("diff --git ")) {
57
+ inHunk = false;
58
+ currentFile = null;
59
+ const match = /^diff --git a\/(.+?) b\/(.+)$/.exec(raw);
60
+ if (match) {
61
+ currentFile = normalizePath(match[2]);
62
+ files.set(currentFile, files.get(currentFile) ?? []);
63
+ }
64
+ continue;
65
+ }
66
+ if (raw.startsWith("+++ b/")) {
67
+ currentFile = normalizePath(raw.slice("+++ b/".length));
68
+ files.set(currentFile, files.get(currentFile) ?? []);
69
+ continue;
70
+ }
71
+ if (raw.startsWith("@@")) {
72
+ const match = /^@@\s+\-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/.exec(raw);
73
+ inHunk = !!match;
74
+ oldLine = Number(match?.[1] ?? 0);
75
+ newLine = Number(match?.[2] ?? 0);
76
+ continue;
77
+ }
78
+ if (!inHunk || !currentFile)
79
+ continue;
80
+ if (raw.startsWith("+") && !raw.startsWith("+++")) {
81
+ files.get(currentFile)?.push({
82
+ file: currentFile,
83
+ line: newLine,
84
+ content: raw.slice(1),
85
+ });
86
+ newLine += 1;
87
+ }
88
+ else if (raw.startsWith("-") && !raw.startsWith("---")) {
89
+ oldLine += 1;
90
+ }
91
+ else if (raw.startsWith(" ")) {
92
+ oldLine += 1;
93
+ newLine += 1;
94
+ }
95
+ }
96
+ return files;
97
+ }
98
+ function getChangedFiles(diff) {
99
+ const files = new Set();
100
+ for (const raw of diff.split("\n")) {
101
+ if (raw.startsWith("diff --git ")) {
102
+ const match = /^diff --git a\/(.+?) b\/(.+)$/.exec(raw);
103
+ if (match)
104
+ files.add(normalizePath(match[2]));
105
+ continue;
106
+ }
107
+ if (raw.startsWith("+++ b/")) {
108
+ files.add(normalizePath(raw.slice("+++ b/".length)));
109
+ }
110
+ }
111
+ return [...files];
112
+ }
113
+ function splitDiffByFile(diff) {
114
+ const sections = [];
115
+ let current = [];
116
+ for (const line of diff.split("\n")) {
117
+ if (line.startsWith("diff --git ") && current.length > 0) {
118
+ sections.push(current.join("\n"));
119
+ current = [];
120
+ }
121
+ current.push(line);
122
+ }
123
+ if (current.some((line) => line.trim())) {
124
+ sections.push(current.join("\n"));
125
+ }
126
+ return sections.length ? sections : [diff];
127
+ }
128
+ function splitDiffByMaxBytes(diff, maxBytes) {
129
+ const files = splitDiffByFile(diff);
130
+ const shards = [];
131
+ let current = [];
132
+ let currentBytes = 0;
133
+ for (const fileDiff of files) {
134
+ const fileBytes = Buffer.byteLength(fileDiff);
135
+ if (current.length > 0 && currentBytes + fileBytes > maxBytes) {
136
+ shards.push(current.join("\n"));
137
+ current = [];
138
+ currentBytes = 0;
139
+ }
140
+ current.push(fileDiff);
141
+ currentBytes += fileBytes;
142
+ }
143
+ if (current.length > 0)
144
+ shards.push(current.join("\n"));
145
+ return shards;
146
+ }
147
+ function buildAddedLinesIndexText(diff, maxLines = 5000) {
148
+ const rows = [];
149
+ for (const [file, lines] of collectAddedLines(diff)) {
150
+ for (const item of lines) {
151
+ if (rows.length >= maxLines)
152
+ break;
153
+ rows.push(`[${file}:${item.line}] ${item.content}`);
154
+ }
155
+ if (rows.length >= maxLines)
156
+ break;
157
+ }
158
+ return rows.length ? rows.join("\n") : "(diff 中未检测到可评论的新增行)";
159
+ }
160
+ function alignCommentsToDiffAddedLines(diff, comments) {
161
+ const added = collectAddedLines(diff);
162
+ return comments.flatMap((comment) => {
163
+ const file = normalizePath(comment.file);
164
+ const candidates = added.get(file);
165
+ if (!candidates?.length)
166
+ return [];
167
+ const exact = candidates.find((item) => item.line === comment.line);
168
+ const byCode = typeof comment.code === "string"
169
+ ? candidates.find((item) => item.content.trim() === comment.code?.trim())
170
+ : undefined;
171
+ const chosen = exact ??
172
+ byCode ??
173
+ candidates.reduce((best, item) => Math.abs(item.line - comment.line) < Math.abs(best.line - comment.line)
174
+ ? item
175
+ : best);
176
+ return [{ ...comment, file, line: chosen.line }];
177
+ });
178
+ }
179
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","sourceRoot":"","sources":["../../src/core/diff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { AIModelApiFormat } from "../types";
2
+ export interface ModelAdapter {
3
+ call(model: string, systemPrompt: string, userPrompt: string): Promise<string | null>;
4
+ }
5
+ export declare function createModelAdapter(endpoint: string, apiKey: string, apiFormat?: AIModelApiFormat): ModelAdapter;
6
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +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,YAAY;IAC3B,IAAI,CACF,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC3B;AAuJD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,gBAAgB,GAC3B,YAAY,CAWd"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createModelAdapter = createModelAdapter;
4
+ const constants_1 = require("../constants");
5
+ const http_1 = require("../shared/http");
6
+ async function readErrorBody(resp) {
7
+ const text = await resp.text().catch(() => "");
8
+ return text.trim().slice(0, 1000);
9
+ }
10
+ class BaseModelAdapter {
11
+ constructor(endpoint, apiKey) {
12
+ this.endpoint = endpoint;
13
+ this.apiKey = apiKey;
14
+ }
15
+ async call(model, systemPrompt, userPrompt) {
16
+ const tag = this.providerName;
17
+ console.error(`[model] ${tag} request start model=${model}`);
18
+ let resp;
19
+ try {
20
+ resp = await (0, http_1.fetchWithTimeout)(this.buildRequestUrl(), {
21
+ method: "POST",
22
+ headers: {
23
+ "Content-Type": "application/json",
24
+ ...this.buildHeaders(),
25
+ },
26
+ body: JSON.stringify(this.buildBody(model, systemPrompt, userPrompt)),
27
+ }, constants_1.REQUEST_TIMEOUT_MS);
28
+ }
29
+ catch (err) {
30
+ const reason = err instanceof Error && err.name === "AbortError"
31
+ ? "timeout"
32
+ : "network error";
33
+ console.error(`[model] ${tag} request ${reason}: ${err}`);
34
+ return null;
35
+ }
36
+ if (!resp.ok) {
37
+ const body = await readErrorBody(resp);
38
+ console.error(body
39
+ ? `[model] ${tag} API failed status=${resp.status} body=${body}`
40
+ : `[model] ${tag} API failed status=${resp.status}`);
41
+ return null;
42
+ }
43
+ const json = await (0, http_1.parseJsonSafe)(resp);
44
+ if (!json) {
45
+ console.error(`[model] ${tag} response body parse failed`);
46
+ return null;
47
+ }
48
+ const content = this.extractContent(json);
49
+ console.error(content
50
+ ? `[model] ${tag} request complete bytes=${Buffer.byteLength(content)}`
51
+ : `[model] ${tag} response empty`);
52
+ return content;
53
+ }
54
+ }
55
+ class OpenAIAdapter extends BaseModelAdapter {
56
+ get providerName() {
57
+ return "openai-compatible";
58
+ }
59
+ buildRequestUrl() {
60
+ const url = this.endpoint.replace(/\/+$/, "");
61
+ return url.endsWith("/chat/completions") ? url : `${url}/chat/completions`;
62
+ }
63
+ buildHeaders() {
64
+ return { Authorization: `Bearer ${this.apiKey}` };
65
+ }
66
+ buildBody(model, systemPrompt, userPrompt) {
67
+ return {
68
+ model,
69
+ messages: [
70
+ { role: "system", content: systemPrompt },
71
+ { role: "user", content: userPrompt },
72
+ ],
73
+ stream: false,
74
+ };
75
+ }
76
+ extractContent(json) {
77
+ const data = json;
78
+ return data.choices?.[0]?.message?.content?.trim() || null;
79
+ }
80
+ }
81
+ class ClaudeAdapter extends BaseModelAdapter {
82
+ get providerName() {
83
+ return "claude";
84
+ }
85
+ buildRequestUrl() {
86
+ const url = this.endpoint.replace(/\/+$/, "");
87
+ return url.endsWith("/v1/messages") ? url : `${url}/v1/messages`;
88
+ }
89
+ buildHeaders() {
90
+ return {
91
+ "x-api-key": this.apiKey,
92
+ "anthropic-version": "2023-06-01",
93
+ };
94
+ }
95
+ buildBody(model, systemPrompt, userPrompt) {
96
+ return {
97
+ model,
98
+ max_tokens: 32768,
99
+ system: systemPrompt,
100
+ messages: [{ role: "user", content: userPrompt }],
101
+ };
102
+ }
103
+ extractContent(json) {
104
+ const data = json;
105
+ return data.content?.find((b) => b.type === "text")?.text?.trim() || null;
106
+ }
107
+ }
108
+ function createModelAdapter(endpoint, apiKey, apiFormat) {
109
+ if (apiFormat === "claude") {
110
+ return new ClaudeAdapter(endpoint, apiKey);
111
+ }
112
+ if (apiFormat === "openai") {
113
+ return new OpenAIAdapter(endpoint, apiKey);
114
+ }
115
+ if (endpoint.includes("anthropic.com") || endpoint.includes("/v1/messages")) {
116
+ return new ClaudeAdapter(endpoint, apiKey);
117
+ }
118
+ return new OpenAIAdapter(endpoint, apiKey);
119
+ }
120
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/core/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AIComment, RdjsonOutput } from "../types";
2
+ export declare function buildEmptyRdjson(): RdjsonOutput;
3
+ export declare function buildRdjson(comments: AIComment[]): RdjsonOutput;
4
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/core/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAY,MAAM,UAAU,CAAC;AASlE,wBAAgB,gBAAgB,IAAI,YAAY,CAE/C;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,YAAY,CAgB/D"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildEmptyRdjson = buildEmptyRdjson;
4
+ exports.buildRdjson = buildRdjson;
5
+ const constants_1 = require("../constants");
6
+ function toRdjsonSeverity(severity) {
7
+ if (severity === "error")
8
+ return "ERROR";
9
+ if (severity === "info")
10
+ return "INFO";
11
+ return "WARNING";
12
+ }
13
+ function buildEmptyRdjson() {
14
+ return { source: { name: "ai_code_review" }, diagnostics: [] };
15
+ }
16
+ function buildRdjson(comments) {
17
+ return {
18
+ source: { name: "ai_code_review" },
19
+ diagnostics: comments
20
+ .filter((comment) => comment.file && comment.line)
21
+ .map((comment) => ({
22
+ message: `${comment.message || constants_1.DEFAULT_COMMENT_MESSAGE}${comment.suggestion ? `\n建议:${comment.suggestion}` : ""}`,
23
+ location: {
24
+ path: comment.file,
25
+ range: { start: { line: Number(comment.line) || 1, column: 1 } },
26
+ },
27
+ severity: toRdjsonSeverity(comment.severity),
28
+ })),
29
+ };
30
+ }
31
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/core/output.ts"],"names":[],"mappings":";;AASA,4CAEC;AAED,kCAgBC;AA5BD,4CAAuD;AAEvD,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACjE,CAAC;AAED,SAAgB,WAAW,CAAC,QAAqB;IAC/C,OAAO;QACL,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAClC,WAAW,EAAE,QAAQ;aAClB,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;aACjD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjB,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAuB,GACpD,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EACtD,EAAE;YACF,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE;aACjE;YACD,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC7C,CAAC,CAAC;KACN,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare class PromptBuilder {
2
+ private diff;
3
+ private rules;
4
+ private context;
5
+ setDiff(diff: string): this;
6
+ setRules(custom: string[]): this;
7
+ setContext(context: string): this;
8
+ buildSystem(): string;
9
+ buildUser(): string;
10
+ }
11
+ export declare class SummaryPromptBuilder {
12
+ private diff;
13
+ setDiff(diff: string): this;
14
+ buildSystem(): string;
15
+ buildUser(): string;
16
+ }
17
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":"AAUA,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,OAAO,CAAM;IAErB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAKhC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKjC,WAAW,IAAI,MAAM;IAIrB,SAAS,IAAI,MAAM;CAoBpB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,IAAI,CAAM;IAElB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,WAAW,IAAI,MAAM;IAQrB,SAAS,IAAI,MAAM;CAoBpB"}
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SummaryPromptBuilder = exports.PromptBuilder = void 0;
4
+ const diff_1 = require("./diff");
5
+ const COMMON_RULES = [
6
+ "重点关注潜在 bug、性能问题、可读性与安全性(如 XSS、注入、敏感信息泄露)",
7
+ "代码要有适当的错误处理",
8
+ "避免代码重复,注意抽离复用逻辑",
9
+ "函数和变量命名要语义化,见名知意",
10
+ "复杂逻辑要添加注释说明",
11
+ ];
12
+ class PromptBuilder {
13
+ constructor() {
14
+ this.diff = "";
15
+ this.rules = [];
16
+ this.context = "";
17
+ }
18
+ setDiff(diff) {
19
+ this.diff = diff;
20
+ return this;
21
+ }
22
+ setRules(custom) {
23
+ this.rules = [...COMMON_RULES, ...custom];
24
+ return this;
25
+ }
26
+ setContext(context) {
27
+ this.context = context;
28
+ return this;
29
+ }
30
+ buildSystem() {
31
+ return "你是一个资深的代码审查助手,需要根据给定的 Git diff 和项目规范,对改动的代码进行严格的 Code Review。";
32
+ }
33
+ buildUser() {
34
+ return [
35
+ "请你只针对 diff 中【新增或修改】的代码行给出审查意见。",
36
+ "输出格式要求:必须返回严格的 JSON,形如:",
37
+ '{"comments":[{"file":"src/xxx.ts","line":123,"code":"该行完整代码","severity":"warning","message":"问题描述","suggestion":"修复建议"}]}',
38
+ "注意:severity 只能是 info / warning / error;file 必须使用 diff 中出现的路径;line 必须是 new file 侧真实行号;只能评论新增行。",
39
+ "",
40
+ "可评论行索引:",
41
+ (0, diff_1.buildAddedLinesIndexText)(this.diff),
42
+ "",
43
+ "审查上下文(MR 元信息、项目规则、变更附近源码):",
44
+ this.context,
45
+ "",
46
+ "项目规范:",
47
+ this.rules.join("\n"),
48
+ "",
49
+ "Git diff:",
50
+ this.diff,
51
+ ].join("\n");
52
+ }
53
+ }
54
+ exports.PromptBuilder = PromptBuilder;
55
+ class SummaryPromptBuilder {
56
+ constructor() {
57
+ this.diff = "";
58
+ }
59
+ setDiff(diff) {
60
+ this.diff = diff;
61
+ return this;
62
+ }
63
+ buildSystem() {
64
+ return [
65
+ "你是一位资深开发工程师,擅长分析代码改动并生成清晰的技术摘要。",
66
+ "根据给定 Git diff 生成中文 Markdown 汇总。",
67
+ "必须直接输出纯 Markdown 文本,不要返回 JSON,不要用代码块包裹。",
68
+ ].join("\n");
69
+ }
70
+ buildUser() {
71
+ return [
72
+ "请根据以下 Git diff 生成一份代码改动汇总报告。",
73
+ "",
74
+ "## 概述",
75
+ "用 1-2 句话说明整体目的和范围。",
76
+ "",
77
+ "## 主要变更",
78
+ "按新功能、Bug 修复、重构优化、依赖更新、配置调整分类列出。",
79
+ "",
80
+ "## 受影响文件",
81
+ "用表格列出文件路径、变更类型、说明。",
82
+ "",
83
+ "## 注意事项",
84
+ "列出需要关注的风险;没有则写\u201C无\u201D。",
85
+ "",
86
+ "Git diff:",
87
+ this.diff,
88
+ ].join("\n");
89
+ }
90
+ }
91
+ exports.SummaryPromptBuilder = SummaryPromptBuilder;
92
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/core/prompt.ts"],"names":[],"mappings":";;;AAAA,iCAAkD;AAElD,MAAM,YAAY,GAAG;IACnB,0CAA0C;IAC1C,aAAa;IACb,iBAAiB;IACjB,kBAAkB;IAClB,aAAa;CACd,CAAC;AAEF,MAAa,aAAa;IAA1B;QACU,SAAI,GAAG,EAAE,CAAC;QACV,UAAK,GAAa,EAAE,CAAC;QACrB,YAAO,GAAG,EAAE,CAAC;IAyCvB,CAAC;IAvCC,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,MAAgB;QACvB,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO,+DAA+D,CAAC;IACzE,CAAC;IAED,SAAS;QACP,OAAO;YACL,gCAAgC;YAChC,yBAAyB;YACzB,2HAA2H;YAC3H,+FAA+F;YAC/F,EAAE;YACF,SAAS;YACT,IAAA,+BAAwB,EAAC,IAAI,CAAC,IAAI,CAAC;YACnC,EAAE;YACF,4BAA4B;YAC5B,IAAI,CAAC,OAAO;YACZ,EAAE;YACF,OAAO;YACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACrB,EAAE;YACF,WAAW;YACX,IAAI,CAAC,IAAI;SACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF;AA5CD,sCA4CC;AAED,MAAa,oBAAoB;IAAjC;QACU,SAAI,GAAG,EAAE,CAAC;IAmCpB,CAAC;IAjCC,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW;QACT,OAAO;YACL,iCAAiC;YACjC,iCAAiC;YACjC,yCAAyC;SAC1C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,SAAS;QACP,OAAO;YACL,8BAA8B;YAC9B,EAAE;YACF,OAAO;YACP,oBAAoB;YACpB,EAAE;YACF,SAAS;YACT,iCAAiC;YACjC,EAAE;YACF,UAAU;YACV,oBAAoB;YACpB,EAAE;YACF,SAAS;YACT,8BAA8B;YAC9B,EAAE;YACF,WAAW;YACX,IAAI,CAAC,IAAI;SACV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF;AApCD,oDAoCC"}
@@ -0,0 +1,6 @@
1
+ import type { AIResponse, CodeReviewConfig } from "../types";
2
+ export declare function reviewCode(diff: string, config: CodeReviewConfig, options?: {
3
+ cwd?: string;
4
+ env?: NodeJS.ProcessEnv;
5
+ }): Promise<AIResponse | null>;
6
+ //# sourceMappingURL=reviewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../src/core/reviewer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAa,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAyFxE,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAO,GACtD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA2E5B"}