@wuyanbin/ai-code-review-cli-remote 1.0.4 → 1.0.6
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/gitlab.d.ts +7 -0
- package/dist/gitlab.d.ts.map +1 -0
- package/dist/gitlab.js +55 -0
- package/dist/gitlab.js.map +1 -0
- package/package.json +1 -1
package/dist/gitlab.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../src/gitlab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AA8BzC,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,OAAO,CAAC,CA0CnB"}
|
package/dist/gitlab.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postGitlabDiagnosticsNote = postGitlabDiagnosticsNote;
|
|
4
|
+
function directCommentEnabled(env) {
|
|
5
|
+
return env.AICR_DIRECT_GITLAB_COMMENT !== "false";
|
|
6
|
+
}
|
|
7
|
+
function formatDiagnosticsNote(comments) {
|
|
8
|
+
const lines = [
|
|
9
|
+
"## AI Code Review",
|
|
10
|
+
"",
|
|
11
|
+
`发现 ${comments.length} 条审查意见:`,
|
|
12
|
+
"",
|
|
13
|
+
];
|
|
14
|
+
for (const comment of comments) {
|
|
15
|
+
lines.push(`- **${comment.file}:${comment.line}** [${comment.severity}] ${comment.message}${comment.suggestion ? `\n 建议:${comment.suggestion}` : ""}`);
|
|
16
|
+
}
|
|
17
|
+
return lines.join("\n");
|
|
18
|
+
}
|
|
19
|
+
async function postGitlabDiagnosticsNote(options) {
|
|
20
|
+
const env = options.env ?? process.env;
|
|
21
|
+
if (!directCommentEnabled(env)) {
|
|
22
|
+
console.error("[gitlab] direct MR note skipped: disabled");
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
if (options.comments.length === 0) {
|
|
26
|
+
console.error("[gitlab] direct MR note skipped: no diagnostics");
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
if (!options.token ||
|
|
30
|
+
!env.CI_API_V4_URL ||
|
|
31
|
+
!env.CI_PROJECT_ID ||
|
|
32
|
+
!env.CI_MERGE_REQUEST_IID) {
|
|
33
|
+
console.error("[gitlab] direct MR note skipped: missing GitLab CI context");
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
const projectId = encodeURIComponent(env.CI_PROJECT_ID);
|
|
37
|
+
const mrIid = encodeURIComponent(env.CI_MERGE_REQUEST_IID);
|
|
38
|
+
const url = `${env.CI_API_V4_URL.replace(/\/+$/, "")}/projects/${projectId}/merge_requests/${mrIid}/notes`;
|
|
39
|
+
console.error(`[gitlab] posting direct MR note comments=${options.comments.length}`);
|
|
40
|
+
const resp = await fetch(url, {
|
|
41
|
+
method: "POST",
|
|
42
|
+
headers: {
|
|
43
|
+
"Content-Type": "application/json",
|
|
44
|
+
Authorization: `Bearer ${options.token}`,
|
|
45
|
+
},
|
|
46
|
+
body: JSON.stringify({ body: formatDiagnosticsNote(options.comments) }),
|
|
47
|
+
});
|
|
48
|
+
if (!resp.ok) {
|
|
49
|
+
console.error(`[gitlab] direct MR note failed status=${resp.status}`);
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
console.error("[gitlab] direct MR note posted");
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=gitlab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../src/gitlab.ts"],"names":[],"mappings":";;AA8BA,8DA8CC;AAnED,SAAS,oBAAoB,CAAC,GAAgB;IAC5C,OAAO,GAAG,CAAC,0BAA0B,KAAK,OAAO,CAAC;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,QAAqB;IAClD,MAAM,KAAK,GAAG;QACZ,mBAAmB;QACnB,EAAE;QACF,MAAM,QAAQ,CAAC,MAAM,SAAS;QAC9B,EAAE;KACH,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CACR,OAAO,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,OAAO,GAC5E,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EACxD,EAAE,CACH,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAEM,KAAK,UAAU,yBAAyB,CAAC,OAI/C;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,CAAC,OAAO,CAAC,KAAK;QACd,CAAC,GAAG,CAAC,aAAa;QAClB,CAAC,GAAG,CAAC,aAAa;QAClB,CAAC,GAAG,CAAC,oBAAoB,EACzB,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CACtC,MAAM,EACN,EAAE,CACH,aAAa,SAAS,mBAAmB,KAAK,QAAQ,CAAC;IAExD,OAAO,CAAC,KAAK,CAAC,4CAA4C,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC5B,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;KACxE,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED