@codesherlock/codesherlock-alpha-mcp-server 0.0.5 → 0.0.7
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.
|
@@ -13,6 +13,15 @@ export declare class CommitReviewService {
|
|
|
13
13
|
* @returns Analysis results
|
|
14
14
|
*/
|
|
15
15
|
submitAndWaitForResults(params: CommitReviewSubmitParams): Promise<CommitReviewResult>;
|
|
16
|
+
/**
|
|
17
|
+
* Collect analysis results via an already-established WebSocket connection
|
|
18
|
+
* This method reuses an existing WebSocket connection instead of creating a new one
|
|
19
|
+
* @param ws - Already-established WebSocket connection (must be in OPEN state)
|
|
20
|
+
* @param userId - User ID for logging
|
|
21
|
+
* @param timeoutMs - Maximum time to wait for results (default: 10 minutes)
|
|
22
|
+
* @returns Array of analysis results
|
|
23
|
+
*/
|
|
24
|
+
private collectResultsViaEstablishedWebSocket;
|
|
16
25
|
/**
|
|
17
26
|
* Connect to WebSocket and collect analysis results
|
|
18
27
|
* Handles edge cases:
|
|
@@ -21,6 +30,7 @@ export declare class CommitReviewService {
|
|
|
21
30
|
* - Partial results (some files succeed, others fail)
|
|
22
31
|
* - WebSocket completion without explicit completion signal
|
|
23
32
|
* @param userId - User ID for WebSocket connection
|
|
33
|
+
* @param onConnection - Callback when connection is established
|
|
24
34
|
* @param timeoutMs - Maximum time to wait for results (default: 10 minutes)
|
|
25
35
|
* @returns Array of analysis results
|
|
26
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitReviewService.d.ts","sourceRoot":"","sources":["../../src/services/commitReviewService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,iBAAiB,CAAoB;gBAEjC,iBAAiB,EAAE,iBAAiB;IAIhD;;;;OAIG;IACG,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"commitReviewService.d.ts","sourceRoot":"","sources":["../../src/services/commitReviewService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C;;;GAGG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,iBAAiB,CAAoB;gBAEjC,iBAAiB,EAAE,iBAAiB;IAIhD;;;;OAIG;IACG,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsJ5F;;;;;;;OAOG;YACW,qCAAqC;IAuKnD;;;;;;;;;;;OAWG;YACW,0BAA0B;CAiM3C;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,gBAAgB,GAAG,OAAO,GAAG,KAAK,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { logger } from "./loggingService.js";
|
|
2
|
+
import WebSocket from "ws";
|
|
2
3
|
/**
|
|
3
4
|
* Commit Review Service
|
|
4
5
|
* Handles the full flow of submitting commit review and receiving results via WebSocket
|
|
@@ -18,13 +19,45 @@ export class CommitReviewService {
|
|
|
18
19
|
try {
|
|
19
20
|
// IMPORTANT: Establish WebSocket connection (and listeners) BEFORE
|
|
20
21
|
// calling the backend HTTP API so we don't miss any early messages.
|
|
21
|
-
logger.logInfo("Establishing WebSocket connection
|
|
22
|
+
logger.logInfo("Step 1: Establishing WebSocket connection BEFORE submitting review", {
|
|
22
23
|
user_id: params.user_id,
|
|
23
24
|
});
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
// Step 1: Establish WebSocket connection FIRST and wait for it to be fully connected
|
|
26
|
+
const wsConnectionPromise = new Promise((resolve, reject) => {
|
|
27
|
+
this.backendApiService.connectWebSocket(params.user_id, () => { }, // onMessage will be handled by collectResultsViaWebSocket
|
|
28
|
+
(error) => {
|
|
29
|
+
logger.logError("WebSocket connection failed before submit", error, { user_id: params.user_id });
|
|
30
|
+
reject(error);
|
|
31
|
+
}, () => { } // onClose will be handled by collectResultsViaWebSocket
|
|
32
|
+
).then((ws) => {
|
|
33
|
+
// Verify WebSocket is actually open
|
|
34
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
35
|
+
wsConnection = ws;
|
|
36
|
+
logger.logInfo("✅ WebSocket connection fully established and verified OPEN", {
|
|
37
|
+
user_id: params.user_id,
|
|
38
|
+
readyState: String(ws.readyState)
|
|
39
|
+
});
|
|
40
|
+
resolve(ws);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const error = new Error(`WebSocket connection not fully open. ReadyState: ${ws.readyState}`);
|
|
44
|
+
logger.logError("❌ WebSocket not in OPEN state", error, {
|
|
45
|
+
user_id: params.user_id,
|
|
46
|
+
readyState: String(ws.readyState)
|
|
47
|
+
});
|
|
48
|
+
reject(error);
|
|
49
|
+
}
|
|
50
|
+
}).catch(reject);
|
|
26
51
|
});
|
|
27
|
-
//
|
|
52
|
+
// CRITICAL: Wait for WebSocket to be fully connected before proceeding
|
|
53
|
+
const establishedWs = await wsConnectionPromise;
|
|
54
|
+
logger.logInfo("✅ WebSocket connection confirmed OPEN, proceeding with HTTP call", {
|
|
55
|
+
user_id: params.user_id,
|
|
56
|
+
});
|
|
57
|
+
// Step 2: Start collecting results via WebSocket (reuse the established connection)
|
|
58
|
+
// We'll set up message handlers on the already-established connection
|
|
59
|
+
const analysisResultsPromise = this.collectResultsViaEstablishedWebSocket(establishedWs, params.user_id);
|
|
60
|
+
// Step 3: Submit commit review via HTTP POST (WebSocket is now connected and ready)
|
|
28
61
|
logger.logInfo("Submitting commit review to backend", {
|
|
29
62
|
user_id: params.user_id,
|
|
30
63
|
factor: params.factor,
|
|
@@ -108,6 +141,168 @@ export class CommitReviewService {
|
|
|
108
141
|
};
|
|
109
142
|
}
|
|
110
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Collect analysis results via an already-established WebSocket connection
|
|
146
|
+
* This method reuses an existing WebSocket connection instead of creating a new one
|
|
147
|
+
* @param ws - Already-established WebSocket connection (must be in OPEN state)
|
|
148
|
+
* @param userId - User ID for logging
|
|
149
|
+
* @param timeoutMs - Maximum time to wait for results (default: 10 minutes)
|
|
150
|
+
* @returns Array of analysis results
|
|
151
|
+
*/
|
|
152
|
+
async collectResultsViaEstablishedWebSocket(ws, userId, timeoutMs = 10 * 60 * 1000 // 10 minutes default timeout
|
|
153
|
+
) {
|
|
154
|
+
const analysisResults = [];
|
|
155
|
+
let wsError = null;
|
|
156
|
+
let wsStatusCode;
|
|
157
|
+
let wsErrorMessage;
|
|
158
|
+
let isComplete = false;
|
|
159
|
+
let timeoutId;
|
|
160
|
+
// Verify WebSocket is open
|
|
161
|
+
if (ws.readyState !== WebSocket.OPEN) {
|
|
162
|
+
throw new Error(`WebSocket must be in OPEN state. Current state: ${ws.readyState}`);
|
|
163
|
+
}
|
|
164
|
+
// Set up timeout to prevent indefinite waiting
|
|
165
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
166
|
+
timeoutId = setTimeout(() => {
|
|
167
|
+
if (!isComplete) {
|
|
168
|
+
wsError = "Analysis timeout: The analysis took too long to complete. Please try again with fewer files or contact support if the issue persists.";
|
|
169
|
+
logger.logError("WebSocket timeout", new Error(wsError), {
|
|
170
|
+
user_id: userId,
|
|
171
|
+
timeoutMs: String(timeoutMs),
|
|
172
|
+
});
|
|
173
|
+
ws.close();
|
|
174
|
+
reject(new Error(wsError));
|
|
175
|
+
}
|
|
176
|
+
}, timeoutMs);
|
|
177
|
+
});
|
|
178
|
+
return new Promise((resolve, reject) => {
|
|
179
|
+
// Set up message handler
|
|
180
|
+
const messageHandler = (data) => {
|
|
181
|
+
try {
|
|
182
|
+
const message = JSON.parse(data.toString());
|
|
183
|
+
// Clear timeout on first message (analysis has started)
|
|
184
|
+
if (timeoutId) {
|
|
185
|
+
clearTimeout(timeoutId);
|
|
186
|
+
// Reset timeout to allow more time for completion
|
|
187
|
+
timeoutId = setTimeout(() => {
|
|
188
|
+
if (!isComplete) {
|
|
189
|
+
wsError = "Analysis timeout: The analysis is taking longer than expected. Please try again or contact support.";
|
|
190
|
+
logger.logError("WebSocket timeout after receiving initial results", new Error(wsError), {
|
|
191
|
+
user_id: userId,
|
|
192
|
+
resultsReceived: String(analysisResults.length),
|
|
193
|
+
});
|
|
194
|
+
ws.close();
|
|
195
|
+
cleanup();
|
|
196
|
+
reject(new Error(wsError));
|
|
197
|
+
}
|
|
198
|
+
}, timeoutMs);
|
|
199
|
+
}
|
|
200
|
+
// Handle WebSocket error messages from backend
|
|
201
|
+
if (message.status_code !== 200 && message.status_code !== undefined) {
|
|
202
|
+
wsStatusCode = message.status_code;
|
|
203
|
+
wsErrorMessage = message.error_message || "Unknown error from backend";
|
|
204
|
+
wsError = wsErrorMessage || "Unknown error from backend";
|
|
205
|
+
isComplete = true;
|
|
206
|
+
if (timeoutId)
|
|
207
|
+
clearTimeout(timeoutId);
|
|
208
|
+
logger.logError("WebSocket error message received", new Error(wsErrorMessage), {
|
|
209
|
+
status_code: String(wsStatusCode),
|
|
210
|
+
user_id: userId,
|
|
211
|
+
});
|
|
212
|
+
cleanup();
|
|
213
|
+
reject(new Error(wsError || "Unknown error from backend"));
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
if (message.content) {
|
|
217
|
+
const isCommitReview = message.content.analysis_type === "commit_review";
|
|
218
|
+
if (isCommitReview) {
|
|
219
|
+
const file_name = message.content.file_name?.replace(/\\/g, "/") || "";
|
|
220
|
+
const analysis = message.content.analysis;
|
|
221
|
+
if (file_name && analysis !== undefined && analysis !== null) {
|
|
222
|
+
analysisResults.push({
|
|
223
|
+
analysis: analysis,
|
|
224
|
+
language: message.content.language,
|
|
225
|
+
file_name: file_name,
|
|
226
|
+
analysisId: message.analysis_id ?? 0,
|
|
227
|
+
});
|
|
228
|
+
logger.logInfo("Analysis result received for file", {
|
|
229
|
+
user_id: userId,
|
|
230
|
+
file_name: file_name,
|
|
231
|
+
result_count: String(analysisResults.length),
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
// Check if analysis is complete
|
|
235
|
+
if (message.content.is_complete || message.content.status === "complete") {
|
|
236
|
+
isComplete = true;
|
|
237
|
+
if (timeoutId)
|
|
238
|
+
clearTimeout(timeoutId);
|
|
239
|
+
logger.logInfo("Analysis marked as complete", {
|
|
240
|
+
user_id: userId,
|
|
241
|
+
total_results: String(analysisResults.length),
|
|
242
|
+
});
|
|
243
|
+
cleanup();
|
|
244
|
+
resolve(analysisResults);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
catch (error) {
|
|
250
|
+
logger.logError("Error parsing WebSocket message", error);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
const errorHandler = (error) => {
|
|
254
|
+
if (timeoutId)
|
|
255
|
+
clearTimeout(timeoutId);
|
|
256
|
+
wsError = error.message;
|
|
257
|
+
logger.logError("WebSocket connection error", error, { user_id: userId });
|
|
258
|
+
cleanup();
|
|
259
|
+
reject(error);
|
|
260
|
+
};
|
|
261
|
+
const closeHandler = (code, reason) => {
|
|
262
|
+
if (timeoutId)
|
|
263
|
+
clearTimeout(timeoutId);
|
|
264
|
+
const reasonStr = reason.toString();
|
|
265
|
+
if (code !== 1000 && !isComplete) {
|
|
266
|
+
wsError = `Connection closed unexpectedly: ${reasonStr}`;
|
|
267
|
+
logger.logWarning("WebSocket closed unexpectedly", {
|
|
268
|
+
code: String(code),
|
|
269
|
+
reason: reasonStr,
|
|
270
|
+
user_id: userId,
|
|
271
|
+
isComplete: String(isComplete),
|
|
272
|
+
results_received: String(analysisResults.length),
|
|
273
|
+
});
|
|
274
|
+
cleanup();
|
|
275
|
+
reject(new Error(wsError));
|
|
276
|
+
}
|
|
277
|
+
else if (code === 1000 && !isComplete) {
|
|
278
|
+
logger.logInfo("WebSocket closed normally, treating as completion", {
|
|
279
|
+
user_id: userId,
|
|
280
|
+
results_received: String(analysisResults.length),
|
|
281
|
+
});
|
|
282
|
+
isComplete = true;
|
|
283
|
+
cleanup();
|
|
284
|
+
resolve(analysisResults);
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
cleanup();
|
|
288
|
+
resolve(analysisResults);
|
|
289
|
+
}
|
|
290
|
+
};
|
|
291
|
+
const cleanup = () => {
|
|
292
|
+
ws.removeListener("message", messageHandler);
|
|
293
|
+
ws.removeListener("error", errorHandler);
|
|
294
|
+
ws.removeListener("close", closeHandler);
|
|
295
|
+
};
|
|
296
|
+
// Attach event handlers to the already-established connection
|
|
297
|
+
ws.on("message", messageHandler);
|
|
298
|
+
ws.on("error", errorHandler);
|
|
299
|
+
ws.on("close", closeHandler);
|
|
300
|
+
// Race timeout - will be resolved by handlers
|
|
301
|
+
timeoutPromise.catch(() => {
|
|
302
|
+
// Timeout already handled in timeoutPromise
|
|
303
|
+
});
|
|
304
|
+
});
|
|
305
|
+
}
|
|
111
306
|
/**
|
|
112
307
|
* Connect to WebSocket and collect analysis results
|
|
113
308
|
* Handles edge cases:
|
|
@@ -116,6 +311,7 @@ export class CommitReviewService {
|
|
|
116
311
|
* - Partial results (some files succeed, others fail)
|
|
117
312
|
* - WebSocket completion without explicit completion signal
|
|
118
313
|
* @param userId - User ID for WebSocket connection
|
|
314
|
+
* @param onConnection - Callback when connection is established
|
|
119
315
|
* @param timeoutMs - Maximum time to wait for results (default: 10 minutes)
|
|
120
316
|
* @returns Array of analysis results
|
|
121
317
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitReviewService.js","sourceRoot":"","sources":["../../src/services/commitReviewService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commitReviewService.js","sourceRoot":"","sources":["../../src/services/commitReviewService.ts"],"names":[],"mappings":"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"}
|