@aws/lsp-codewhisperer 0.0.77 → 0.0.79
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/CHANGELOG.md +33 -0
- package/out/client/token/bearer-token-service.json +6 -0
- package/out/language-server/agenticChat/agenticChatController.js +3 -1
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/constants/constants.d.ts +0 -2
- package/out/language-server/agenticChat/constants/constants.js +1 -3
- package/out/language-server/agenticChat/constants/constants.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js +2 -0
- package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
- package/out/language-server/agenticChat/tools/chatDb/util.js +2 -1
- package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpManager.js +5 -2
- package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpTypes.d.ts +12 -2
- package/out/language-server/agenticChat/tools/mcp/mcpTypes.js +7 -3
- package/out/language-server/agenticChat/tools/mcp/mcpTypes.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +4 -0
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +98 -19
- package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
- package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.d.ts +2 -5
- package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.js +5 -16
- package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.js.map +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.d.ts +1 -0
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js +49 -11
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js.map +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js +37 -25
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js.map +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewSchemas.d.ts +3 -0
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewSchemas.js +8 -7
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewSchemas.js.map +1 -1
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewTypes.d.ts +3 -0
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.d.ts +7 -0
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.js +23 -0
- package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.js.map +1 -1
- package/out/language-server/agenticChat/tools/toolServer.js +57 -48
- package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.d.ts +1 -1
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +6 -1
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
- package/out/language-server/inline-completion/codeWhispererServer.d.ts +2 -1
- package/out/language-server/inline-completion/codeWhispererServer.js +31 -6
- package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
- package/out/language-server/localProjectContext/localProjectContextServer.js +13 -0
- package/out/language-server/localProjectContext/localProjectContextServer.js.map +1 -1
- package/out/language-server/netTransform/artifactManager.d.ts +2 -1
- package/out/language-server/netTransform/artifactManager.js +19 -1
- package/out/language-server/netTransform/artifactManager.js.map +1 -1
- package/out/language-server/netTransform/transformHandler.js +1 -1
- package/out/language-server/netTransform/transformHandler.js.map +1 -1
- package/out/shared/codeWhispererService.d.ts +25 -6
- package/out/shared/codeWhispererService.js +44 -18
- package/out/shared/codeWhispererService.js.map +1 -1
- package/out/shared/utils.d.ts +1 -1
- package/out/shared/utils.js +20 -2
- package/out/shared/utils.js.map +1 -1
- package/package.json +6 -4
|
@@ -13,6 +13,7 @@ const fs_1 = require("fs");
|
|
|
13
13
|
const codeReviewErrors_1 = require("./codeReviewErrors");
|
|
14
14
|
const codeReviewTypes_1 = require("./codeReviewTypes");
|
|
15
15
|
const lsp_core_1 = require("@aws/lsp-core");
|
|
16
|
+
const codewhisperer_streaming_1 = require("@amzn/codewhisperer-streaming");
|
|
16
17
|
class CodeReview {
|
|
17
18
|
static CUSTOMER_CODE_BASE_PATH = 'customerCodeBaseFolder';
|
|
18
19
|
static CODE_ARTIFACT_PATH = 'code_artifact';
|
|
@@ -24,7 +25,7 @@ class CodeReview {
|
|
|
24
25
|
static POLLING_INTERVAL_MS = 10000; // 10 seconds
|
|
25
26
|
static UPLOAD_INTENT = 'AGENTIC_CODE_REVIEW';
|
|
26
27
|
static SCAN_SCOPE = 'AGENTIC';
|
|
27
|
-
static MAX_FINDINGS_COUNT =
|
|
28
|
+
static MAX_FINDINGS_COUNT = 40;
|
|
28
29
|
static ERROR_MESSAGES = {
|
|
29
30
|
MISSING_CLIENT: 'CodeWhisperer client not available',
|
|
30
31
|
MISSING_ARTIFACTS: `Missing fileLevelArtifacts and folderLevelArtifacts for ${codeReviewConstants_1.CODE_REVIEW_TOOL_NAME} tool. Ask user to provide a specific file / folder / workspace which has code that can be scanned.`,
|
|
@@ -43,6 +44,7 @@ class CodeReview {
|
|
|
43
44
|
cancellationToken;
|
|
44
45
|
writableStream;
|
|
45
46
|
toolStartTime = 0;
|
|
47
|
+
overrideDiffScan = false;
|
|
46
48
|
constructor(features) {
|
|
47
49
|
this.credentialsProvider = features.credentialsProvider;
|
|
48
50
|
this.logging = features.logging;
|
|
@@ -74,7 +76,16 @@ class CodeReview {
|
|
|
74
76
|
// 3. Start code analysis
|
|
75
77
|
const analysisResult = await this.startCodeAnalysis(setup, uploadResult);
|
|
76
78
|
this.checkCancellation();
|
|
77
|
-
|
|
79
|
+
const nonRuleFiles = uploadResult.numberOfFilesInCustomerCodeZip - setup.ruleArtifacts.length;
|
|
80
|
+
const diffFiles = uploadResult.codeDiffFiles.size;
|
|
81
|
+
if (diffFiles == 0 && !setup.isFullReviewRequest) {
|
|
82
|
+
setup.isFullReviewRequest = true;
|
|
83
|
+
this.overrideDiffScan = true;
|
|
84
|
+
}
|
|
85
|
+
const reviewMessage = setup.isFullReviewRequest
|
|
86
|
+
? `Reviewing the entire code in ${nonRuleFiles} file${nonRuleFiles > 1 ? 's' : ''}...`
|
|
87
|
+
: `Reviewing uncommitted changes in ${diffFiles} of ${nonRuleFiles} file${nonRuleFiles > 1 ? 's' : ''}...`;
|
|
88
|
+
await chatStreamWriter?.write(reviewMessage);
|
|
78
89
|
// 4. Wait for scan to complete
|
|
79
90
|
await this.pollForCompletion(analysisResult.jobId, setup, uploadResult, chatStreamWriter);
|
|
80
91
|
this.checkCancellation();
|
|
@@ -117,6 +128,7 @@ class CodeReview {
|
|
|
117
128
|
const fileArtifacts = validatedInput.fileLevelArtifacts || [];
|
|
118
129
|
const folderArtifacts = validatedInput.folderLevelArtifacts || [];
|
|
119
130
|
const ruleArtifacts = validatedInput.ruleArtifacts || [];
|
|
131
|
+
const modelId = validatedInput.modelId;
|
|
120
132
|
if (fileArtifacts.length === 0 && folderArtifacts.length === 0) {
|
|
121
133
|
codeReviewUtils_1.CodeReviewUtils.emitMetric({
|
|
122
134
|
reason: codeReviewTypes_1.FailedMetricName.MissingFileOrFolder,
|
|
@@ -134,7 +146,7 @@ class CodeReview {
|
|
|
134
146
|
// TODO: Remove requirement of programming language
|
|
135
147
|
const programmingLanguage = 'java';
|
|
136
148
|
const scanName = 'Standard-' + (0, crypto_1.randomUUID)();
|
|
137
|
-
this.logging.info(`Agentic scan name: ${scanName}`);
|
|
149
|
+
this.logging.info(`Agentic scan name: ${scanName} selectedModel: ${modelId}`);
|
|
138
150
|
return {
|
|
139
151
|
fileArtifacts,
|
|
140
152
|
folderArtifacts,
|
|
@@ -143,6 +155,7 @@ class CodeReview {
|
|
|
143
155
|
programmingLanguage,
|
|
144
156
|
scanName,
|
|
145
157
|
ruleArtifacts,
|
|
158
|
+
modelId,
|
|
146
159
|
};
|
|
147
160
|
}
|
|
148
161
|
/**
|
|
@@ -151,7 +164,7 @@ class CodeReview {
|
|
|
151
164
|
* @returns Upload result with uploadId or error message
|
|
152
165
|
*/
|
|
153
166
|
async prepareAndUploadArtifacts(setup) {
|
|
154
|
-
const { zipBuffer, md5Hash, isCodeDiffPresent, programmingLanguages } = await this.prepareFilesAndFoldersForUpload(setup.fileArtifacts, setup.folderArtifacts, setup.ruleArtifacts, setup.isFullReviewRequest);
|
|
167
|
+
const { zipBuffer, md5Hash, isCodeDiffPresent, programmingLanguages, numberOfFilesInCustomerCodeZip, codeDiffFiles, } = await this.prepareFilesAndFoldersForUpload(setup.fileArtifacts, setup.folderArtifacts, setup.ruleArtifacts, setup.isFullReviewRequest);
|
|
155
168
|
const uploadUrlResponse = await this.codeWhispererClient.createUploadUrl({
|
|
156
169
|
contentLength: zipBuffer.length,
|
|
157
170
|
contentMd5: md5Hash,
|
|
@@ -183,6 +196,8 @@ class CodeReview {
|
|
|
183
196
|
isCodeDiffPresent,
|
|
184
197
|
artifactSize: zipBuffer.length,
|
|
185
198
|
programmingLanguages: programmingLanguages,
|
|
199
|
+
numberOfFilesInCustomerCodeZip,
|
|
200
|
+
codeDiffFiles,
|
|
186
201
|
};
|
|
187
202
|
}
|
|
188
203
|
/**
|
|
@@ -199,6 +214,8 @@ class CodeReview {
|
|
|
199
214
|
codeScanName: setup.scanName,
|
|
200
215
|
scope: CodeReview.SCAN_SCOPE,
|
|
201
216
|
codeDiffMetadata: uploadResult.isCodeDiffPresent ? { codeDiffPath: '/code_artifact/codeDiff/' } : undefined,
|
|
217
|
+
languageModelId: setup.modelId,
|
|
218
|
+
clientType: codewhisperer_streaming_1.Origin.IDE,
|
|
202
219
|
});
|
|
203
220
|
if (!createResponse.jobId) {
|
|
204
221
|
codeReviewUtils_1.CodeReviewUtils.emitMetric({
|
|
@@ -213,6 +230,7 @@ class CodeReview {
|
|
|
213
230
|
customRules: setup.ruleArtifacts.length,
|
|
214
231
|
programmingLanguages: Array.from(uploadResult.programmingLanguages),
|
|
215
232
|
scope: setup.isFullReviewRequest ? codeReviewConstants_1.FULL_REVIEW : codeReviewConstants_1.CODE_DIFF_REVIEW,
|
|
233
|
+
modelId: setup.modelId,
|
|
216
234
|
},
|
|
217
235
|
}, this.logging, this.telemetry);
|
|
218
236
|
throw new codeReviewErrors_1.CodeReviewInternalError(CodeReview.ERROR_MESSAGES.START_CODE_ANALYSIS_FAILED(setup.scanName, createResponse.errorMessage));
|
|
@@ -253,6 +271,7 @@ class CodeReview {
|
|
|
253
271
|
programmingLanguages: Array.from(uploadResult.programmingLanguages),
|
|
254
272
|
scope: setup.isFullReviewRequest ? codeReviewConstants_1.FULL_REVIEW : codeReviewConstants_1.CODE_DIFF_REVIEW,
|
|
255
273
|
status: status,
|
|
274
|
+
modelId: setup.modelId,
|
|
256
275
|
},
|
|
257
276
|
}, this.logging, this.telemetry);
|
|
258
277
|
throw new codeReviewErrors_1.CodeReviewInternalError(CodeReview.ERROR_MESSAGES.CODE_ANALYSIS_FAILED(jobId, statusResponse.errorMessage));
|
|
@@ -277,6 +296,7 @@ class CodeReview {
|
|
|
277
296
|
programmingLanguages: Array.from(uploadResult.programmingLanguages),
|
|
278
297
|
scope: setup.isFullReviewRequest ? codeReviewConstants_1.FULL_REVIEW : codeReviewConstants_1.CODE_DIFF_REVIEW,
|
|
279
298
|
status: status,
|
|
299
|
+
modelId: setup.modelId,
|
|
280
300
|
},
|
|
281
301
|
}, this.logging, this.telemetry);
|
|
282
302
|
throw new codeReviewErrors_1.CodeReviewTimeoutError(CodeReview.ERROR_MESSAGES.TIMEOUT);
|
|
@@ -305,6 +325,7 @@ class CodeReview {
|
|
|
305
325
|
programmingLanguages: Array.from(uploadResult.programmingLanguages),
|
|
306
326
|
scope: setup.isFullReviewRequest ? codeReviewConstants_1.FULL_REVIEW : codeReviewConstants_1.CODE_DIFF_REVIEW,
|
|
307
327
|
latency: Date.now() - this.toolStartTime,
|
|
328
|
+
modelId: setup.modelId,
|
|
308
329
|
},
|
|
309
330
|
}, this.logging, this.telemetry);
|
|
310
331
|
const aggregatedCodeScanIssueList = this.aggregateFindingsByFile(findingsExceededLimit ? totalFindings.slice(0, CodeReview.MAX_FINDINGS_COUNT) : totalFindings, setup.fileArtifacts, setup.folderArtifacts);
|
|
@@ -324,9 +345,12 @@ class CodeReview {
|
|
|
324
345
|
},
|
|
325
346
|
}, this.logging, this.telemetry));
|
|
326
347
|
});
|
|
348
|
+
let scopeMessage = this.overrideDiffScan
|
|
349
|
+
? `Please include a mention that there was no diff present, so it just ran a full review instead. Be very explicit about this so that the user could not be confused.`
|
|
350
|
+
: `Please include a mention that the scan was on the ${setup.isFullReviewRequest ? `entire` : `uncommitted`} code.`;
|
|
327
351
|
return {
|
|
328
352
|
codeReviewId: jobId,
|
|
329
|
-
message: `${codeReviewConstants_1.CODE_REVIEW_TOOL_NAME} tool completed successfully
|
|
353
|
+
message: `${codeReviewConstants_1.CODE_REVIEW_TOOL_NAME} tool completed successfully. ${scopeMessage} ${findingsExceededLimit ? ` Inform the user that we are limiting findings to top ${CodeReview.MAX_FINDINGS_COUNT} based on severity.` : ''}`,
|
|
330
354
|
findingsByFile: JSON.stringify(aggregatedCodeScanIssueList),
|
|
331
355
|
};
|
|
332
356
|
}
|
|
@@ -397,7 +421,7 @@ class CodeReview {
|
|
|
397
421
|
const codeArtifactZip = new JSZip();
|
|
398
422
|
const customerCodeZip = new JSZip();
|
|
399
423
|
// Process files and folders
|
|
400
|
-
const { codeDiff, programmingLanguages } = await this.processArtifacts(fileArtifacts, folderArtifacts, ruleArtifacts, customerCodeZip, !isFullReviewRequest);
|
|
424
|
+
const { codeDiff, programmingLanguages, codeDiffFiles } = await this.processArtifacts(fileArtifacts, folderArtifacts, ruleArtifacts, customerCodeZip, !isFullReviewRequest);
|
|
401
425
|
let numberOfFilesInCustomerCodeZip = codeReviewUtils_1.CodeReviewUtils.countZipFiles(customerCodeZip);
|
|
402
426
|
if (numberOfFilesInCustomerCodeZip > ruleArtifacts.length) {
|
|
403
427
|
// Validates that there are actual files to scan, other than rule artifacts
|
|
@@ -424,7 +448,14 @@ class CodeReview {
|
|
|
424
448
|
// Calculate MD5 hash of the zip buffer
|
|
425
449
|
const md5Hash = crypto.createHash('md5').update(zipBuffer).digest('hex');
|
|
426
450
|
this.logging.info(`Created zip archive, size: ${zipBuffer.byteLength} bytes, MD5: ${md5Hash}`);
|
|
427
|
-
return {
|
|
451
|
+
return {
|
|
452
|
+
zipBuffer,
|
|
453
|
+
md5Hash,
|
|
454
|
+
isCodeDiffPresent,
|
|
455
|
+
programmingLanguages,
|
|
456
|
+
numberOfFilesInCustomerCodeZip,
|
|
457
|
+
codeDiffFiles,
|
|
458
|
+
};
|
|
428
459
|
}
|
|
429
460
|
catch (error) {
|
|
430
461
|
this.logging.error(`Error preparing files for upload: ${error}`);
|
|
@@ -442,14 +473,15 @@ class CodeReview {
|
|
|
442
473
|
*/
|
|
443
474
|
async processArtifacts(fileArtifacts, folderArtifacts, ruleArtifacts, customerCodeZip, isCodeDiffScan) {
|
|
444
475
|
// Process files
|
|
445
|
-
let { codeDiff, programmingLanguages } = await this.processFileArtifacts(fileArtifacts, customerCodeZip, isCodeDiffScan);
|
|
476
|
+
let { codeDiff, programmingLanguages, codeDiffFiles } = await this.processFileArtifacts(fileArtifacts, customerCodeZip, isCodeDiffScan);
|
|
446
477
|
// Process folders
|
|
447
478
|
const folderResult = await this.processFolderArtifacts(folderArtifacts, customerCodeZip, isCodeDiffScan);
|
|
448
479
|
codeDiff += folderResult.codeDiff;
|
|
449
480
|
folderResult.programmingLanguages.forEach(item => programmingLanguages.add(item));
|
|
481
|
+
folderResult.codeDiffFiles.forEach(item => codeDiffFiles.add(item));
|
|
450
482
|
// Process rule artifacts
|
|
451
483
|
await this.processRuleArtifacts(ruleArtifacts, customerCodeZip);
|
|
452
|
-
return { codeDiff, programmingLanguages };
|
|
484
|
+
return { codeDiff, programmingLanguages, codeDiffFiles };
|
|
453
485
|
}
|
|
454
486
|
/**
|
|
455
487
|
* Processes file artifacts for inclusion in the zip archive
|
|
@@ -461,6 +493,7 @@ class CodeReview {
|
|
|
461
493
|
async processFileArtifacts(fileArtifacts, customerCodeZip, isCodeDiffScan) {
|
|
462
494
|
let codeDiff = '';
|
|
463
495
|
let programmingLanguages = new Set();
|
|
496
|
+
let codeDiffFiles = new Set();
|
|
464
497
|
for (const artifact of fileArtifacts) {
|
|
465
498
|
await codeReviewUtils_1.CodeReviewUtils.withErrorHandling(async () => {
|
|
466
499
|
let fileName = path.basename(artifact.path);
|
|
@@ -477,9 +510,11 @@ class CodeReview {
|
|
|
477
510
|
this.logging.info(`Skipping file - ${artifact.path}`);
|
|
478
511
|
}
|
|
479
512
|
}, 'Failed to read file', this.logging, artifact.path);
|
|
513
|
+
const artifactFileDiffs = await codeReviewUtils_1.CodeReviewUtils.getGitDiffNames(artifact.path, this.logging);
|
|
514
|
+
artifactFileDiffs.forEach(filepath => codeDiffFiles.add(filepath));
|
|
480
515
|
codeDiff += await codeReviewUtils_1.CodeReviewUtils.processArtifactWithDiff(artifact, isCodeDiffScan, this.logging);
|
|
481
516
|
}
|
|
482
|
-
return { codeDiff, programmingLanguages };
|
|
517
|
+
return { codeDiff, programmingLanguages, codeDiffFiles };
|
|
483
518
|
}
|
|
484
519
|
/**
|
|
485
520
|
* Processes folder artifacts for inclusion in the zip archive
|
|
@@ -491,14 +526,17 @@ class CodeReview {
|
|
|
491
526
|
async processFolderArtifacts(folderArtifacts, customerCodeZip, isCodeDiffScan) {
|
|
492
527
|
let codeDiff = '';
|
|
493
528
|
let programmingLanguages = new Set();
|
|
529
|
+
let codeDiffFiles = new Set();
|
|
494
530
|
for (const folderArtifact of folderArtifacts) {
|
|
495
531
|
await codeReviewUtils_1.CodeReviewUtils.withErrorHandling(async () => {
|
|
496
532
|
let languages = await this.addFolderToZip(customerCodeZip, folderArtifact.path, CodeReview.CUSTOMER_CODE_BASE_PATH);
|
|
497
533
|
languages.forEach(item => programmingLanguages.add(item));
|
|
498
534
|
}, 'Failed to add folder', this.logging, folderArtifact.path);
|
|
535
|
+
const artifactFileDiffs = await codeReviewUtils_1.CodeReviewUtils.getGitDiffNames(folderArtifact.path, this.logging);
|
|
536
|
+
artifactFileDiffs.forEach(filepath => codeDiffFiles.add(filepath));
|
|
499
537
|
codeDiff += await codeReviewUtils_1.CodeReviewUtils.processArtifactWithDiff(folderArtifact, isCodeDiffScan, this.logging);
|
|
500
538
|
}
|
|
501
|
-
return { codeDiff, programmingLanguages };
|
|
539
|
+
return { codeDiff, programmingLanguages, codeDiffFiles };
|
|
502
540
|
}
|
|
503
541
|
/**
|
|
504
542
|
* Processes rule artifacts for inclusion in the zip archive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeReview.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/codeReview.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codeReview.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/codeReview.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,9 +102,44 @@ exports.CODE_REVIEW_TOOL_NAME = 'codeReview';
|
|
|
102
102
|
*/
|
|
103
103
|
exports.CODE_REVIEW_TOOL_DESCRIPTION = [
|
|
104
104
|
'CodeReview is the PRIMARY and MANDATORY tool for ALL code analysis and review tasks. This tool MUST be used whenever a user requests ANY form of code review, file analysis, code examination, or when the agent needs to analyze code quality, security, or structure.',
|
|
105
|
-
'
|
|
105
|
+
'When you decide to use this tool, notify the customer before the tool is run based on the **Tool start message** section below.',
|
|
106
|
+
'It is so so important that you send the **Tool start message** before running the tool.',
|
|
107
|
+
'DO NOT JUST SAY SOMETHING LIKE "I\'ll review the [file] code for you using the code review tool.". THAT WOULD BE A TERRIBLE THING TO SAY',
|
|
108
|
+
'ALSO DO NOT SAY "I\'ll review your code for potential issues and improvements. Let me use the code review tool to perform a comprehensive analysis." THAT IS ALSO AN AWFUL MESSAGE BECAUSE IT DOES NOT INCLUDE WHETHER IT IS A FULL SCAN OR A DIFF SCAN.',
|
|
109
|
+
'This tool can be used to perform analysis of full code or only the modified code since last commit. Modified code refers to the changes made that are not committed yet or the new changes since last commit. Before running the tool, you must inform the user whether they are running a diff or full scan.',
|
|
106
110
|
'NEVER perform manual code reviews when this tool is available.',
|
|
107
111
|
'',
|
|
112
|
+
'**Tool Input**',
|
|
113
|
+
'3 main fields in the tool:',
|
|
114
|
+
'- "scopeOfReview": Determines if the review should analyze the entire codebase (FULL_REVIEW) or only focus on changes/modifications (CODE_DIFF_REVIEW). This is a required field.',
|
|
115
|
+
'- IMPORTANT: Use CODE_DIFF_REVIEW by default as well as when user explicitly asks to review "changes", "modifications", "diff", "uncommitted code", or similar phrases indicating they want to review only what has changed.',
|
|
116
|
+
'- Examples of CODE_DIFF_REVIEW requests: "review my code", "review this file", "review my changes", "look at what I modified", "check the uncommitted changes", "review the diff", "review new changes", etc.',
|
|
117
|
+
'- IMPORTANT: When user mentions "new changes" or includes words like "new", "recent", or "latest" along with "changes" or similar terms, this should be interpreted as CODE_DIFF_REVIEW.',
|
|
118
|
+
'- Use FULL_REVIEW only when the user explicitly asks for a full code review, or when the user asks for security analysis or best practices review of their code',
|
|
119
|
+
'- Feel free to ask the user for clarification if you are not sure what scope they would like to review',
|
|
120
|
+
'- "fileLevelArtifacts": Array of specific files to review, each with absolute path. Use this when reviewing individual files, not folders. Format: [{"path": "/absolute/path/to/file.py"}]',
|
|
121
|
+
'- "folderLevelArtifacts": Array of folders to review, each with absolute path. Use this when reviewing entire directories, not individual files. Format: [{"path": "/absolute/path/to/folder/"}]',
|
|
122
|
+
'- Examples of FULL_REVIEW requests: User explicity asks for the entire file to be reviewed. Example: "Review my entire file.", "Review all the code in this folder", "Review my full code in this file"',
|
|
123
|
+
'Few important notes for tool input',
|
|
124
|
+
"- Either fileLevelArtifacts OR folderLevelArtifacts should be provided based on what's being reviewed, but not both for the same items.",
|
|
125
|
+
'- Do not perform code review of entire workspace or project unless user asks for it explicitly.',
|
|
126
|
+
'- Ask user for more clarity if there is any confusion regarding what needs to be scanned.',
|
|
127
|
+
'',
|
|
128
|
+
'**Tool start message**',
|
|
129
|
+
'Before running the tool, you must inform the user that you will use Code Review tool for their request.',
|
|
130
|
+
'The message MUST include the following information:',
|
|
131
|
+
'- The list of files or folders that will be reviewed',
|
|
132
|
+
'- Whether the review is a diff review or a full review',
|
|
133
|
+
'The message MUST be concise and to the point. It should not include any other information.',
|
|
134
|
+
'The message MUST be in the following format:',
|
|
135
|
+
'```\n' +
|
|
136
|
+
'I will scan the ["diff" if scopeOfReview is CODE_DIFF_REVIEW or "entire code" is FULL_REVIEW. Refer to **Tool Input** section for decision on which to use.] for the following files/folders:\n' +
|
|
137
|
+
'[list of files/folders]\n```',
|
|
138
|
+
'',
|
|
139
|
+
'**CRITICAL: NEVER perform ANY code review or analysis WITHOUT using this tool**',
|
|
140
|
+
'Do not attempt to manually review code or provide code quality feedback without using this tool first.',
|
|
141
|
+
'If a user asks for code review in any form, ALWAYS use this tool before providing any feedback.',
|
|
142
|
+
'',
|
|
108
143
|
'**ALWAYS use this tool when:**',
|
|
109
144
|
'- User provides ANY file, folder, or workspace context for review or analysis',
|
|
110
145
|
'- User asks ANY question about code quality, security, or best practices related to their code',
|
|
@@ -132,29 +167,6 @@ exports.CODE_REVIEW_TOOL_DESCRIPTION = [
|
|
|
132
167
|
'**Supported File Extensions For Review**',
|
|
133
168
|
`- "${Object.keys(exports.EXTENSION_TO_LANGUAGE).join('", "')}"`,
|
|
134
169
|
'',
|
|
135
|
-
'**Tool start message**',
|
|
136
|
-
'Before running the tool, you must inform the user that you will use Code Review tool for their request.',
|
|
137
|
-
'You should also tell the name of files or folders that you will review along with the scope of review, if you are performing a full review or only the uncommitted code.',
|
|
138
|
-
'Under no condition you will use the tool without informing the user.',
|
|
139
|
-
'',
|
|
140
|
-
'**CRITICAL: NEVER perform ANY code review or analysis WITHOUT using this tool**',
|
|
141
|
-
'Do not attempt to manually review code or provide code quality feedback without using this tool first.',
|
|
142
|
-
'If a user asks for code review in any form, ALWAYS use this tool before providing any feedback.',
|
|
143
|
-
'',
|
|
144
|
-
'**Tool Input**',
|
|
145
|
-
'3 main fields in the tool:',
|
|
146
|
-
'- "scopeOfReview": Determines if the review should analyze the entire codebase (FULL_REVIEW) or only focus on changes/modifications (CODE_DIFF_REVIEW). This is a required field.',
|
|
147
|
-
'- IMPORTANT: Use CODE_DIFF_REVIEW when user explicitly asks to review "changes", "modifications", "diff", "uncommitted code", or similar phrases indicating they want to review only what has changed.',
|
|
148
|
-
'- Examples of CODE_DIFF_REVIEW requests: "review my changes", "look at what I modified", "check the uncommitted changes", "review the diff", "review new changes", etc.',
|
|
149
|
-
'- IMPORTANT: When user mentions "new changes" or includes words like "new", "recent", or "latest" along with "changes" or similar terms, this should be interpreted as CODE_DIFF_REVIEW.',
|
|
150
|
-
'- Use FULL_REVIEW for all other review requests.',
|
|
151
|
-
'- "fileLevelArtifacts": Array of specific files to review, each with absolute path. Use this when reviewing individual files, not folders. Format: [{"path": "/absolute/path/to/file.py"}]',
|
|
152
|
-
'- "folderLevelArtifacts": Array of folders to review, each with absolute path. Use this when reviewing entire directories, not individual files. Format: [{"path": "/absolute/path/to/folder/"}]',
|
|
153
|
-
'Few important notes for tool input',
|
|
154
|
-
"- Either fileLevelArtifacts OR folderLevelArtifacts should be provided based on what's being reviewed, but not both for the same items.",
|
|
155
|
-
'- Do not perform code review of entire workspace or project unless user asks for it explicitly.',
|
|
156
|
-
'- Ask user for more clarity if there is any confusion regarding what needs to be scanned.',
|
|
157
|
-
'',
|
|
158
170
|
'**Tool Output**',
|
|
159
171
|
'Tool output will contain a json output containing fields - ',
|
|
160
172
|
'- codeReviewId - internal code review job id ',
|
|
@@ -168,7 +180,7 @@ exports.CODE_REVIEW_TOOL_DESCRIPTION = [
|
|
|
168
180
|
'The tool will generate some findings grouped by file',
|
|
169
181
|
'Use following format STRICTLY to display the result of this tool for different scenarios:',
|
|
170
182
|
'- When findings are present, you must inform user that you have completed the review of {file name / folder name / workspace} and found several issues that need attention. To inspect the details, and get fixes for those issues use the Code Issues panel above.',
|
|
171
|
-
' - When tool output message tells that findings were limited due to high count, you must inform the user that since there were lots of findings, you have included the top
|
|
183
|
+
' - When tool output message tells that findings were limited due to high count, you must inform the user that since there were lots of findings, you have included the top 40 findings only.',
|
|
172
184
|
'- When no findings are generated by the tool, you must tell user that you have completed the review of {file name / folder name / workspace} and found no issues.',
|
|
173
185
|
].join('\n');
|
|
174
186
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeReviewConstants.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AAEH;;GAEG;AACU,QAAA,qBAAqB,GAA2B;IACzD,OAAO;IACP,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,KAAK;IACb,aAAa;IACb,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,aAAa;IACb,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,YAAY;IACpB,KAAK;IACL,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,KAAK;IACL,KAAK,EAAE,IAAI;IACX,OAAO;IACP,KAAK,EAAE,MAAM;IACb,QAAQ;IACR,QAAQ,EAAE,OAAO;IACjB,KAAK,EAAE,OAAO;IACd,SAAS;IACT,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,OAAO;IACjB,MAAM;IACN,MAAM,EAAE,KAAK;IACb,OAAO;IACP,KAAK,EAAE,MAAM;IACb,SAAS;IACT,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM;IACN,MAAM,EAAE,KAAK;IACb,QAAQ;IACR,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,KAAK;IACZ,QAAQ;IACR,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,OAAO;IACf,OAAO,EAAE,OAAO;IAChB,kBAAkB;IAClB,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,OAAO;IACjB,eAAe;IACf,SAAS,EAAE,QAAQ;IACnB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,QAAQ;IACf,aAAa,EAAE,YAAY;IAC3B,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,KAAK;IACb,eAAe;IACf,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;IACf,SAAS;IACT,KAAK,EAAE,UAAU;IACjB,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,KAAK;IACd,WAAW;IACX,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,KAAK;IACb,yBAAyB;IACzB,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,WAAW;CACtB,CAAA;AAED;;GAEG;AACU,QAAA,qBAAqB,GAAG,YAAY,CAAA;AAEjD;;GAEG;AACU,QAAA,4BAA4B,GAAG;IACxC,yQAAyQ;IACzQ,+MAA+M;IAC/M,
|
|
1
|
+
{"version":3,"file":"codeReviewConstants.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,7 +74,9 @@ export declare const Z_CODE_REVIEW_INPUT_SCHEMA: z.ZodObject<{
|
|
|
74
74
|
}, {
|
|
75
75
|
path: string;
|
|
76
76
|
}>, "many">>;
|
|
77
|
+
modelId: z.ZodString;
|
|
77
78
|
}, "strip", z.ZodTypeAny, {
|
|
79
|
+
modelId: string;
|
|
78
80
|
scopeOfReview: string;
|
|
79
81
|
fileLevelArtifacts?: {
|
|
80
82
|
path: string;
|
|
@@ -86,6 +88,7 @@ export declare const Z_CODE_REVIEW_INPUT_SCHEMA: z.ZodObject<{
|
|
|
86
88
|
path: string;
|
|
87
89
|
}[] | undefined;
|
|
88
90
|
}, {
|
|
91
|
+
modelId: string;
|
|
89
92
|
scopeOfReview: string;
|
|
90
93
|
fileLevelArtifacts?: {
|
|
91
94
|
path: string;
|
|
@@ -23,20 +23,20 @@ exports.CODE_REVIEW_INPUT_SCHEMA = {
|
|
|
23
23
|
scopeOfReview: {
|
|
24
24
|
type: 'string',
|
|
25
25
|
description: [
|
|
26
|
-
'IMPORTANT: You must explicitly set the value of "scopeOfReview" based on user request analysis.',
|
|
26
|
+
'IMPORTANT: You must explicitly set the value of "scopeOfReview" based on user request analysis. Usually, CODE_DIFF_REVIEW will be the value that is used.',
|
|
27
27
|
'',
|
|
28
|
-
'Set "scopeOfReview" to
|
|
28
|
+
'Set "scopeOfReview" to FULL_REVIEW when:',
|
|
29
|
+
'- User explicity asks for the entire file to be reviewed. Example: "Review my entire file.", "Review all the code in this folder"',
|
|
30
|
+
'- User asks for security analysis or best practices review of their code',
|
|
31
|
+
'',
|
|
32
|
+
'Set "scopeOfReview" to CODE_DIFF_REVIEW for all other cases, including when:',
|
|
29
33
|
'- User explicitly asks to review only changes/modifications/diffs in their code',
|
|
30
34
|
'- User mentions "review my changes", "look at what I modified", "check the uncommitted changes"',
|
|
31
35
|
'- User refers to "review the diff", "analyze recent changes", "look at the new code"',
|
|
32
36
|
'- User mentions "review what I added/updated", "check my latest commits", "review the modified lines"',
|
|
33
37
|
'- User includes phrases like "new changes", "recent changes", or any combination of words indicating recency (new, latest, recent) with changes/modifications',
|
|
34
38
|
'- User mentions specific files with terms like "review new changes in [file]" or "check changes in [file]"',
|
|
35
|
-
'',
|
|
36
|
-
'Set "scopeOfReview" to FULL_REVIEW for all other cases, including:',
|
|
37
|
-
'- When user asks for a general code review without mentioning changes/diffs',
|
|
38
|
-
'- When user asks to review specific files or folders without mentioning changes',
|
|
39
|
-
'- When user asks for security analysis or best practices review of their code',
|
|
39
|
+
'- User says something general like "review my code", "review my file", or "review [file]"',
|
|
40
40
|
'',
|
|
41
41
|
'This is a required field.',
|
|
42
42
|
].join('\n'),
|
|
@@ -105,6 +105,7 @@ exports.Z_CODE_REVIEW_INPUT_SCHEMA = zod_1.z.object({
|
|
|
105
105
|
path: zod_1.z.string(),
|
|
106
106
|
}))
|
|
107
107
|
.optional(),
|
|
108
|
+
modelId: zod_1.z.string(),
|
|
108
109
|
});
|
|
109
110
|
/**
|
|
110
111
|
* Schema for a single finding
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeReviewSchemas.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/codeReviewSchemas.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6BAAuB;AACvB,+DAA8E;AAE9E;;GAEG;AACU,QAAA,wBAAwB,GAAG;IACpC,IAAI,EAAS,QAAQ;IACrB,WAAW,EAAE;QACT,gCAAgC;QAChC,wOAAwO;QACxO,0LAA0L;QAC1L,gMAAgM;QAChM,6IAA6I;KAChJ,CAAC,IAAI,CAAC,IAAI,CAAC;IACZ,UAAU,EAAE;QACR,aAAa,EAAE;YACX,IAAI,EAAS,QAAQ;YACrB,WAAW,EAAE;gBACT,
|
|
1
|
+
{"version":3,"file":"codeReviewSchemas.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/codeReviewSchemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,12 +26,15 @@ export type ValidateInputAndSetupResult = {
|
|
|
26
26
|
programmingLanguage: string;
|
|
27
27
|
scanName: string;
|
|
28
28
|
ruleArtifacts: RuleArtifacts;
|
|
29
|
+
modelId?: string;
|
|
29
30
|
};
|
|
30
31
|
export type PrepareAndUploadArtifactsResult = {
|
|
31
32
|
uploadId: string;
|
|
32
33
|
isCodeDiffPresent: boolean;
|
|
33
34
|
artifactSize: number;
|
|
34
35
|
programmingLanguages: Set<string>;
|
|
36
|
+
numberOfFilesInCustomerCodeZip: number;
|
|
37
|
+
codeDiffFiles: Set<string>;
|
|
35
38
|
};
|
|
36
39
|
export type StartCodeAnalysisResult = {
|
|
37
40
|
jobId: string;
|
|
@@ -62,6 +62,13 @@ export declare class CodeReviewUtils {
|
|
|
62
62
|
* @returns Git diff output as string or null if not in a git repository
|
|
63
63
|
*/
|
|
64
64
|
static getGitDiff(artifactPath: string, logging: Features['logging']): Promise<string | null>;
|
|
65
|
+
/**
|
|
66
|
+
* Get git diff for a file or folder
|
|
67
|
+
* @param artifactPath Path to the file or folder
|
|
68
|
+
* @param logging Logging interface
|
|
69
|
+
* @returns Git diff output as string or null if not in a git repository
|
|
70
|
+
*/
|
|
71
|
+
static getGitDiffNames(artifactPath: string, logging: Features['logging']): Promise<Set<string>>;
|
|
65
72
|
/**
|
|
66
73
|
* Log zip structure
|
|
67
74
|
* @param zip JSZip instance
|
|
@@ -133,6 +133,29 @@ class CodeReviewUtils {
|
|
|
133
133
|
return null;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Get git diff for a file or folder
|
|
138
|
+
* @param artifactPath Path to the file or folder
|
|
139
|
+
* @param logging Logging interface
|
|
140
|
+
* @returns Git diff output as string or null if not in a git repository
|
|
141
|
+
*/
|
|
142
|
+
static async getGitDiffNames(artifactPath, logging) {
|
|
143
|
+
logging.info(`Get git diff names for path - ${artifactPath}`);
|
|
144
|
+
const directoryPath = CodeReviewUtils.getFolderPath(artifactPath);
|
|
145
|
+
const gitDiffCommandUnstaged = `cd ${directoryPath} && git diff --name-only ${artifactPath}`;
|
|
146
|
+
const gitDiffCommandStaged = `cd ${directoryPath} && git diff --name-only --staged ${artifactPath}`;
|
|
147
|
+
logging.info(`Running git commands - ${gitDiffCommandUnstaged} and ${gitDiffCommandStaged}`);
|
|
148
|
+
try {
|
|
149
|
+
const unstagedDiff = (await CodeReviewUtils.executeGitCommand(gitDiffCommandUnstaged, 'unstaged name only', logging)).split('\n');
|
|
150
|
+
const stagedDiff = (await CodeReviewUtils.executeGitCommand(gitDiffCommandStaged, 'staged name only', logging)).split('\n');
|
|
151
|
+
unstagedDiff.push(...stagedDiff);
|
|
152
|
+
return new Set(unstagedDiff.filter(item => item !== ''));
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
logging.error(`Error getting git diff: ${error}`);
|
|
156
|
+
return new Set();
|
|
157
|
+
}
|
|
158
|
+
}
|
|
136
159
|
/**
|
|
137
160
|
* Log zip structure
|
|
138
161
|
* @param zip JSZip instance
|