@wuyanbin/ai-code-review-cli-remote 1.0.14-canary.0 → 1.0.15-canary.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.
- package/dist/client.d.ts +18 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +57 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +161 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +8 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +16 -2
- package/dist/constants.js.map +1 -1
- package/dist/core/reviewer.d.ts.map +1 -1
- package/dist/core/reviewer.js +2 -13
- package/dist/core/reviewer.js.map +1 -1
- package/dist/diff.d.ts +6 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +127 -0
- package/dist/diff.js.map +1 -0
- package/dist/formatters.d.ts +4 -0
- package/dist/formatters.d.ts.map +1 -0
- package/dist/formatters.js +31 -0
- package/dist/formatters.js.map +1 -0
- package/dist/gitlab/api.d.ts +39 -0
- package/dist/gitlab/api.d.ts.map +1 -1
- package/dist/gitlab/api.js +57 -18
- package/dist/gitlab/api.js.map +1 -1
- package/dist/gitlab.d.ts +11 -0
- package/dist/gitlab.d.ts.map +1 -0
- package/dist/gitlab.js +193 -0
- package/dist/gitlab.js.map +1 -0
- package/dist/http.d.ts +4 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +31 -0
- package/dist/http.js.map +1 -0
- package/dist/index.js +0 -0
- package/dist/model.d.ts +6 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +120 -0
- package/dist/model.js.map +1 -0
- package/dist/report.d.ts +9 -0
- package/dist/report.d.ts.map +1 -0
- package/dist/report.js +31 -0
- package/dist/report.js.map +1 -0
- package/dist/reviewer.d.ts +3 -0
- package/dist/reviewer.d.ts.map +1 -0
- package/dist/reviewer.js +140 -0
- package/dist/reviewer.js.map +1 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +9 -1
- package/dist/runner.js.map +1 -1
- package/dist/shared/concurrency.d.ts +2 -0
- package/dist/shared/concurrency.d.ts.map +1 -0
- package/dist/shared/concurrency.js +16 -0
- package/dist/shared/concurrency.js.map +1 -0
- package/dist/shared/http.d.ts +15 -0
- package/dist/shared/http.d.ts.map +1 -1
- package/dist/shared/http.js +36 -0
- package/dist/shared/http.js.map +1 -1
- package/dist/summarizer.d.ts +3 -0
- package/dist/summarizer.d.ts.map +1 -0
- package/dist/summarizer.js +75 -0
- package/dist/summarizer.js.map +1 -0
- package/package.json +1 -1
package/dist/gitlab/api.d.ts
CHANGED
|
@@ -1,13 +1,52 @@
|
|
|
1
1
|
import type { AIComment } from "../types";
|
|
2
|
+
interface GitlabUser {
|
|
3
|
+
id: number;
|
|
4
|
+
username: string;
|
|
5
|
+
}
|
|
6
|
+
interface GitlabNote {
|
|
7
|
+
id: number;
|
|
8
|
+
author: {
|
|
9
|
+
id: number;
|
|
10
|
+
username: string;
|
|
11
|
+
};
|
|
12
|
+
system: boolean;
|
|
13
|
+
body?: string;
|
|
14
|
+
}
|
|
15
|
+
interface GitlabDiscussion {
|
|
16
|
+
id: string;
|
|
17
|
+
individual_note: boolean;
|
|
18
|
+
notes: GitlabNote[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Shared read context for a single CR run: fetched once and reused by both the
|
|
22
|
+
* inline-comment and summary writers to avoid duplicating the heaviest GitLab
|
|
23
|
+
* reads (current user + full discussions pagination).
|
|
24
|
+
*/
|
|
25
|
+
export interface GitlabReviewContext {
|
|
26
|
+
user: GitlabUser | null;
|
|
27
|
+
discussions: GitlabDiscussion[];
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Fetch the per-run shared read context (current user + all discussions) once.
|
|
31
|
+
* Returns null when there is no token or no GitLab CI context, in which case the
|
|
32
|
+
* writers fall back to their own (also short-circuiting) fetch logic.
|
|
33
|
+
*/
|
|
34
|
+
export declare function fetchGitlabContext(options: {
|
|
35
|
+
token?: string;
|
|
36
|
+
env?: NodeJS.ProcessEnv;
|
|
37
|
+
}): Promise<GitlabReviewContext | null>;
|
|
2
38
|
export declare function postGitlabDiscussions(options: {
|
|
3
39
|
comments: AIComment[];
|
|
4
40
|
diff?: string;
|
|
5
41
|
token?: string;
|
|
6
42
|
env?: NodeJS.ProcessEnv;
|
|
43
|
+
context?: GitlabReviewContext;
|
|
7
44
|
}): Promise<boolean>;
|
|
8
45
|
export declare function postGitlabSummary(options: {
|
|
9
46
|
markdown: string;
|
|
10
47
|
token?: string;
|
|
11
48
|
env?: NodeJS.ProcessEnv;
|
|
49
|
+
context?: GitlabReviewContext;
|
|
12
50
|
}): Promise<boolean>;
|
|
51
|
+
export {};
|
|
13
52
|
//# sourceMappingURL=api.d.ts.map
|
package/dist/gitlab/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/gitlab/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/gitlab/api.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ1C,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAUD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,gBAAgB,EAAE,CAAC;CACjC;AA6OD;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAatC;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,GAAG,OAAO,CAAC,OAAO,CAAC,CAuHnB;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,mBAAmB,CAAC;CAC/B,GAAG,OAAO,CAAC,OAAO,CAAC,CA4DnB"}
|
package/dist/gitlab/api.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchGitlabContext = fetchGitlabContext;
|
|
3
4
|
exports.postGitlabDiscussions = postGitlabDiscussions;
|
|
4
5
|
exports.postGitlabSummary = postGitlabSummary;
|
|
5
6
|
const constants_1 = require("../constants");
|
|
@@ -16,7 +17,9 @@ class GitlabApiFacade {
|
|
|
16
17
|
this.env = env;
|
|
17
18
|
}
|
|
18
19
|
buildApiUrl(suffix) {
|
|
19
|
-
if (!this.env.CI_API_V4_URL ||
|
|
20
|
+
if (!this.env.CI_API_V4_URL ||
|
|
21
|
+
!this.env.CI_PROJECT_ID ||
|
|
22
|
+
!this.env.CI_MERGE_REQUEST_IID) {
|
|
20
23
|
return null;
|
|
21
24
|
}
|
|
22
25
|
const apiBase = this.env.CI_API_V4_URL.replace(/\/+$/, "");
|
|
@@ -27,6 +30,13 @@ class GitlabApiFacade {
|
|
|
27
30
|
fetch(url, init = {}) {
|
|
28
31
|
return (0, http_1.fetchWithTimeout)(url, init, constants_1.API_TIMEOUT_MS);
|
|
29
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* For idempotent requests (GET/PUT/DELETE): gentle 429/5xx backoff.
|
|
35
|
+
* POST stays on plain fetch to avoid creating duplicate notes on retry.
|
|
36
|
+
*/
|
|
37
|
+
fetchIdempotent(url, init = {}) {
|
|
38
|
+
return (0, http_1.fetchWithRetry)(url, init, constants_1.API_TIMEOUT_MS);
|
|
39
|
+
}
|
|
30
40
|
authHeaders() {
|
|
31
41
|
return { Authorization: `Bearer ${this.token}` };
|
|
32
42
|
}
|
|
@@ -41,7 +51,7 @@ class GitlabApiFacade {
|
|
|
41
51
|
if (!apiBase)
|
|
42
52
|
return null;
|
|
43
53
|
try {
|
|
44
|
-
const resp = await this.
|
|
54
|
+
const resp = await this.fetchIdempotent(`${apiBase}/user`, {
|
|
45
55
|
headers: this.authHeaders(),
|
|
46
56
|
});
|
|
47
57
|
if (!resp.ok) {
|
|
@@ -60,7 +70,7 @@ class GitlabApiFacade {
|
|
|
60
70
|
if (!url)
|
|
61
71
|
return null;
|
|
62
72
|
try {
|
|
63
|
-
const resp = await this.
|
|
73
|
+
const resp = await this.fetchIdempotent(url, {
|
|
64
74
|
headers: this.authHeaders(),
|
|
65
75
|
});
|
|
66
76
|
if (!resp.ok) {
|
|
@@ -76,12 +86,13 @@ class GitlabApiFacade {
|
|
|
76
86
|
}
|
|
77
87
|
async fetchAllPages(url) {
|
|
78
88
|
const results = [];
|
|
89
|
+
const maxPages = (0, constants_1.resolveMaxPaginationPages)(this.env);
|
|
79
90
|
let page = 1;
|
|
80
|
-
while (page <=
|
|
91
|
+
while (page <= maxPages) {
|
|
81
92
|
const sep = url.includes("?") ? "&" : "?";
|
|
82
93
|
let resp;
|
|
83
94
|
try {
|
|
84
|
-
resp = await this.
|
|
95
|
+
resp = await this.fetchIdempotent(`${url}${sep}per_page=100&page=${page}`, { headers: this.authHeaders() });
|
|
85
96
|
}
|
|
86
97
|
catch {
|
|
87
98
|
console.error(`[gitlab] pagination request failed page=${page}`);
|
|
@@ -123,7 +134,7 @@ class GitlabApiFacade {
|
|
|
123
134
|
const baseUrl = this.discussionUrl;
|
|
124
135
|
if (!baseUrl)
|
|
125
136
|
return false;
|
|
126
|
-
const resp = await this.
|
|
137
|
+
const resp = await this.fetchIdempotent(`${baseUrl}/${discussionId}/notes/${noteId}`, {
|
|
127
138
|
method: "PUT",
|
|
128
139
|
headers: { "Content-Type": "application/json", ...this.authHeaders() },
|
|
129
140
|
body: JSON.stringify({ body }),
|
|
@@ -134,7 +145,7 @@ class GitlabApiFacade {
|
|
|
134
145
|
const baseUrl = this.discussionUrl;
|
|
135
146
|
if (!baseUrl)
|
|
136
147
|
return false;
|
|
137
|
-
const resp = await this.
|
|
148
|
+
const resp = await this.fetchIdempotent(`${baseUrl}/${discussionId}/notes/${noteId}`, {
|
|
138
149
|
method: "DELETE",
|
|
139
150
|
headers: this.authHeaders(),
|
|
140
151
|
});
|
|
@@ -182,6 +193,25 @@ function isLineValid(validLines, file, line) {
|
|
|
182
193
|
return true;
|
|
183
194
|
return validLines.has(`${(0, diff_1.normalizePath)(file)}:${line}`);
|
|
184
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Fetch the per-run shared read context (current user + all discussions) once.
|
|
198
|
+
* Returns null when there is no token or no GitLab CI context, in which case the
|
|
199
|
+
* writers fall back to their own (also short-circuiting) fetch logic.
|
|
200
|
+
*/
|
|
201
|
+
async function fetchGitlabContext(options) {
|
|
202
|
+
const env = options.env ?? process.env;
|
|
203
|
+
if (!options.token)
|
|
204
|
+
return null;
|
|
205
|
+
const facade = new GitlabApiFacade(options.token, env);
|
|
206
|
+
const discussionUrl = facade.discussionUrl;
|
|
207
|
+
if (!discussionUrl)
|
|
208
|
+
return null;
|
|
209
|
+
const user = await facade.fetchCurrentUser();
|
|
210
|
+
const discussions = user
|
|
211
|
+
? await facade.fetchAllPages(discussionUrl)
|
|
212
|
+
: [];
|
|
213
|
+
return { user, discussions };
|
|
214
|
+
}
|
|
185
215
|
async function postGitlabDiscussions(options) {
|
|
186
216
|
const env = options.env ?? process.env;
|
|
187
217
|
if (!options.token) {
|
|
@@ -195,19 +225,22 @@ async function postGitlabDiscussions(options) {
|
|
|
195
225
|
return false;
|
|
196
226
|
}
|
|
197
227
|
const validLines = options.diff ? buildValidLineSet(options.diff) : null;
|
|
198
|
-
const user =
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
228
|
+
const user = options.context
|
|
229
|
+
? options.context.user
|
|
230
|
+
: await facade.fetchCurrentUser();
|
|
231
|
+
const discussions = options.context
|
|
232
|
+
? options.context.discussions
|
|
233
|
+
: user
|
|
234
|
+
? await facade.fetchAllPages(discussionUrl)
|
|
235
|
+
: [];
|
|
202
236
|
const existing = user
|
|
203
237
|
? collectBotNotesByMarker(discussions, user.id, identity_1.COMMENT_MARKER_PREFIX)
|
|
204
238
|
: new Map();
|
|
205
239
|
const activeFingerprints = new Set();
|
|
206
|
-
const mr = options.comments.length
|
|
207
|
-
? await facade.fetchMergeRequest()
|
|
208
|
-
: null;
|
|
240
|
+
const mr = options.comments.length ? await facade.fetchMergeRequest() : null;
|
|
209
241
|
const refs = mr?.diff_refs;
|
|
210
|
-
if (options.comments.length &&
|
|
242
|
+
if (options.comments.length &&
|
|
243
|
+
(!refs?.base_sha || !refs.start_sha || !refs.head_sha)) {
|
|
211
244
|
console.error("[gitlab] MR discussions skipped: missing diff refs");
|
|
212
245
|
return false;
|
|
213
246
|
}
|
|
@@ -294,15 +327,21 @@ async function postGitlabSummary(options) {
|
|
|
294
327
|
console.error("[gitlab] summary skipped: missing GitLab CI context");
|
|
295
328
|
return false;
|
|
296
329
|
}
|
|
297
|
-
const user =
|
|
330
|
+
const user = options.context
|
|
331
|
+
? options.context.user
|
|
332
|
+
: await facade.fetchCurrentUser();
|
|
298
333
|
const summaryFingerprint = (0, identity_1.stableHash)(identity_1.SUMMARY_MARKER);
|
|
299
334
|
const body = `${markdown}\n\n${(0, identity_1.buildHiddenMarker)(identity_1.SUMMARY_MARKER, summaryFingerprint)}`;
|
|
300
335
|
if (user) {
|
|
301
|
-
const discussions =
|
|
336
|
+
const discussions = options.context
|
|
337
|
+
? options.context.discussions
|
|
338
|
+
: await facade.fetchAllPages(discussionUrl);
|
|
302
339
|
const existing = collectBotNotesByMarker(discussions, user.id, identity_1.SUMMARY_MARKER).get(summaryFingerprint)?.[0];
|
|
303
340
|
if (existing) {
|
|
304
341
|
const ok = await facade.updateNote(existing.discussionId, existing.noteId, body);
|
|
305
|
-
console.error(ok
|
|
342
|
+
console.error(ok
|
|
343
|
+
? "[gitlab] summary note updated"
|
|
344
|
+
: "[gitlab] summary note update failed");
|
|
306
345
|
return ok;
|
|
307
346
|
}
|
|
308
347
|
}
|
package/dist/gitlab/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/gitlab/api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/gitlab/api.ts"],"names":[],"mappings":"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"}
|
package/dist/gitlab.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AIComment } from "./types";
|
|
2
|
+
export declare function cleanupBotComments(options: {
|
|
3
|
+
token?: string;
|
|
4
|
+
env?: NodeJS.ProcessEnv;
|
|
5
|
+
}): Promise<number>;
|
|
6
|
+
export declare function postGitlabDiscussions(options: {
|
|
7
|
+
comments: AIComment[];
|
|
8
|
+
token?: string;
|
|
9
|
+
env?: NodeJS.ProcessEnv;
|
|
10
|
+
}): Promise<boolean>;
|
|
11
|
+
//# sourceMappingURL=gitlab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab.d.ts","sourceRoot":"","sources":["../src/gitlab.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAsIzC,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAAC,MAAM,CAAC,CA2DlB;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,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,CAgEnB"}
|
package/dist/gitlab.js
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cleanupBotComments = cleanupBotComments;
|
|
4
|
+
exports.postGitlabDiscussions = postGitlabDiscussions;
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const http_1 = require("./http");
|
|
7
|
+
const GITLAB_API_CONCURRENCY = 5;
|
|
8
|
+
function gitlabFetch(url, init = {}) {
|
|
9
|
+
return (0, http_1.fetchWithTimeout)(url, init, constants_1.API_TIMEOUT_MS);
|
|
10
|
+
}
|
|
11
|
+
function buildCommentBody(comment) {
|
|
12
|
+
const message = comment.message || constants_1.DEFAULT_COMMENT_MESSAGE;
|
|
13
|
+
return comment.suggestion
|
|
14
|
+
? `${message}\n\n建议:${comment.suggestion}`
|
|
15
|
+
: message;
|
|
16
|
+
}
|
|
17
|
+
function buildApiUrl(env, suffix) {
|
|
18
|
+
if (!env.CI_API_V4_URL || !env.CI_PROJECT_ID || !env.CI_MERGE_REQUEST_IID) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
const apiBase = env.CI_API_V4_URL.replace(/\/+$/, "");
|
|
22
|
+
const projectId = encodeURIComponent(env.CI_PROJECT_ID);
|
|
23
|
+
const mrIid = encodeURIComponent(env.CI_MERGE_REQUEST_IID);
|
|
24
|
+
return `${apiBase}/projects/${projectId}/merge_requests/${mrIid}${suffix}`;
|
|
25
|
+
}
|
|
26
|
+
async function fetchMergeRequest(token, env) {
|
|
27
|
+
const url = buildApiUrl(env, "");
|
|
28
|
+
if (!url)
|
|
29
|
+
return null;
|
|
30
|
+
try {
|
|
31
|
+
const resp = await gitlabFetch(url, {
|
|
32
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
33
|
+
});
|
|
34
|
+
if (!resp.ok) {
|
|
35
|
+
console.error(`[gitlab] merge request fetch failed status=${resp.status}`);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return await (0, http_1.parseJsonSafe)(resp);
|
|
39
|
+
}
|
|
40
|
+
catch (err) {
|
|
41
|
+
console.error(`[gitlab] merge request fetch error: ${err instanceof Error ? err.message : err}`);
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function fetchCurrentUser(token, env) {
|
|
46
|
+
const apiBase = env.CI_API_V4_URL?.replace(/\/+$/, "");
|
|
47
|
+
if (!apiBase)
|
|
48
|
+
return null;
|
|
49
|
+
try {
|
|
50
|
+
const resp = await gitlabFetch(`${apiBase}/user`, {
|
|
51
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
52
|
+
});
|
|
53
|
+
if (!resp.ok) {
|
|
54
|
+
console.error(`[gitlab] fetch current user failed status=${resp.status}`);
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return await (0, http_1.parseJsonSafe)(resp);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.error(`[gitlab] fetch current user error: ${err instanceof Error ? err.message : err}`);
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async function fetchAllPages(url, token) {
|
|
65
|
+
const results = [];
|
|
66
|
+
let page = 1;
|
|
67
|
+
while (page <= constants_1.MAX_PAGINATION_PAGES) {
|
|
68
|
+
const sep = url.includes("?") ? "&" : "?";
|
|
69
|
+
let resp;
|
|
70
|
+
try {
|
|
71
|
+
resp = await gitlabFetch(`${url}${sep}per_page=100&page=${page}`, { headers: { Authorization: `Bearer ${token}` } });
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
console.error(`[gitlab] pagination request failed page=${page}`);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
if (!resp.ok)
|
|
78
|
+
break;
|
|
79
|
+
const items = await (0, http_1.parseJsonSafe)(resp);
|
|
80
|
+
if (!items?.length)
|
|
81
|
+
break;
|
|
82
|
+
results.push(...items);
|
|
83
|
+
if (items.length < 100)
|
|
84
|
+
break;
|
|
85
|
+
page += 1;
|
|
86
|
+
}
|
|
87
|
+
return results;
|
|
88
|
+
}
|
|
89
|
+
async function cleanupBotComments(options) {
|
|
90
|
+
const env = options.env ?? process.env;
|
|
91
|
+
if (!options.token) {
|
|
92
|
+
console.error("[gitlab] cleanup skipped: missing GitLab token");
|
|
93
|
+
return 0;
|
|
94
|
+
}
|
|
95
|
+
const discussionUrl = buildApiUrl(env, "/discussions");
|
|
96
|
+
if (!discussionUrl) {
|
|
97
|
+
console.error("[gitlab] cleanup skipped: missing GitLab CI context");
|
|
98
|
+
return 0;
|
|
99
|
+
}
|
|
100
|
+
const user = await fetchCurrentUser(options.token, env);
|
|
101
|
+
if (!user) {
|
|
102
|
+
console.error("[gitlab] cleanup skipped: cannot determine bot user");
|
|
103
|
+
return 0;
|
|
104
|
+
}
|
|
105
|
+
console.error(`[gitlab] cleanup bot user=${user.username} (id=${user.id})`);
|
|
106
|
+
const discussions = await fetchAllPages(discussionUrl, options.token);
|
|
107
|
+
const toDelete = [];
|
|
108
|
+
for (const discussion of discussions) {
|
|
109
|
+
for (const note of discussion.notes) {
|
|
110
|
+
if (note.author.id !== user.id || note.system)
|
|
111
|
+
continue;
|
|
112
|
+
toDelete.push({ discussionId: discussion.id, noteId: note.id });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
let deleted = 0;
|
|
116
|
+
await (0, http_1.mapConcurrent)(toDelete, GITLAB_API_CONCURRENCY, async ({ discussionId, noteId }) => {
|
|
117
|
+
const deleteUrl = `${discussionUrl}/${discussionId}/notes/${noteId}`;
|
|
118
|
+
try {
|
|
119
|
+
const resp = await gitlabFetch(deleteUrl, {
|
|
120
|
+
method: "DELETE",
|
|
121
|
+
headers: { Authorization: `Bearer ${options.token}` },
|
|
122
|
+
});
|
|
123
|
+
if (resp.ok || resp.status === 204) {
|
|
124
|
+
deleted += 1;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
console.error(`[gitlab] delete note failed discussion=${discussionId} note=${noteId} status=${resp.status}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
console.error(`[gitlab] delete note error discussion=${discussionId} note=${noteId}: ${err instanceof Error ? err.message : err}`);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
console.error(`[gitlab] cleanup complete deleted=${deleted}`);
|
|
135
|
+
return deleted;
|
|
136
|
+
}
|
|
137
|
+
async function postGitlabDiscussions(options) {
|
|
138
|
+
const env = options.env ?? process.env;
|
|
139
|
+
if (options.comments.length === 0) {
|
|
140
|
+
console.error("[gitlab] MR discussions skipped: no diagnostics");
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
if (!options.token) {
|
|
144
|
+
console.error("[gitlab] MR discussions skipped: missing GitLab token");
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
const discussionUrl = buildApiUrl(env, "/discussions");
|
|
148
|
+
if (!discussionUrl) {
|
|
149
|
+
console.error("[gitlab] MR discussions skipped: missing GitLab CI context");
|
|
150
|
+
return false;
|
|
151
|
+
}
|
|
152
|
+
const mr = await fetchMergeRequest(options.token, env);
|
|
153
|
+
const refs = mr?.diff_refs;
|
|
154
|
+
if (!refs?.base_sha || !refs.start_sha || !refs.head_sha) {
|
|
155
|
+
console.error("[gitlab] MR discussions skipped: missing diff refs");
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
const validComments = options.comments.filter((c) => c.file && c.line);
|
|
159
|
+
let posted = 0;
|
|
160
|
+
await (0, http_1.mapConcurrent)(validComments, GITLAB_API_CONCURRENCY, async (comment) => {
|
|
161
|
+
try {
|
|
162
|
+
const resp = await gitlabFetch(discussionUrl, {
|
|
163
|
+
method: "POST",
|
|
164
|
+
headers: {
|
|
165
|
+
"Content-Type": "application/json",
|
|
166
|
+
Authorization: `Bearer ${options.token}`,
|
|
167
|
+
},
|
|
168
|
+
body: JSON.stringify({
|
|
169
|
+
body: buildCommentBody(comment),
|
|
170
|
+
position: {
|
|
171
|
+
base_sha: refs.base_sha,
|
|
172
|
+
start_sha: refs.start_sha,
|
|
173
|
+
head_sha: refs.head_sha,
|
|
174
|
+
position_type: "text",
|
|
175
|
+
new_path: comment.file,
|
|
176
|
+
new_line: Number(comment.line),
|
|
177
|
+
},
|
|
178
|
+
}),
|
|
179
|
+
});
|
|
180
|
+
if (!resp.ok) {
|
|
181
|
+
console.error(`[gitlab] MR discussion failed file=${comment.file} line=${comment.line} status=${resp.status}`);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
posted += 1;
|
|
185
|
+
}
|
|
186
|
+
catch (err) {
|
|
187
|
+
console.error(`[gitlab] MR discussion error file=${comment.file} line=${comment.line}: ${err instanceof Error ? err.message : err}`);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
console.error(`[gitlab] MR discussions posted count=${posted}`);
|
|
191
|
+
return posted > 0;
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=gitlab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../src/gitlab.ts"],"names":[],"mappings":";;AAwIA,gDA8DC;AAED,sDAoEC;AA5QD,2CAA4F;AAC5F,iCAAwE;AAGxE,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAiCjC,SAAS,WAAW,CAClB,GAAW,EACX,OAAoB,EAAE;IAEtB,OAAO,IAAA,uBAAgB,EAAC,GAAG,EAAE,IAAI,EAAE,0BAAc,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAkB;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,mCAAuB,CAAC;IAC3D,OAAO,OAAO,CAAC,UAAU;QACvB,CAAC,CAAC,GAAG,OAAO,UAAU,OAAO,CAAC,UAAU,EAAE;QAC1C,CAAC,CAAC,OAAO,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,GAAgB,EAAE,MAAc;IACnD,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3D,OAAO,GAAG,OAAO,aAAa,SAAS,mBAAmB,KAAK,GAAG,MAAM,EAAE,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,KAAa,EACb,GAAgB;IAEhB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE;YAClC,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,8CAA8C,IAAI,CAAC,MAAM,EAAE,CAC5D,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,IAAA,oBAAa,EAAqB,IAAI,CAAC,CAAC;IACvD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,uCAAuC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAClF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,KAAa,EACb,GAAgB;IAEhB,MAAM,OAAO,GAAG,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,OAAO,OAAO,EAAE;YAChD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;SAC9C,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,6CAA6C,IAAI,CAAC,MAAM,EAAE,CAC3D,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,IAAA,oBAAa,EAAa,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACjF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAI,GAAW,EAAE,KAAa;IACxD,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,IAAI,IAAI,gCAAoB,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC1C,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,WAAW,CACtB,GAAG,GAAG,GAAG,GAAG,qBAAqB,IAAI,EAAE,EACvC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,EAAE,CAClD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,2CAA2C,IAAI,EAAE,CAAC,CAAC;YACjE,MAAM;QACR,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM;QACpB,MAAM,KAAK,GAAG,MAAM,IAAA,oBAAa,EAAM,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,EAAE,MAAM;YAAE,MAAM;QAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;YAAE,MAAM;QAC9B,IAAI,IAAI,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,kBAAkB,CAAC,OAGxC;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,QAAQ,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,MAAM,aAAa,CACrC,aAAa,EACb,OAAO,CAAC,KAAK,CACd,CAAC;IAEF,MAAM,QAAQ,GAA+C,EAAE,CAAC;IAChE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM;gBAAE,SAAS;YACxD,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,IAAA,oBAAa,EAAC,QAAQ,EAAE,sBAAsB,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE;QACvF,MAAM,SAAS,GAAG,GAAG,aAAa,IAAI,YAAY,UAAU,MAAM,EAAE,CAAC;QACrE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,SAAS,EAAE;gBACxC,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,EAAE;aACtD,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnC,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,0CAA0C,YAAY,SAAS,MAAM,WAAW,IAAI,CAAC,MAAM,EAAE,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,yCAAyC,YAAY,SAAS,MAAM,KAClE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GACvC,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,qCAAqC,OAAO,EAAE,CAAC,CAAC;IAC9D,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,OAI3C;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,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,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,EAAE,EAAE,SAAS,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,IAAA,oBAAa,EAAC,aAAa,EAAE,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC3E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE;gBAC5C,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;oBAC/B,QAAQ,EAAE;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,aAAa,EAAE,MAAM;wBACrB,QAAQ,EAAE,OAAO,CAAC,IAAI;wBACtB,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;qBAC/B;iBACF,CAAC;aACH,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CACX,sCAAsC,OAAO,CAAC,IAAI,SAAS,OAAO,CAAC,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAChG,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CACX,qCAAqC,OAAO,CAAC,IAAI,SAAS,OAAO,CAAC,IAAI,KACpE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GACvC,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,CAAC,wCAAwC,MAAM,EAAE,CAAC,CAAC;IAChE,OAAO,MAAM,GAAG,CAAC,CAAC;AACpB,CAAC"}
|
package/dist/http.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function fetchWithTimeout(url: string, init: RequestInit, timeoutMs: number): Promise<Response>;
|
|
2
|
+
export declare function parseJsonSafe<T>(resp: Response): Promise<T | null>;
|
|
3
|
+
export declare function mapConcurrent<T, R>(items: T[], concurrency: number, fn: (item: T, index: number) => Promise<R>): Promise<R[]>;
|
|
4
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC,CAMnB;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAMxE;AAED,wBAAsB,aAAa,CAAC,CAAC,EAAE,CAAC,EACtC,KAAK,EAAE,CAAC,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,CAAC,EAAE,CAAC,CAad"}
|
package/dist/http.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchWithTimeout = fetchWithTimeout;
|
|
4
|
+
exports.parseJsonSafe = parseJsonSafe;
|
|
5
|
+
exports.mapConcurrent = mapConcurrent;
|
|
6
|
+
function fetchWithTimeout(url, init, timeoutMs) {
|
|
7
|
+
const controller = new AbortController();
|
|
8
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
9
|
+
return fetch(url, { ...init, signal: controller.signal }).finally(() => clearTimeout(timer));
|
|
10
|
+
}
|
|
11
|
+
async function parseJsonSafe(resp) {
|
|
12
|
+
try {
|
|
13
|
+
return (await resp.json());
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
async function mapConcurrent(items, concurrency, fn) {
|
|
20
|
+
const results = new Array(items.length);
|
|
21
|
+
let next = 0;
|
|
22
|
+
async function worker() {
|
|
23
|
+
while (next < items.length) {
|
|
24
|
+
const i = next++;
|
|
25
|
+
results[i] = await fn(items[i], i);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, items.length) }, worker));
|
|
29
|
+
return results;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":";;AAAA,4CAUC;AAED,sCAMC;AAED,sCAiBC;AArCD,SAAgB,gBAAgB,CAC9B,GAAW,EACX,IAAiB,EACjB,SAAiB;IAEjB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CACrE,YAAY,CAAC,KAAK,CAAC,CACpB,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,aAAa,CAAI,IAAc;IACnD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAM,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,KAAU,EACV,WAAmB,EACnB,EAA0C;IAE1C,MAAM,OAAO,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,UAAU,MAAM;QACnB,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CACpE,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/model.d.ts
ADDED
|
@@ -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/model.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,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"}
|