@codesherlock/codesherlock-beta-mcp-server 0.0.16 → 0.0.17
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/.env +1 -1
- package/build/handlers/analyzeCommitHandler.d.ts +0 -13
- package/build/handlers/analyzeCommitHandler.d.ts.map +1 -1
- package/build/handlers/analyzeCommitHandler.js +3 -145
- package/build/handlers/analyzeCommitHandler.js.map +1 -1
- package/build/handlers/tools.d.ts.map +1 -1
- package/build/handlers/tools.js +1 -2
- package/build/handlers/tools.js.map +1 -1
- package/build/index.js +12 -14
- package/build/index.js.map +1 -1
- package/build/services/loggingService.d.ts.map +1 -1
- package/build/services/loggingService.js +6 -35
- package/build/services/loggingService.js.map +1 -1
- package/build/tests/analyzeCommitHandler.test.js +4 -6
- package/build/tests/analyzeCommitHandler.test.js.map +1 -1
- package/build/tests/tools.test.js +4 -2
- package/build/tests/tools.test.js.map +1 -1
- package/build/utils/errorExtractor.js +3 -3
- package/build/utils/errorExtractor.js.map +1 -1
- package/package.json +1 -1
package/.env
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { GitService } from "../services/gitService.js";
|
|
2
2
|
import { CommitReviewService } from "../services/commitReviewService.js";
|
|
3
3
|
import { BackendApiService } from "../services/backendApiService.js";
|
|
4
|
-
import { ErrorType } from "../utils/errorExtractor.js";
|
|
5
4
|
type AnalyzeCommitArgs = {
|
|
6
5
|
uncommitted: boolean;
|
|
7
6
|
directory: string;
|
|
@@ -12,24 +11,12 @@ export declare const createAnalyzeCommitHandler: (gitService: GitService, commit
|
|
|
12
11
|
type: "text";
|
|
13
12
|
text: string;
|
|
14
13
|
}[];
|
|
15
|
-
structuredContent: {
|
|
16
|
-
success: boolean;
|
|
17
|
-
error: string;
|
|
18
|
-
errorType: ErrorType;
|
|
19
|
-
statusCode: number | undefined;
|
|
20
|
-
errorDetails: {
|
|
21
|
-
userMessage: string;
|
|
22
|
-
technicalDetails: string;
|
|
23
|
-
retryable: boolean;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
14
|
isError: boolean;
|
|
27
15
|
} | {
|
|
28
16
|
content: {
|
|
29
17
|
type: "text";
|
|
30
18
|
text: string;
|
|
31
19
|
}[];
|
|
32
|
-
structuredContent: import("../services/commitReviewService.js").CommitReviewResult;
|
|
33
20
|
isError?: undefined;
|
|
34
21
|
}>;
|
|
35
22
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeCommitHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/analyzeCommitHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"analyzeCommitHandler.d.ts","sourceRoot":"","sources":["../../src/handlers/analyzeCommitHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAUrE,KAAK,iBAAiB,GAAG;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,gBAAgB,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;CAChE,CAAC;AAGF,eAAO,MAAM,0BAA0B,GACnC,YAAY,UAAU,EACtB,qBAAqB,mBAAmB,EACxC,mBAAmB,iBAAiB,MAEtB,oCAAoC,iBAAiB;;;;;;;;;;;;EAuVtE,CAAC"}
|
|
@@ -3,27 +3,6 @@ import { formatMultipleFileAnalysisToMarkdown } from "../utils/analysisFormatter
|
|
|
3
3
|
import { extractErrorDetails } from "../utils/errorExtractor.js";
|
|
4
4
|
import { websocketConnectionManager } from "../services/websocketConnectionManager.js";
|
|
5
5
|
import fs from "fs";
|
|
6
|
-
/**
|
|
7
|
-
* Helper to log the exact structuredContent object we are about to return to MCP.
|
|
8
|
-
* This is critical for debugging schema validation issues like:
|
|
9
|
-
* "Structured content does not match the tool's output schema: data.errorType should be equal to one of the allowed values"
|
|
10
|
-
*/
|
|
11
|
-
function logStructuredContentDebug(label, structuredContent) {
|
|
12
|
-
try {
|
|
13
|
-
const payload = structuredContent;
|
|
14
|
-
logger.logInfo(label, {
|
|
15
|
-
success: String(payload?.success),
|
|
16
|
-
errorType: payload?.errorType ? String(payload.errorType) : "",
|
|
17
|
-
hasErrorType: payload && "errorType" in payload ? "true" : "false",
|
|
18
|
-
statusCode: payload?.statusCode !== undefined ? String(payload.statusCode) : "",
|
|
19
|
-
// Truncate JSON to avoid massive logs while still being useful for debugging
|
|
20
|
-
structuredContentPreview: JSON.stringify(payload).slice(0, 2000),
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
catch (e) {
|
|
24
|
-
logger.logError("Failed to log structuredContent debug payload", e);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
6
|
export const createAnalyzeCommitHandler = (gitService, commitReviewService, backendApiService) => {
|
|
28
7
|
return async ({ uncommitted, directory, factor }) => {
|
|
29
8
|
// Declare userId at function scope so it's accessible in catch blocks
|
|
@@ -40,18 +19,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
40
19
|
// Validate directory exists
|
|
41
20
|
if (!fs.existsSync(directory)) {
|
|
42
21
|
const errorDetails = extractErrorDetails(new Error("Directory does not exist"));
|
|
43
|
-
const structuredContent = {
|
|
44
|
-
success: false,
|
|
45
|
-
error: errorDetails.userMessage,
|
|
46
|
-
errorType: errorDetails.errorType,
|
|
47
|
-
statusCode: 404,
|
|
48
|
-
errorDetails: {
|
|
49
|
-
userMessage: errorDetails.userMessage,
|
|
50
|
-
technicalDetails: `Directory not found: ${directory}`,
|
|
51
|
-
retryable: false,
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (directory does not exist)", structuredContent);
|
|
55
22
|
return {
|
|
56
23
|
content: [
|
|
57
24
|
{
|
|
@@ -59,7 +26,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
59
26
|
text: `Error: ${errorDetails.userMessage}`,
|
|
60
27
|
},
|
|
61
28
|
],
|
|
62
|
-
structuredContent,
|
|
63
29
|
isError: true,
|
|
64
30
|
};
|
|
65
31
|
}
|
|
@@ -89,18 +55,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
89
55
|
catch (error) {
|
|
90
56
|
const errorDetails = extractErrorDetails(error);
|
|
91
57
|
logger.logError("Failed to analyze git changes", error, { directory, uncommitted: String(uncommitted) });
|
|
92
|
-
const structuredContent = {
|
|
93
|
-
success: false,
|
|
94
|
-
error: errorDetails.userMessage,
|
|
95
|
-
errorType: errorDetails.errorType,
|
|
96
|
-
statusCode: errorDetails.statusCode,
|
|
97
|
-
errorDetails: {
|
|
98
|
-
userMessage: errorDetails.userMessage,
|
|
99
|
-
technicalDetails: errorDetails.technicalDetails,
|
|
100
|
-
retryable: errorDetails.retryable,
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (gitService.analyzeGitChanges failed)", structuredContent);
|
|
104
58
|
return {
|
|
105
59
|
content: [
|
|
106
60
|
{
|
|
@@ -108,33 +62,19 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
108
62
|
text: `Error: ${errorDetails.userMessage}`,
|
|
109
63
|
},
|
|
110
64
|
],
|
|
111
|
-
structuredContent,
|
|
112
65
|
isError: true,
|
|
113
66
|
};
|
|
114
67
|
}
|
|
115
68
|
// Validate that we have file changes
|
|
116
69
|
if (!fileChanges || fileChanges.length === 0) {
|
|
117
70
|
const errorDetails = extractErrorDetails(new Error("No file changes found in the commit"));
|
|
118
|
-
const structuredContent = {
|
|
119
|
-
success: false,
|
|
120
|
-
error: errorDetails.userMessage,
|
|
121
|
-
errorType: "validation_error",
|
|
122
|
-
statusCode: 422,
|
|
123
|
-
errorDetails: {
|
|
124
|
-
userMessage: "No file changes found. Please ensure you have committed changes or uncommitted changes to analyze.",
|
|
125
|
-
technicalDetails: "Git analysis returned empty file changes array",
|
|
126
|
-
retryable: false,
|
|
127
|
-
},
|
|
128
|
-
};
|
|
129
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (no file changes)", structuredContent);
|
|
130
71
|
return {
|
|
131
72
|
content: [
|
|
132
73
|
{
|
|
133
74
|
type: "text",
|
|
134
|
-
text: `Error:
|
|
75
|
+
text: `Error: No file changes found. Please ensure you have committed changes or uncommitted changes to analyze.`,
|
|
135
76
|
},
|
|
136
77
|
],
|
|
137
|
-
structuredContent,
|
|
138
78
|
isError: true,
|
|
139
79
|
};
|
|
140
80
|
}
|
|
@@ -146,18 +86,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
146
86
|
fileCount: String(fileChanges.length),
|
|
147
87
|
maxLimit: String(MAX_FILE_LIMIT),
|
|
148
88
|
});
|
|
149
|
-
const structuredContent = {
|
|
150
|
-
success: false,
|
|
151
|
-
error: errorDetails.userMessage,
|
|
152
|
-
errorType: "validation_error",
|
|
153
|
-
statusCode: 422,
|
|
154
|
-
errorDetails: {
|
|
155
|
-
userMessage: `Too many files to analyze. Found ${fileChanges.length} files, but the maximum allowed is ${MAX_FILE_LIMIT} files. Please reduce the number of files in your commit or uncommitted changes.`,
|
|
156
|
-
technicalDetails: `File count validation failed: ${fileChanges.length} files exceeds limit of ${MAX_FILE_LIMIT}`,
|
|
157
|
-
retryable: false,
|
|
158
|
-
},
|
|
159
|
-
};
|
|
160
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (file limit exceeded)", structuredContent);
|
|
161
89
|
return {
|
|
162
90
|
content: [
|
|
163
91
|
{
|
|
@@ -165,7 +93,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
165
93
|
text: `Error: Too many files to analyze. Found ${fileChanges.length} files, but the maximum allowed is ${MAX_FILE_LIMIT} files. Please reduce the number of files in your commit or uncommitted changes.`,
|
|
166
94
|
},
|
|
167
95
|
],
|
|
168
|
-
structuredContent,
|
|
169
96
|
isError: true,
|
|
170
97
|
};
|
|
171
98
|
}
|
|
@@ -194,26 +121,13 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
194
121
|
logger.logError("Invalid file changes structure", new Error(errorMessage), {
|
|
195
122
|
invalidFilesCount: String(invalidFiles.length),
|
|
196
123
|
});
|
|
197
|
-
const structuredContent = {
|
|
198
|
-
success: false,
|
|
199
|
-
error: errorDetails.userMessage,
|
|
200
|
-
errorType: "validation_error",
|
|
201
|
-
statusCode: 422,
|
|
202
|
-
errorDetails: {
|
|
203
|
-
userMessage: "Invalid file changes structure. Each file must have 'filename', 'status', and 'new_content' fields.",
|
|
204
|
-
technicalDetails: errorMessage,
|
|
205
|
-
retryable: false,
|
|
206
|
-
},
|
|
207
|
-
};
|
|
208
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (invalid file changes structure)", structuredContent);
|
|
209
124
|
return {
|
|
210
125
|
content: [
|
|
211
126
|
{
|
|
212
127
|
type: "text",
|
|
213
|
-
text: `Error:
|
|
128
|
+
text: `Error: Invalid file changes structure. Each file must have 'filename', 'status', and 'new_content' fields.`,
|
|
214
129
|
},
|
|
215
130
|
],
|
|
216
|
-
structuredContent,
|
|
217
131
|
isError: true,
|
|
218
132
|
};
|
|
219
133
|
}
|
|
@@ -238,19 +152,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
238
152
|
catch (error) {
|
|
239
153
|
const errorDetails = extractErrorDetails(error);
|
|
240
154
|
logger.logError("Failed to fetch user from secure route", error);
|
|
241
|
-
const structuredContent = {
|
|
242
|
-
success: false,
|
|
243
|
-
error: errorDetails.userMessage,
|
|
244
|
-
errorType: errorDetails.errorType,
|
|
245
|
-
statusCode: errorDetails.statusCode,
|
|
246
|
-
status: errorDetails.errorType,
|
|
247
|
-
errorDetails: {
|
|
248
|
-
userMessage: errorDetails.userMessage,
|
|
249
|
-
technicalDetails: errorDetails.technicalDetails,
|
|
250
|
-
retryable: errorDetails.retryable,
|
|
251
|
-
},
|
|
252
|
-
};
|
|
253
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (getUserFromSecureRoute failed)", structuredContent);
|
|
254
155
|
// Return error from MCP server with backend error details
|
|
255
156
|
return {
|
|
256
157
|
content: [
|
|
@@ -259,7 +160,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
259
160
|
text: `Error: ${errorDetails.userMessage}`,
|
|
260
161
|
},
|
|
261
162
|
],
|
|
262
|
-
structuredContent,
|
|
263
163
|
isError: true,
|
|
264
164
|
};
|
|
265
165
|
}
|
|
@@ -310,18 +210,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
310
210
|
commit_id: commitId,
|
|
311
211
|
factor: normalizedFactor,
|
|
312
212
|
});
|
|
313
|
-
const structuredContent = {
|
|
314
|
-
success: false,
|
|
315
|
-
error: errorDetails.userMessage,
|
|
316
|
-
errorType: errorDetails.errorType,
|
|
317
|
-
statusCode: errorDetails.statusCode,
|
|
318
|
-
errorDetails: {
|
|
319
|
-
userMessage: errorDetails.userMessage,
|
|
320
|
-
technicalDetails: errorDetails.technicalDetails,
|
|
321
|
-
retryable: errorDetails.retryable,
|
|
322
|
-
},
|
|
323
|
-
};
|
|
324
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (commitReviewService.submitAndWaitForResults failed)", structuredContent);
|
|
325
213
|
// Clean up WebSocket connection for this user if tool call was aborted or timed out
|
|
326
214
|
// Don't close all connections, just this user's connection to allow retries
|
|
327
215
|
if (toolCallAborted && userId) {
|
|
@@ -344,7 +232,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
344
232
|
text: `Error: ${errorDetails.userMessage}`,
|
|
345
233
|
},
|
|
346
234
|
],
|
|
347
|
-
structuredContent,
|
|
348
235
|
isError: true,
|
|
349
236
|
};
|
|
350
237
|
}
|
|
@@ -355,26 +242,13 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
355
242
|
user_id: userId,
|
|
356
243
|
commit_id: commitId,
|
|
357
244
|
});
|
|
358
|
-
const structuredContent = {
|
|
359
|
-
success: false,
|
|
360
|
-
error: result.error || errorDetails.userMessage,
|
|
361
|
-
errorType: errorDetails.errorType,
|
|
362
|
-
statusCode: errorDetails.statusCode,
|
|
363
|
-
errorDetails: {
|
|
364
|
-
userMessage: errorDetails.userMessage,
|
|
365
|
-
technicalDetails: result.error || errorDetails.technicalDetails,
|
|
366
|
-
retryable: errorDetails.retryable,
|
|
367
|
-
},
|
|
368
|
-
};
|
|
369
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (result.success === false)", structuredContent);
|
|
370
245
|
return {
|
|
371
246
|
content: [
|
|
372
247
|
{
|
|
373
248
|
type: "text",
|
|
374
|
-
text: `Error: ${errorDetails.userMessage}`,
|
|
249
|
+
text: `Error: ${result.error || errorDetails.userMessage}`,
|
|
375
250
|
},
|
|
376
251
|
],
|
|
377
|
-
structuredContent,
|
|
378
252
|
isError: true,
|
|
379
253
|
};
|
|
380
254
|
}
|
|
@@ -399,8 +273,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
399
273
|
analysisId: result.analysisId || "none",
|
|
400
274
|
factor,
|
|
401
275
|
});
|
|
402
|
-
const structuredContent = result;
|
|
403
|
-
logStructuredContentDebug("codesherlock_analyze: returning success structuredContent", structuredContent);
|
|
404
276
|
return {
|
|
405
277
|
content: [
|
|
406
278
|
{
|
|
@@ -408,7 +280,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
408
280
|
text: markdownAnalysis || JSON.stringify(result, null, 2),
|
|
409
281
|
},
|
|
410
282
|
],
|
|
411
|
-
structuredContent,
|
|
412
283
|
};
|
|
413
284
|
}
|
|
414
285
|
catch (error) {
|
|
@@ -440,18 +311,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
440
311
|
});
|
|
441
312
|
});
|
|
442
313
|
}
|
|
443
|
-
const structuredContent = {
|
|
444
|
-
success: false,
|
|
445
|
-
error: errorDetails.userMessage,
|
|
446
|
-
errorType: errorDetails.errorType,
|
|
447
|
-
statusCode: errorDetails.statusCode || 500,
|
|
448
|
-
errorDetails: {
|
|
449
|
-
userMessage: errorDetails.userMessage,
|
|
450
|
-
technicalDetails: errorDetails.technicalDetails,
|
|
451
|
-
retryable: errorDetails.retryable,
|
|
452
|
-
},
|
|
453
|
-
};
|
|
454
|
-
logStructuredContentDebug("codesherlock_analyze: returning error (top-level catch)", structuredContent);
|
|
455
314
|
return {
|
|
456
315
|
content: [
|
|
457
316
|
{
|
|
@@ -459,7 +318,6 @@ export const createAnalyzeCommitHandler = (gitService, commitReviewService, back
|
|
|
459
318
|
text: `Error analyzing commit: ${errorDetails.userMessage}`,
|
|
460
319
|
},
|
|
461
320
|
],
|
|
462
|
-
structuredContent,
|
|
463
321
|
isError: true,
|
|
464
322
|
};
|
|
465
323
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeCommitHandler.js","sourceRoot":"","sources":["../../src/handlers/analyzeCommitHandler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"analyzeCommitHandler.js","sourceRoot":"","sources":["../../src/handlers/analyzeCommitHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAa,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,MAAM,IAAI,CAAC;AAYpB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACtC,UAAsB,EACtB,mBAAwC,EACxC,iBAAoC,EACtC,EAAE;IACA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAqB,EAAE,EAAE;QACnE,sEAAsE;QACtE,IAAI,MAA0B,CAAC;QAC/B,IAAI,CAAC;YACD,+EAA+E;YAC/E,MAAM,gBAAgB,GACjB,MAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAA8D,CAAC;YAEvH,MAAM,CAAC,OAAO,CAAC,4CAA4C,EAAE;gBACzD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;gBAChC,SAAS;gBACT,cAAc,EAAE,MAAM;gBACtB,gBAAgB;aACnB,CAAC,CAAC;YAEH,4BAA4B;YAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBAChF,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,UAAU,YAAY,CAAC,WAAW,EAAE;yBAC7C;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,oCAAoC;YACpC,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE;gBACpC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;gBAChC,SAAS;gBACT,MAAM;aACT,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC;YAChB,IAAI,CAAC;gBACD,MAAM,CAAC,OAAO,CAAC,sCAAsC,EAAE;oBACnD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;oBAChC,SAAS;iBACZ,CAAC,CAAC;gBACH,WAAW,GAAG,MAAM,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACzE,MAAM,CAAC,OAAO,CAAC,uCAAuC,EAAE;oBACpD,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;oBACrC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxC,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;wBACjD,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;qBAC5C,CAAC,CAAC,CAAC;iBACP,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAChD,MAAM,CAAC,QAAQ,CAAC,+BAA+B,EAAE,KAAc,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAElH,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,UAAU,YAAY,CAAC,WAAW,EAAE;yBAC7C;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,qCAAqC;YACrC,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3C,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;gBAC3F,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,2GAA2G;yBACpH;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,+CAA+C;YAC/C,MAAM,cAAc,GAAG,EAAE,CAAC;YAC1B,IAAI,WAAW,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;gBACtC,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,KAAK,CAAC,sCAAsC,cAAc,iBAAiB,CAAC,CAAC,CAAC;gBAC3H,MAAM,CAAC,UAAU,CAAC,qBAAqB,EAAE;oBACrC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;oBACrC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC;iBACnC,CAAC,CAAC;gBACH,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,2CAA2C,WAAW,CAAC,MAAM,sCAAsC,cAAc,kFAAkF;yBAC5M;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,4DAA4D;YAC5D,8EAA8E;YAC9E,MAAM,YAAY,GAAa,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;oBAC9D,SAAS;gBACb,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACtD,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,6CAA6C,CAAC,CAAC;gBACvF,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAClD,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,2CAA2C,CAAC,CAAC;gBACrF,CAAC;gBACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACjC,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,CAAC;gBAC3E,CAAC;YACL,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,mCAAmC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClF,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,QAAQ,CAAC,gCAAgC,EAAE,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;oBACvE,iBAAiB,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC;iBACjD,CAAC,CAAC;gBACH,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,4GAA4G;yBACrH;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,2EAA2E;YAC3E,IAAI,QAAgB,CAAC;YACrB,IAAI,CAAC;gBACD,QAAQ,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAChE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAChD,MAAM,CAAC,QAAQ,CAAC,2BAA2B,EAAE,KAAc,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAE5E,yBAAyB;gBACzB,QAAQ,GAAG,aAAa,CAAC;gBACzB,MAAM,CAAC,UAAU,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,+DAA+D;YAC/D,MAAM,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC;YAC9D,IAAI,IAAI,CAAC;YACT,IAAI,CAAC;gBACD,IAAI,GAAG,MAAM,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAChD,MAAM,CAAC,QAAQ,CAAC,wCAAwC,EAAE,KAAc,CAAC,CAAC;gBAE1E,0DAA0D;gBAC1D,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,UAAU,YAAY,CAAC,WAAW,EAAE;yBAC7C;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE/B,MAAM,CAAC,OAAO,CAAC,4BAA4B,EAAE;gBACzC,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,QAAQ;aACrB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,cAAc,CAAC;YAElE,gDAAgD;YAChD,4FAA4F;YAC5F,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC;YACjF,MAAM,gBAAgB,GAAG,WAAW,IAAI,CAAC,IAAI,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC;gBACnE,CAAC,CAAC,SAAS,CAAC,WAAW,GAAG,CAAC,CAAC;gBAC5B,CAAC,CAAC,SAAS,CAAC,CAAC,wCAAwC;YAEzD,oDAAoD;YACpD,8EAA8E;YAC9E,IAAI,eAAe,GAAG,KAAK,CAAC;YAC5B,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,mBAAmB,CAAC,uBAAuB,CAAC;oBACvD,MAAM,EAAE,gBAAgB;oBACxB,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,QAAQ;oBACnB,QAAQ;oBACR,YAAY,EAAE,WAAW;oBACzB,iBAAiB,EAAE,gBAAgB;iBACtC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACzF,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE,CAAC;oBACtF,eAAe,GAAG,IAAI,CAAC;oBACvB,MAAM,CAAC,UAAU,CAAC,oCAAoC,EAAE;wBACpD,OAAO,EAAE,MAAM;wBACf,SAAS,EAAE,QAAQ;wBACnB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;qBAC/B,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAChD,MAAM,CAAC,QAAQ,CAAC,mCAAmC,EAAE,KAAc,EAAE;oBACjE,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,QAAQ;oBACnB,MAAM,EAAE,gBAAgB;iBAC3B,CAAC,CAAC;gBAEH,oFAAoF;gBACpF,4EAA4E;gBAC5E,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;oBAC5B,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,gCAAgC;oBAChE,MAAM,CAAC,OAAO,CAAC,4EAA4E,EAAE;wBACzF,OAAO,EAAE,eAAe;qBAC3B,CAAC,CAAC;oBACH,6EAA6E;oBAC7E,MAAM,0BAA0B,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,EAAE;wBAC5F,MAAM,CAAC,UAAU,CAAC,yCAAyC,EAAE;4BACzD,KAAK,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;4BAClF,OAAO,EAAE,eAAe;yBAC3B,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,UAAU,YAAY,CAAC,WAAW,EAAE;yBAC7C;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,2CAA2C;YAC3C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,YAAY,GAAG,mBAAmB,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC;gBACrF,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,EAAE;oBAChF,OAAO,EAAE,MAAM;oBACf,SAAS,EAAE,QAAQ;iBACtB,CAAC,CAAC;gBAEH,OAAO;oBACH,OAAO,EAAE;wBACL;4BACI,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,WAAW,EAAE;yBAC7D;qBACJ;oBACD,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,+DAA+D;YAE/D,8CAA8C;YAC9C,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE;gBAC1C,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC/B,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC;aACrD,CAAC,CAAC;YAEH,IAAI,gBAAgB,GAAG,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,gBAAgB,GAAG,oCAAoC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACJ,MAAM,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;YAC3E,CAAC;YAED,wCAAwC;YACxC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE;gBAC9B,QAAQ,EAAE,sBAAsB;gBAChC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM;gBACvC,MAAM;aACT,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC5D;iBACJ;aACJ,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACjC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAClC,YAAY,CAAC,QAAQ,CAAC,uBAAuB,CAAC;gBAC9C,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAChC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAEpD,MAAM,CAAC,QAAQ,CAAC,kDAAkD,EAAE,KAAc,EAAE;gBAChF,SAAS;gBACT,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;gBAChC,MAAM;gBACN,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC5B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;aAC9B,CAAC,CAAC;YAEH,oFAAoF;YACpF,qEAAqE;YACrE,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;gBACtB,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,gCAAgC;gBAChE,MAAM,CAAC,OAAO,CAAC,0FAA0F,EAAE;oBACvG,OAAO,EAAE,eAAe;iBAC3B,CAAC,CAAC;gBACH,MAAM,0BAA0B,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,EAAE;oBAC5F,MAAM,CAAC,UAAU,CAAC,+CAA+C,EAAE;wBAC/D,KAAK,EAAE,YAAY,YAAY,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;wBAClF,OAAO,EAAE,eAAe;qBAC3B,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;YACP,CAAC;YAED,OAAO;gBACH,OAAO,EAAE;oBACL;wBACI,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,2BAA2B,YAAY,CAAC,WAAW,EAAE;qBAC9D;iBACJ;gBACD,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/handlers/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQpE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/handlers/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQpE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,QA4B9C"}
|
package/build/handlers/tools.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GitService } from "../services/gitService.js";
|
|
2
2
|
import { BackendApiService } from "../services/backendApiService.js";
|
|
3
3
|
import { CommitReviewService } from "../services/commitReviewService.js";
|
|
4
|
-
import { AnalyzeCommitInputSchema
|
|
4
|
+
import { AnalyzeCommitInputSchema } from "../schemas/toolSchemas.js";
|
|
5
5
|
import { createAnalyzeCommitHandler } from "./analyzeCommitHandler.js";
|
|
6
6
|
import { logger } from "../services/loggingService.js";
|
|
7
7
|
/**
|
|
@@ -24,7 +24,6 @@ export function registerTools(server) {
|
|
|
24
24
|
title: "CodeSherlock Analyze",
|
|
25
25
|
description: "CodeSherlock is an AI- based code analysis tool that validates unstaged changes and commits directly inside IDEs and AI Agents. It helps developers catch security, quality, and design issues early by combining deep analysis with compliance-aware checks OWASP, CWE, SOC-2 at the moment code is written. CodeSherlock also performs other security vulnerability reviews along with Maintainability, Reliability and Scalability checks. Use CodeSherlock to review and validate code especially generated via AI.",
|
|
26
26
|
inputSchema: AnalyzeCommitInputSchema,
|
|
27
|
-
outputSchema: AnalyzeCommitOutputSchema,
|
|
28
27
|
}, createAnalyzeCommitHandler(gitService, commitReviewService, backendApiService));
|
|
29
28
|
}
|
|
30
29
|
//# sourceMappingURL=tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/handlers/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/handlers/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAEvD;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC3C,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;IAEpC,0CAA0C;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC/C,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAE1D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAC3C,UAAiB,EACjB,OAAO,CAAC,GAAG,CAAC,WAAW,CAC1B,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAEvE;;;;OAIG;IACH,MAAM,CAAC,YAAY,CACf,sBAAsB,EACtB;QACI,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,yfAAyf;QACtgB,WAAW,EAAE,wBAAwB;KACxC,EACD,0BAA0B,CAAC,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CACjF,CAAC;AACN,CAAC"}
|
package/build/index.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
// Suppress all console output immediately to prevent interference with MCP protocol
|
|
3
|
+
// MCP uses stdout/stderr for JSON-RPC communication, so we must not write anything else there
|
|
4
|
+
const noOp = () => { };
|
|
5
|
+
console.log = noOp;
|
|
6
|
+
console.error = noOp;
|
|
7
|
+
console.warn = noOp;
|
|
8
|
+
console.info = noOp;
|
|
9
|
+
console.debug = noOp;
|
|
10
|
+
console.trace = noOp;
|
|
2
11
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
12
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
13
|
import { registerTools } from "./handlers/tools.js";
|
|
@@ -14,28 +23,17 @@ const __dirname = dirname(__filename);
|
|
|
14
23
|
// Go up from src/ or build/ to project root
|
|
15
24
|
const projectRoot = resolve(__dirname, "..");
|
|
16
25
|
const envPath = join(projectRoot, ".env");
|
|
17
|
-
// Load environment variables with explicit path
|
|
26
|
+
// Load environment variables with explicit path (silently, no output)
|
|
18
27
|
dotenv.config({ path: envPath });
|
|
19
28
|
/**
|
|
20
29
|
* CodeSherlock MCP Server
|
|
21
30
|
* A TypeScript-based Model Context Protocol server with modular architecture
|
|
22
31
|
*/
|
|
23
32
|
const appInsightsConnectionString = process.env.APPLICATIONINSIGHTS_CONNECTION_STRING;
|
|
24
|
-
// Initialize Application Insights
|
|
25
|
-
//
|
|
33
|
+
// Initialize Application Insights
|
|
34
|
+
// Console is already suppressed at the top of the file to prevent MCP protocol interference
|
|
26
35
|
async function initializeLogging() {
|
|
27
36
|
await logger.initialize(appInsightsConnectionString);
|
|
28
|
-
// Note: We don't suppress stdout/stderr streams as MCP SDK uses them for protocol communication
|
|
29
|
-
const noOp = () => { };
|
|
30
|
-
if (logger.isEnabled()) {
|
|
31
|
-
// Only suppress console if Application Insights is initializeds
|
|
32
|
-
console.log = noOp;
|
|
33
|
-
console.error = noOp;
|
|
34
|
-
console.warn = noOp;
|
|
35
|
-
console.info = noOp;
|
|
36
|
-
console.debug = noOp;
|
|
37
|
-
console.trace = noOp;
|
|
38
|
-
}
|
|
39
37
|
}
|
|
40
38
|
// Wait for logging initialization to complete
|
|
41
39
|
await initializeLogging();
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE9C,kDAAkD;AAClD,gEAAgE;AAChE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,4CAA4C;AAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAE1C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggingService.d.ts","sourceRoot":"","sources":["../../src/services/loggingService.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;OAEG;IACG,UAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"loggingService.d.ts","sourceRoot":"","sources":["../../src/services/loggingService.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,MAAM,CAA4C;IAC1D,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;OAEG;IACG,UAAU,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC1D;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI;IAWtE;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI;IAWzE;;OAEG;IACH,QAAQ,CACJ,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,EACb,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GACvC,IAAI;IAkBP;;OAEG;IACH,QAAQ,CACJ,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EACtC,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GACzC,IAAI;IAUP;;OAEG;IACH,WAAW,CACP,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GACvC,IAAI;IAUP;;OAEG;IACH,eAAe,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,cAAc,CAAC,EAAE,MAAM,GACxB,IAAI;IAYP;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;IACH,SAAS,IAAI,OAAO;CAGvB;AAGD,eAAO,MAAM,MAAM,gBAA+B,CAAC"}
|
|
@@ -21,14 +21,11 @@ export class LoggingService {
|
|
|
21
21
|
* Initialize Application Insights with connection string
|
|
22
22
|
*/
|
|
23
23
|
async initialize(connectionString) {
|
|
24
|
-
const debugLog = (message) => {
|
|
25
|
-
process.stderr.write(`[LoggingService] ${message}\n`);
|
|
26
|
-
};
|
|
27
24
|
if (this.isInitialized) {
|
|
28
25
|
return;
|
|
29
26
|
}
|
|
30
27
|
if (!connectionString) {
|
|
31
|
-
|
|
28
|
+
// Don't log to stderr as it interferes with MCP protocol
|
|
32
29
|
this.isInitialized = false;
|
|
33
30
|
this.client = null;
|
|
34
31
|
return;
|
|
@@ -46,15 +43,10 @@ export class LoggingService {
|
|
|
46
43
|
appInsights.start();
|
|
47
44
|
this.client = client;
|
|
48
45
|
this.isInitialized = true;
|
|
49
|
-
|
|
46
|
+
// Don't log to stderr as it interferes with MCP protocol
|
|
50
47
|
}
|
|
51
48
|
catch (error) {
|
|
52
|
-
|
|
53
|
-
debugLog(`Application Insights init error: ${error.message}`);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
debugLog(`Application Insights init error: ${String(error)}`);
|
|
57
|
-
}
|
|
49
|
+
// Don't log to stderr as it interferes with MCP protocol
|
|
58
50
|
this.isInitialized = false;
|
|
59
51
|
this.client = null;
|
|
60
52
|
}
|
|
@@ -70,11 +62,7 @@ export class LoggingService {
|
|
|
70
62
|
properties,
|
|
71
63
|
});
|
|
72
64
|
}
|
|
73
|
-
|
|
74
|
-
// Fallback to stderr if Application Insights is not available (MCP uses stdout for protocol)
|
|
75
|
-
const propsStr = properties ? ` ${JSON.stringify(properties)}` : '';
|
|
76
|
-
process.stderr.write(`[INFO] ${message}${propsStr}\n`);
|
|
77
|
-
}
|
|
65
|
+
// Don't write to stderr as it interferes with MCP protocol
|
|
78
66
|
}
|
|
79
67
|
/**
|
|
80
68
|
* Log a warning message
|
|
@@ -87,11 +75,7 @@ export class LoggingService {
|
|
|
87
75
|
properties,
|
|
88
76
|
});
|
|
89
77
|
}
|
|
90
|
-
|
|
91
|
-
// Fallback to stderr if Application Insights is not available (MCP uses stdout for protocol)
|
|
92
|
-
const propsStr = properties ? ` ${JSON.stringify(properties)}` : '';
|
|
93
|
-
process.stderr.write(`[WARN] ${message}${propsStr}\n`);
|
|
94
|
-
}
|
|
78
|
+
// Don't write to stderr as it interferes with MCP protocol
|
|
95
79
|
}
|
|
96
80
|
/**
|
|
97
81
|
* Log an error message
|
|
@@ -112,20 +96,7 @@ export class LoggingService {
|
|
|
112
96
|
});
|
|
113
97
|
}
|
|
114
98
|
}
|
|
115
|
-
|
|
116
|
-
// Fallback to stderr if Application Insights is not available (MCP uses stdout for protocol)
|
|
117
|
-
const propsStr = properties ? ` ${JSON.stringify(properties)}` : '';
|
|
118
|
-
if (error) {
|
|
119
|
-
process.stderr.write(`[ERROR] ${message}${propsStr}\n`);
|
|
120
|
-
process.stderr.write(`[ERROR] ${error.message}\n`);
|
|
121
|
-
if (error.stack) {
|
|
122
|
-
process.stderr.write(`[ERROR] Stack: ${error.stack}\n`);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
process.stderr.write(`[ERROR] ${message}${propsStr}\n`);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
99
|
+
// Don't write to stderr as it interferes with MCP protocol
|
|
129
100
|
}
|
|
130
101
|
/**
|
|
131
102
|
* Log a custom event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loggingService.js","sourceRoot":"","sources":["../../src/services/loggingService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,qBAAqB,CAAC;AAEnD;;;GAGG;AACH,MAAM,OAAO,cAAc;IACf,MAAM,CAAC,QAAQ,CAAiB;IAChC,MAAM,GAAuC,IAAI,CAAC;IAClD,aAAa,GAAG,KAAK,CAAC;IAE9B,gBAAwB,CAAC;IAEzB;;OAEG;IACH,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC3B,cAAc,CAAC,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,cAAc,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,gBAAyB;QACtC,
|
|
1
|
+
{"version":3,"file":"loggingService.js","sourceRoot":"","sources":["../../src/services/loggingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,7 +69,6 @@ describe("createAnalyzeCommitHandler", () => {
|
|
|
69
69
|
});
|
|
70
70
|
expect(formatMultipleFileAnalysisToMarkdown).toHaveBeenCalledWith(analysisResult.results);
|
|
71
71
|
// Note: mkdirSync/writeFileSync are commented out in the handler, so we don't test them
|
|
72
|
-
expect(response.structuredContent).toEqual(analysisResult);
|
|
73
72
|
expect(response.content[0].text).toBe("markdown-content");
|
|
74
73
|
});
|
|
75
74
|
it("returns not found error when directory is missing", async () => {
|
|
@@ -77,8 +76,7 @@ describe("createAnalyzeCommitHandler", () => {
|
|
|
77
76
|
const handler = createAnalyzeCommitHandler(gitService, commitReviewService, backendApiService);
|
|
78
77
|
const response = await handler(handlerArgs);
|
|
79
78
|
expect(response.isError).toBe(true);
|
|
80
|
-
expect(response.
|
|
81
|
-
expect(response.structuredContent.statusCode).toBe(404);
|
|
79
|
+
expect(response.content[0].text).toContain("Error");
|
|
82
80
|
});
|
|
83
81
|
it("returns validation error when file changes are invalid", async () => {
|
|
84
82
|
fs.existsSync.mockReturnValue(true);
|
|
@@ -86,7 +84,7 @@ describe("createAnalyzeCommitHandler", () => {
|
|
|
86
84
|
const handler = createAnalyzeCommitHandler(gitService, commitReviewService, backendApiService);
|
|
87
85
|
const response = await handler(handlerArgs);
|
|
88
86
|
expect(response.isError).toBe(true);
|
|
89
|
-
expect(response.
|
|
87
|
+
expect(response.content[0].text).toContain("Error");
|
|
90
88
|
expect(commitReviewService.submitAndWaitForResults).not.toHaveBeenCalled();
|
|
91
89
|
});
|
|
92
90
|
it("propagates backend error result when commit review fails", async () => {
|
|
@@ -103,8 +101,8 @@ describe("createAnalyzeCommitHandler", () => {
|
|
|
103
101
|
const handler = createAnalyzeCommitHandler(gitService, commitReviewService, backendApiService);
|
|
104
102
|
const response = await handler(handlerArgs);
|
|
105
103
|
expect(response.isError).toBe(true);
|
|
106
|
-
expect(response.
|
|
107
|
-
expect(response.
|
|
104
|
+
expect(response.content[0].text).toContain("Error");
|
|
105
|
+
expect(response.content[0].text).toContain("Backend failed");
|
|
108
106
|
});
|
|
109
107
|
});
|
|
110
108
|
//# sourceMappingURL=analyzeCommitHandler.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyzeCommitHandler.test.js","sourceRoot":"","sources":["../../src/tests/analyzeCommitHandler.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"analyzeCommitHandler.test.js","sourceRoot":"","sources":["../../src/tests/analyzeCommitHandler.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { registerTools } from "../handlers/tools.js";
|
|
2
|
-
import { AnalyzeCommitInputSchema
|
|
2
|
+
import { AnalyzeCommitInputSchema } from "../schemas/toolSchemas.js";
|
|
3
3
|
// Mock service classes and handler factory
|
|
4
4
|
const mockGitServiceInstance = { type: "git" };
|
|
5
5
|
const mockBackendApiServiceInstance = { type: "backend" };
|
|
@@ -51,8 +51,10 @@ describe("registerTools", () => {
|
|
|
51
51
|
expect(server.registerTool).toHaveBeenCalledWith("codesherlock_analyze", expect.objectContaining({
|
|
52
52
|
title: "CodeSherlock Analyze",
|
|
53
53
|
inputSchema: AnalyzeCommitInputSchema,
|
|
54
|
-
outputSchema: AnalyzeCommitOutputSchema,
|
|
55
54
|
}), mockHandler);
|
|
55
|
+
// Verify outputSchema is not included
|
|
56
|
+
const callArgs = server.registerTool.mock.calls[0];
|
|
57
|
+
expect(callArgs[1]).not.toHaveProperty("outputSchema");
|
|
56
58
|
});
|
|
57
59
|
});
|
|
58
60
|
//# sourceMappingURL=tools.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/tests/tools.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,
|
|
1
|
+
{"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/tests/tools.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,2CAA2C;AAC3C,MAAM,sBAAsB,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAC/C,MAAM,6BAA6B,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1D,MAAM,+BAA+B,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAE9B,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACxC,OAAO;QACH,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC;KACzE,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;IAC/C,OAAO;QACH,iBAAiB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC;KACvF,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;IACjD,OAAO;QACH,mBAAmB,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC;KAC3F,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE,GAAG,EAAE;IAClD,OAAO;QACH,0BAA0B,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;KACzD,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvC,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,GAAG,EAAE;QACjF,MAAM,MAAM,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,EAAS,CAAC;QAElD,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtB,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;QAC5D,MAAM,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAC1E,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAAC;QAC9E,MAAM,EAAE,0BAA0B,EAAE,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;QAEtF,6BAA6B;QAC7B,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;QAEhF,yCAAyC;QACzC,MAAM,CAAC,0BAA0B,CAAC,CAAC,oBAAoB,CACnD,sBAAsB,EACtB,+BAA+B,EAC/B,6BAA6B,CAChC,CAAC;QAEF,oDAAoD;QACpD,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAC5C,sBAAsB,EACtB,MAAM,CAAC,gBAAgB,CAAC;YACpB,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,wBAAwB;SACxC,CAAC,EACF,WAAW,CACd,CAAC;QACF,sCAAsC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -48,11 +48,11 @@ export function extractErrorDetails(error, wsStatusCode, wsErrorMessage) {
|
|
|
48
48
|
errorType = "authentication_error";
|
|
49
49
|
userMessage = "API key missing. Authentication is required.\n\n" +
|
|
50
50
|
"To get an API key:\n" +
|
|
51
|
-
"1. Visit https://
|
|
52
|
-
"2. Navigate to the MCP API Keys page: https://
|
|
51
|
+
"1. Visit https://prelive.codesherlock.ai and sign up or log in.\n" +
|
|
52
|
+
"2. Navigate to the MCP API Keys page: https://prelive.codesherlock.ai/mcp/api/key.\n" +
|
|
53
53
|
"3. Generate or copy your API key.\n\n" +
|
|
54
54
|
"Usage instructions:\n" +
|
|
55
|
-
"See the MCP integration guide at https://
|
|
55
|
+
"See the MCP integration guide at https://prelive.codesherlock.ai/mcp/setup/guide.\n\n" +
|
|
56
56
|
"If you followed these steps and still face issues, contact support at support@codesherlock.ai.";
|
|
57
57
|
retryable = false;
|
|
58
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errorExtractor.js","sourceRoot":"","sources":["../../src/utils/errorExtractor.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CAC/B,KAAsB,EACtB,YAAqB,EACrB,cAAuB;IAEvB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,YAAY,CAAC;IAEtC,wDAAwD;IACxD,IAAI,UAAU,GAAuB,YAAY,CAAC;IAClD,IAAI,WAAW,GAAuB,cAAc,CAAC;IAErD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,YAAY,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACvC,UAAU,GAAI,KAAa,CAAC,UAAU,CAAC;QAC3C,CAAC;QACD,IAAI,aAAa,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,WAAW,GAAI,KAAa,CAAC,WAAW,CAAC;QAC7C,CAAC;IACL,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC3D,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,CAAC;IAED,2DAA2D;IAC3D,MAAM,qBAAqB,GAAG,WAAW,IAAI,YAAY,CAAC;IAE1D,gEAAgE;IAChE,IAAI,SAAS,GAAc,gBAAgB,CAAC;IAC5C,IAAI,WAAW,GAAG,qBAAqB,CAAC;IACxC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,8BAA8B;IAC9B,IAAI,UAAU,KAAK,GAAG,IAAI,qBAAqB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACnL,SAAS,GAAG,sBAAsB,CAAC;QACnC,WAAW,GAAG,kDAAkD;YAC5D,sBAAsB;YACtB,
|
|
1
|
+
{"version":3,"file":"errorExtractor.js","sourceRoot":"","sources":["../../src/utils/errorExtractor.ts"],"names":[],"mappings":"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"}
|