@jmandawg/gemini-vertex-review-code 1.0.1 → 1.0.2
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/lib/gitlab.js +43 -0
- package/lib/gitlab.js.map +1 -1
- package/lib/index.js +7 -3
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/lib/gitlab.js
CHANGED
|
@@ -90,6 +90,49 @@ class GitLab {
|
|
|
90
90
|
return response.data;
|
|
91
91
|
});
|
|
92
92
|
}
|
|
93
|
+
delOldReviewComment() {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
var _a;
|
|
96
|
+
try {
|
|
97
|
+
const response = yield this.apiClient.get(`/projects/${this.projectId}/merge_requests/${this.mrId}/discussions`);
|
|
98
|
+
if (response.status = 200) {
|
|
99
|
+
for (const discussion of response === null || response === void 0 ? void 0 : response.data) {
|
|
100
|
+
for (const note of discussion === null || discussion === void 0 ? void 0 : discussion.notes) {
|
|
101
|
+
if ((_a = note === null || note === void 0 ? void 0 : note.author) === null || _a === void 0 ? void 0 : _a.username.startsWith(`project_${this.projectId}_bot_`)) {
|
|
102
|
+
//delete note
|
|
103
|
+
console.log(`deleting discussion: ${discussion.id} note: ${note.id} by author: ${note.author.username}`);
|
|
104
|
+
try {
|
|
105
|
+
const delResp = yield this.apiClient.delete(`/projects/${this.projectId}/merge_requests/${this.mrId}/discussions/${discussion.id}/notes/${note.id}`);
|
|
106
|
+
var i = 0;
|
|
107
|
+
}
|
|
108
|
+
catch (e) {
|
|
109
|
+
console.log('error deleting old AI comments');
|
|
110
|
+
console.log(e);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
catch (e) {
|
|
118
|
+
console.log('Error deleting old AI comments');
|
|
119
|
+
console.log(e);
|
|
120
|
+
}
|
|
121
|
+
/*
|
|
122
|
+
const response = await this.apiClient.post(`/projects/${this.projectId}/merge_requests/${this.mrId}/discussions`, {
|
|
123
|
+
body: suggestion,
|
|
124
|
+
position: {
|
|
125
|
+
position_type: 'text',
|
|
126
|
+
...lineObj,
|
|
127
|
+
new_path: change.new_path,
|
|
128
|
+
old_path: change.old_path,
|
|
129
|
+
...this.mergeRequestInfo?.diff_refs,
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
return response.data;
|
|
133
|
+
*/
|
|
134
|
+
});
|
|
135
|
+
}
|
|
93
136
|
}
|
|
94
137
|
exports.GitLab = GitLab;
|
|
95
138
|
//# sourceMappingURL=gitlab.js.map
|
package/lib/gitlab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../src/gitlab.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gitlab.js","sourceRoot":"","sources":["../src/gitlab.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -21,14 +21,18 @@ program
|
|
|
21
21
|
.option('-p, --project-id <number>', 'GitLab Project ID')
|
|
22
22
|
.option('-m, --merge-request-id <string>', 'GitLab Merge Request ID')
|
|
23
23
|
.option('-c, --custom-model <string>', 'Custom Model ID', 'gemini-1.5-flash')
|
|
24
|
-
.option('-l, --location <string>', 'GCP location', 'global')
|
|
25
|
-
.option('-z, --google-project-id <string>', 'Google Project ID')
|
|
24
|
+
.option('-l, --location <string>', 'GCP location (vertex only)', 'global')
|
|
25
|
+
.option('-z, --google-project-id <string>', 'Google Project ID (vertex only)')
|
|
26
|
+
.option('-k, --keep-previous-comments', 'keep previous comments', false)
|
|
26
27
|
.parse(process.argv);
|
|
27
28
|
function run() {
|
|
28
29
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
30
|
var _a, _b;
|
|
30
|
-
const { gitlabApiUrl, gitlabAccessToken, apiKey, projectId, mergeRequestId, customModel, location, googleProjectId, } = program.opts();
|
|
31
|
+
const { gitlabApiUrl, gitlabAccessToken, apiKey, projectId, mergeRequestId, customModel, location, googleProjectId, keepPreviousComments, } = program.opts();
|
|
31
32
|
const gitlab = new gitlab_1.GitLab({ gitlabApiUrl, gitlabAccessToken, projectId, mergeRequestId });
|
|
33
|
+
if (!keepPreviousComments) {
|
|
34
|
+
yield gitlab.delOldReviewComment();
|
|
35
|
+
}
|
|
32
36
|
let aiClient;
|
|
33
37
|
aiClient = new gemini_1.Gemini(apiKey, customModel, googleProjectId, location); // create a new instance of the Gemini class
|
|
34
38
|
yield gitlab.init().catch(() => {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,yCAAkC;AAClC,qCAAgC;AAChC,qCAAgC;AAChC,mCAAyD;AAEzD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACF,MAAM,CAAC,+BAA+B,EAAE,gBAAgB,EAAE,4BAA4B,CAAC;KACvF,MAAM,CAAC,oCAAoC,EAAE,qBAAqB,CAAC;KACnE,MAAM,CAAC,wBAAwB,EAAE,gBAAgB,CAAC;KAClD,MAAM,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;KACxD,MAAM,CAAC,iCAAiC,EAAE,yBAAyB,CAAC;KACpE,MAAM,CAAC,6BAA6B,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;KAC5E,MAAM,CAAC,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|