@aws/lsp-codewhisperer 0.0.64 → 0.0.66

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.
Files changed (109) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/out/client/token/bearer-token-service.json +1 -1
  3. package/out/language-server/agenticChat/agenticChatController.d.ts +13 -0
  4. package/out/language-server/agenticChat/agenticChatController.js +547 -125
  5. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  6. package/out/language-server/agenticChat/constants/constants.d.ts +12 -0
  7. package/out/language-server/agenticChat/constants/constants.js +73 -1
  8. package/out/language-server/agenticChat/constants/constants.js.map +1 -1
  9. package/out/language-server/agenticChat/constants/toolConstants.d.ts +24 -0
  10. package/out/language-server/agenticChat/constants/toolConstants.js +35 -0
  11. package/out/language-server/agenticChat/constants/toolConstants.js.map +1 -0
  12. package/out/language-server/agenticChat/context/additionalContextProvider.d.ts +1 -1
  13. package/out/language-server/agenticChat/context/additionalContextProvider.js +44 -4
  14. package/out/language-server/agenticChat/context/additionalContextProvider.js.map +1 -1
  15. package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +11 -2
  16. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +32 -2
  17. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
  18. package/out/language-server/agenticChat/context/contextCommandsProvider.js +1 -1
  19. package/out/language-server/agenticChat/context/contextCommandsProvider.js.map +1 -1
  20. package/out/language-server/agenticChat/context/contextUtils.d.ts +16 -0
  21. package/out/language-server/agenticChat/context/contextUtils.js +29 -0
  22. package/out/language-server/agenticChat/context/contextUtils.js.map +1 -1
  23. package/out/language-server/agenticChat/qAgenticChatServer.js +6 -2
  24. package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
  25. package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +11 -3
  26. package/out/language-server/agenticChat/tools/chatDb/chatDb.js +103 -31
  27. package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
  28. package/out/language-server/agenticChat/tools/chatDb/util.d.ts +4 -0
  29. package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
  30. package/out/language-server/agenticChat/tools/executeBash.d.ts +15 -5
  31. package/out/language-server/agenticChat/tools/executeBash.js +97 -22
  32. package/out/language-server/agenticChat/tools/executeBash.js.map +1 -1
  33. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +1 -1
  34. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  35. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReview.d.ts +211 -0
  36. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReview.js +630 -0
  37. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReview.js.map +1 -0
  38. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewConstants.d.ts +34 -0
  39. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewConstants.js +200 -0
  40. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewConstants.js.map +1 -0
  41. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewErrors.d.ts +12 -0
  42. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewErrors.js +32 -0
  43. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewErrors.js.map +1 -0
  44. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewSchemas.d.ts +289 -0
  45. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewSchemas.js +140 -0
  46. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewSchemas.js.map +1 -0
  47. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewTypes.d.ts +58 -0
  48. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewTypes.js +3 -0
  49. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewTypes.js.map +1 -0
  50. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewUtils.d.ts +156 -0
  51. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewUtils.js +363 -0
  52. package/out/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewUtils.js.map +1 -0
  53. package/out/language-server/agenticChat/tools/toolServer.d.ts +1 -0
  54. package/out/language-server/agenticChat/tools/toolServer.js +90 -39
  55. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  56. package/out/language-server/chat/chatSessionService.d.ts +1 -0
  57. package/out/language-server/chat/chatSessionService.js +5 -2
  58. package/out/language-server/chat/chatSessionService.js.map +1 -1
  59. package/out/language-server/chat/quickActions.d.ts +7 -1
  60. package/out/language-server/chat/quickActions.js +7 -1
  61. package/out/language-server/chat/quickActions.js.map +1 -1
  62. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +4 -3
  63. package/out/language-server/chat/telemetry/chatTelemetryController.js +22 -3
  64. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  65. package/out/language-server/configuration/qConfigurationServer.d.ts +1 -0
  66. package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
  67. package/out/language-server/inline-completion/auto-trigger/autoTrigger.d.ts +2 -0
  68. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +69 -1
  69. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
  70. package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.js +6 -1
  71. package/out/language-server/inline-completion/auto-trigger/editPredictionAutoTrigger.js.map +1 -1
  72. package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.d.ts +1 -0
  73. package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.js +1 -0
  74. package/out/language-server/inline-completion/auto-trigger/editPredictionConfig.js.map +1 -1
  75. package/out/language-server/inline-completion/codeWhispererServer.js +72 -43
  76. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  77. package/out/language-server/workspaceContext/artifactManager.d.ts +4 -1
  78. package/out/language-server/workspaceContext/artifactManager.js +16 -1
  79. package/out/language-server/workspaceContext/artifactManager.js.map +1 -1
  80. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.d.ts +2 -1
  81. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js +9 -6
  82. package/out/language-server/workspaceContext/dependency/dependencyDiscoverer.js.map +1 -1
  83. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.d.ts +7 -2
  84. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js +20 -7
  85. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandler.js.map +1 -1
  86. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.d.ts +2 -2
  87. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.js +4 -4
  88. package/out/language-server/workspaceContext/dependency/dependencyHandler/LanguageDependencyHandlerFactory.js.map +1 -1
  89. package/out/language-server/workspaceContext/fileUploadJobManager.js +3 -1
  90. package/out/language-server/workspaceContext/fileUploadJobManager.js.map +1 -1
  91. package/out/language-server/workspaceContext/workspaceContextServer.js +32 -19
  92. package/out/language-server/workspaceContext/workspaceContextServer.js.map +1 -1
  93. package/out/language-server/workspaceContext/workspaceFolderManager.d.ts +5 -3
  94. package/out/language-server/workspaceContext/workspaceFolderManager.js +80 -59
  95. package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
  96. package/out/shared/activeUserTracker.d.ts +52 -0
  97. package/out/shared/activeUserTracker.js +164 -0
  98. package/out/shared/activeUserTracker.js.map +1 -0
  99. package/out/shared/amazonQServiceManager/configurationUtils.js +6 -0
  100. package/out/shared/amazonQServiceManager/configurationUtils.js.map +1 -1
  101. package/out/shared/codeWhispererService.js +3 -1
  102. package/out/shared/codeWhispererService.js.map +1 -1
  103. package/out/shared/telemetry/telemetryService.d.ts +2 -0
  104. package/out/shared/telemetry/telemetryService.js +2 -0
  105. package/out/shared/telemetry/telemetryService.js.map +1 -1
  106. package/out/shared/telemetry/types.d.ts +9 -1
  107. package/out/shared/telemetry/types.js +1 -0
  108. package/out/shared/telemetry/types.js.map +1 -1
  109. package/package.json +8 -6
@@ -0,0 +1,363 @@
1
+ "use strict";
2
+ /*!
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.QCodeReviewUtils = void 0;
8
+ const qCodeReviewConstants_1 = require("./qCodeReviewConstants");
9
+ const child_process_1 = require("child_process");
10
+ const path = require("path");
11
+ const fs = require("fs");
12
+ const os = require("os");
13
+ const https = require("https");
14
+ const lsp_core_1 = require("@aws/lsp-core");
15
+ /**
16
+ * Utility functions for QCodeReview
17
+ */
18
+ class QCodeReviewUtils {
19
+ /**
20
+ * Check if a file should be skipped during zip creation
21
+ * @param fileName Name of the file to check
22
+ * @returns True if the file should be skipped, false otherwise
23
+ */
24
+ static shouldSkipFile(fileName) {
25
+ const extension = path.extname(fileName).toLowerCase();
26
+ if (!extension || extension.trim() === '') {
27
+ return true;
28
+ }
29
+ else {
30
+ return !qCodeReviewConstants_1.EXTENSION_TO_LANGUAGE.hasOwnProperty(extension);
31
+ }
32
+ }
33
+ /**
34
+ * Check if a directory should be skipped during zip creation
35
+ * @param dirName Name of the directory to check
36
+ * @returns True if the directory should be skipped, false otherwise
37
+ */
38
+ static shouldSkipDirectory(dirName) {
39
+ return qCodeReviewConstants_1.SKIP_DIRECTORIES.includes(dirName);
40
+ }
41
+ /**
42
+ * Get the folder path from a file or folder path
43
+ * @param inputPath Path to a file or folder
44
+ * @returns The folder path
45
+ */
46
+ static getFolderPath(inputPath) {
47
+ // Remove trailing slash and get dirname
48
+ const cleanPath = inputPath.replace(/\/$/, '');
49
+ // If it's a file (has extension), get its directory
50
+ // If it's a directory (no extension), return it as-is
51
+ return path.extname(cleanPath) ? path.dirname(cleanPath) : cleanPath;
52
+ }
53
+ /**
54
+ * Log a summary of the zip archive contents
55
+ * @param zip JSZip instance to analyze
56
+ * @param logging Logging interface
57
+ */
58
+ static logZipSummary(zip, logging) {
59
+ try {
60
+ const files = Object.keys(zip.files);
61
+ const fileCount = files.filter(f => !zip.files[f].dir).length;
62
+ const folderCount = files.filter(f => zip.files[f].dir).length;
63
+ logging.info(`Zip summary: ${fileCount} files, ${folderCount} folders`);
64
+ // Log the top-level structure
65
+ const topLevel = files
66
+ .filter(path => !path.includes('/') || path.split('/').length === 2)
67
+ .map(path => ` - ${path}${zip.files[path].dir ? '/' : ''}`)
68
+ .join('\n');
69
+ logging.info(`Zip structure:\n${topLevel}`);
70
+ }
71
+ catch (error) {
72
+ logging.warn(`Failed to generate zip summary: ${error}`);
73
+ }
74
+ }
75
+ /**
76
+ * Generate a unique client token for the request
77
+ * @returns A unique string token
78
+ */
79
+ static generateClientToken() {
80
+ return `code-scan-${Date.now()}-${Math.random().toString(36).substring(2, 15)}`;
81
+ }
82
+ /**
83
+ * Execute git command and return output
84
+ * @param command Git command to execute
85
+ * @param type Type of command for logging
86
+ * @param logging Logging interface
87
+ * @returns Promise resolving to command output
88
+ */
89
+ static async executeGitCommand(command, type, logging) {
90
+ return new Promise(resolve => {
91
+ (0, child_process_1.exec)(command, (error, stdout, stderr) => {
92
+ if (error) {
93
+ logging.warn(`Git diff failed for ${type}: ${stderr || error.message}`);
94
+ resolve('');
95
+ }
96
+ else {
97
+ resolve(stdout.trim());
98
+ }
99
+ });
100
+ });
101
+ }
102
+ /**
103
+ * Get git diff for a file or folder
104
+ * @param artifactPath Path to the file or folder
105
+ * @param logging Logging interface
106
+ * @returns Git diff output as string or null if not in a git repository
107
+ */
108
+ static async getGitDiff(artifactPath, logging) {
109
+ logging.info(`Get git diff for path - ${artifactPath}`);
110
+ const directoryPath = QCodeReviewUtils.getFolderPath(artifactPath);
111
+ const gitDiffCommandUnstaged = `cd ${directoryPath} && git diff ${artifactPath}`;
112
+ const gitDiffCommandStaged = `cd ${directoryPath} && git diff --staged ${artifactPath}`;
113
+ logging.info(`Running git commands - ${gitDiffCommandUnstaged} and ${gitDiffCommandStaged}`);
114
+ try {
115
+ const [unstagedDiff, stagedDiff] = await Promise.all([
116
+ QCodeReviewUtils.executeGitCommand(gitDiffCommandUnstaged, 'unstaged', logging),
117
+ QCodeReviewUtils.executeGitCommand(gitDiffCommandStaged, 'staged', logging),
118
+ ]);
119
+ const combinedDiff = [unstagedDiff, stagedDiff].filter(Boolean).join('\n\n');
120
+ return combinedDiff || null;
121
+ }
122
+ catch (error) {
123
+ logging.error(`Error getting git diff: ${error}`);
124
+ return null;
125
+ }
126
+ }
127
+ /**
128
+ * Log zip structure
129
+ * @param zip JSZip instance
130
+ * @param zipName Name of the zip for logging
131
+ * @param logging Logging interface
132
+ */
133
+ static logZipStructure(zip, zipName, logging) {
134
+ logging.info(`${zipName} zip structure:`);
135
+ Object.keys(zip.files).forEach(filePath => {
136
+ let item = zip.files[filePath];
137
+ if (!item.dir) {
138
+ logging.info(` ${filePath}`);
139
+ }
140
+ });
141
+ }
142
+ /**
143
+ * Count number of files in zip
144
+ * @param zip JSZip instance
145
+ * @returns number of files in zip
146
+ */
147
+ static countZipFiles(zip) {
148
+ let count = 0;
149
+ Object.keys(zip.files).forEach(filePath => {
150
+ let item = zip.files[filePath];
151
+ if (!item.dir) {
152
+ count += 1;
153
+ }
154
+ });
155
+ return count;
156
+ }
157
+ /**
158
+ * Generate zip buffer with compression
159
+ * @param zip JSZip instance
160
+ * @returns Promise resolving to compressed buffer
161
+ */
162
+ static async generateZipBuffer(zip) {
163
+ return await zip.generateAsync({
164
+ type: 'nodebuffer',
165
+ compression: 'DEFLATE',
166
+ compressionOptions: { level: 9 },
167
+ });
168
+ }
169
+ /**
170
+ * Save zip buffer to Downloads folder
171
+ * @param zipBuffer Buffer to save
172
+ * @param logging Logging interface
173
+ */
174
+ static saveZipToDownloads(zipBuffer, logging) {
175
+ try {
176
+ const downloadsPath = path.join(os.homedir(), 'Downloads');
177
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
178
+ const zipFilePath = path.join(downloadsPath, `codeArtifact-${timestamp}.zip`);
179
+ fs.writeFileSync(zipFilePath, zipBuffer);
180
+ logging.info(`Saved code artifact zip to: ${zipFilePath}`);
181
+ }
182
+ catch (saveError) {
183
+ logging.error(`Failed to save zip file to Downloads folder: ${saveError}`);
184
+ }
185
+ }
186
+ /**
187
+ * Process artifact with git diff
188
+ * @param artifact Artifact with path
189
+ * @param isCodeDiffScan Whether to scan for code diff
190
+ * @param logging Logging interface
191
+ * @returns Promise resolving to diff string
192
+ */
193
+ static async processArtifactWithDiff(artifact, isCodeDiffScan, logging) {
194
+ if (!isCodeDiffScan)
195
+ return '';
196
+ try {
197
+ const diff = await QCodeReviewUtils.getGitDiff(artifact.path, logging);
198
+ return diff ? `${diff}\n` : '';
199
+ }
200
+ catch (diffError) {
201
+ logging.warn(`Failed to get git diff for ${artifact.path}: ${diffError}`);
202
+ return '';
203
+ }
204
+ }
205
+ /**
206
+ * Error handling wrapper
207
+ * @param operation Operation to execute
208
+ * @param errorMessage Error message prefix
209
+ * @param logging Logging interface
210
+ * @param path Optional path for error context
211
+ * @returns Promise resolving to operation result
212
+ */
213
+ static async withErrorHandling(operation, errorMessage, logging, path) {
214
+ try {
215
+ return await operation();
216
+ }
217
+ catch (error) {
218
+ const fullMessage = path ? `${errorMessage} ${path}: ${error}` : `${errorMessage}: ${error}`;
219
+ logging.error(fullMessage);
220
+ throw new Error(fullMessage);
221
+ }
222
+ }
223
+ /**
224
+ * Check if agentic review capability is enabled in client capabilities
225
+ * @param params Initialize parameters from client
226
+ * @returns True if agentic reviewer is enabled, false otherwise
227
+ */
228
+ static isAgenticReviewEnabled(params) {
229
+ const qCapabilities = params?.initializationOptions?.aws?.awsClientCapabilities?.q;
230
+ return qCapabilities?.qCodeReviewInChat || false;
231
+ }
232
+ /**
233
+ * Converts a Windows absolute file path to Unix format and removes the drive letter
234
+ * @param windowsPath The Windows path to convert
235
+ * @returns The Unix formatted path without drive letter
236
+ */
237
+ static convertToUnixPath(windowsPath) {
238
+ // Remove drive letter (e.g., C:/) if present
239
+ // Normalize the path and convert backslashes to forward slashes
240
+ return path
241
+ .normalize(windowsPath)
242
+ .replace(/^[a-zA-Z]:\/?/, '')
243
+ .replace(/\\/g, '/');
244
+ }
245
+ /**
246
+ * Create a standardized error output object
247
+ * @param errorObj Error object or message
248
+ * @returns Formatted InvokeOutput with error details
249
+ */
250
+ static createErrorOutput(errorObj) {
251
+ return {
252
+ output: {
253
+ kind: 'json',
254
+ content: errorObj,
255
+ success: false,
256
+ },
257
+ };
258
+ }
259
+ /**
260
+ * Upload file content to the pre-signed URL
261
+ * @param uploadUrl Pre-signed URL for uploading the file
262
+ * @param fileContent Buffer containing the file content
263
+ * @param requestHeaders Additional headers for the request
264
+ * @param logging Logging interface
265
+ */
266
+ static uploadFileToPresignedUrl(uploadUrl, fileContent, requestHeaders, logging) {
267
+ return new Promise((resolve, reject) => {
268
+ const url = new URL(uploadUrl);
269
+ const options = {
270
+ hostname: url.hostname,
271
+ path: url.pathname + url.search,
272
+ method: 'PUT',
273
+ headers: {
274
+ 'Content-Length': fileContent.length,
275
+ ...requestHeaders,
276
+ },
277
+ };
278
+ logging.info(`Uploading file to ${url.hostname}${url.pathname}`);
279
+ const req = https.request(options, (res) => {
280
+ if (res.statusCode !== 200) {
281
+ reject(new Error(`Upload failed with status code: ${res.statusCode}`));
282
+ return;
283
+ }
284
+ let responseData = '';
285
+ res.on('data', (chunk) => {
286
+ responseData += chunk;
287
+ });
288
+ res.on('end', () => {
289
+ logging.info('File upload completed successfully');
290
+ resolve();
291
+ });
292
+ });
293
+ req.on('error', (error) => {
294
+ logging.error(`Error uploading file: ${error}`);
295
+ reject(error);
296
+ });
297
+ req.write(fileContent);
298
+ req.end();
299
+ });
300
+ }
301
+ /**
302
+ * Handle failure in a consistent way
303
+ * @param error Error object
304
+ * @param scanName Optional scan name for context
305
+ * @param jobId Optional job ID for context
306
+ * @param logging Logging interface
307
+ * @param telemetry Telemetry interface
308
+ * @param toolName Tool name for error messages
309
+ * @returns Standardized error response
310
+ */
311
+ static handleFailure(error, logging, telemetry, toolName, scanName, jobId) {
312
+ // if error is of type CancellationError then throw
313
+ if (error instanceof lsp_core_1.CancellationError) {
314
+ throw error;
315
+ }
316
+ const errorData = { errorMessage: error?.message };
317
+ if (scanName)
318
+ errorData.codeScanName = scanName;
319
+ if (jobId)
320
+ errorData.codeReviewId = jobId;
321
+ QCodeReviewUtils.emitMetric('failed', { data: errorData }, toolName, logging, telemetry);
322
+ logging.error(`Error in ${toolName} - ${error?.message}`);
323
+ return {
324
+ status: 'Failed',
325
+ ...errorData,
326
+ };
327
+ }
328
+ /**
329
+ * Emit a telemetry metric with standard formatting
330
+ * @param metricSuffix Suffix for the metric name
331
+ * @param metricData Additional metric data
332
+ * @param toolName Tool name for the metric prefix
333
+ * @param logging Logging interface
334
+ * @param telemetry Telemetry interface
335
+ * @param credentialStartUrl Optional credential start URL
336
+ */
337
+ static emitMetric(metricSuffix, metricData, toolName, logging, telemetry, credentialStartUrl) {
338
+ const metricName = `${toolName}_${metricSuffix}`;
339
+ const metricPayload = {
340
+ name: metricName,
341
+ data: {
342
+ ...(credentialStartUrl ? { credentialStartUrl } : {}),
343
+ ...metricData,
344
+ },
345
+ };
346
+ logging.info(`Emitting telemetry metric: ${metricName} with data: ${JSON.stringify(metricPayload.data)}`);
347
+ telemetry.emitMetric(metricPayload);
348
+ }
349
+ /**
350
+ * Check if cancellation has been requested and throw if it has
351
+ * @param cancellationToken Cancellation token to check
352
+ * @param message Optional message for the error
353
+ * @param logging Logging interface
354
+ */
355
+ static checkCancellation(cancellationToken, logging, message = 'Command execution cancelled') {
356
+ if (cancellationToken?.isCancellationRequested) {
357
+ logging.info(message);
358
+ throw new lsp_core_1.CancellationError('user');
359
+ }
360
+ }
361
+ }
362
+ exports.QCodeReviewUtils = QCodeReviewUtils;
363
+ //# sourceMappingURL=qCodeReviewUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qCodeReviewUtils.js","sourceRoot":"","sources":["../../../../../src/language-server/agenticChat/tools/qCodeAnalysis/qCodeReviewUtils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Server } from '@aws/language-server-runtimes/server-interface';
2
2
  export declare const FsToolsServer: Server;
3
+ export declare const QCodeAnalysisServer: Server;
3
4
  export declare const BashToolsServer: Server;
4
5
  export declare const LspToolsServer: Server;
5
6
  export declare const McpToolsServer: Server;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.McpToolsServer = exports.LspToolsServer = exports.BashToolsServer = exports.FsToolsServer = void 0;
3
+ exports.McpToolsServer = exports.LspToolsServer = exports.BashToolsServer = exports.QCodeAnalysisServer = exports.FsToolsServer = void 0;
4
4
  const server_interface_1 = require("@aws/language-server-runtimes/server-interface");
5
5
  const fsRead_1 = require("./fsRead");
6
6
  const fsWrite_1 = require("./fsWrite");
@@ -13,8 +13,12 @@ const mcpManager_1 = require("./mcp/mcpManager");
13
13
  const mcpTool_1 = require("./mcp/mcpTool");
14
14
  const fileSearch_1 = require("./fileSearch");
15
15
  const grepSearch_1 = require("./grepSearch");
16
+ const qCodeReview_1 = require("./qCodeAnalysis/qCodeReview");
17
+ const codeWhispererService_1 = require("../../../shared/codeWhispererService");
16
18
  const mcpUtils_1 = require("./mcp/mcpUtils");
17
19
  const fsReplace_1 = require("./fsReplace");
20
+ const qCodeReviewUtils_1 = require("./qCodeAnalysis/qCodeReviewUtils");
21
+ const constants_1 = require("../../../shared/constants");
18
22
  const FsToolsServer = ({ workspace, logging, agent, lsp }) => {
19
23
  const fsReadTool = new fsRead_1.FsRead({ workspace, lsp, logging });
20
24
  const fsWriteTool = new fsWrite_1.FsWrite({ workspace, lsp, logging });
@@ -50,6 +54,42 @@ const FsToolsServer = ({ workspace, logging, agent, lsp }) => {
50
54
  return () => { };
51
55
  };
52
56
  exports.FsToolsServer = FsToolsServer;
57
+ const QCodeAnalysisServer = ({ agent, credentialsProvider, logging, lsp, sdkInitializator, telemetry, workspace, }) => {
58
+ logging.info('QCodeAnalysisServer');
59
+ const qCodeReviewTool = new qCodeReview_1.QCodeReview({
60
+ credentialsProvider,
61
+ logging,
62
+ telemetry,
63
+ workspace,
64
+ });
65
+ lsp.onInitialized(async () => {
66
+ if (!qCodeReviewUtils_1.QCodeReviewUtils.isAgenticReviewEnabled(lsp.getClientInitializeParams())) {
67
+ logging.warn('Agentic Review is currently not supported');
68
+ return;
69
+ }
70
+ logging.info('LSP on initialize for QCodeAnalysisServer');
71
+ // Get credentials provider from the LSP context
72
+ if (!credentialsProvider.hasCredentials) {
73
+ logging.error('Credentials provider not available');
74
+ return;
75
+ }
76
+ // Create the CodeWhisperer client
77
+ const codeWhispererClient = new codeWhispererService_1.CodeWhispererServiceToken(credentialsProvider, workspace, logging, process.env.CODEWHISPERER_REGION || constants_1.DEFAULT_AWS_Q_REGION, process.env.CODEWHISPERER_ENDPOINT || constants_1.DEFAULT_AWS_Q_ENDPOINT_URL, sdkInitializator);
78
+ agent.addTool({
79
+ name: qCodeReview_1.QCodeReview.toolName,
80
+ description: qCodeReview_1.QCodeReview.toolDescription,
81
+ inputSchema: qCodeReview_1.QCodeReview.inputSchema,
82
+ }, async (input, token, updates) => {
83
+ return await qCodeReviewTool.execute(input, {
84
+ codeWhispererClient: codeWhispererClient,
85
+ cancellationToken: token,
86
+ writableStream: updates,
87
+ });
88
+ }, server_interface_1.ToolClassification.BuiltIn);
89
+ });
90
+ return () => { };
91
+ };
92
+ exports.QCodeAnalysisServer = QCodeAnalysisServer;
53
93
  const BashToolsServer = ({ logging, workspace, agent, lsp }) => {
54
94
  const bashTool = new executeBash_1.ExecuteBash({ logging, workspace, lsp });
55
95
  agent.addTool(bashTool.getSpec(), async (input, token, updates) => {
@@ -97,49 +137,60 @@ const McpToolsServer = ({ credentialsProvider, workspace, logging, lsp, agent, t
97
137
  },
98
138
  },
99
139
  };
100
- agent.addTool({
101
- name: namespaced,
102
- description: (def.description?.trim() || 'undefined').substring(0, 10240),
103
- inputSchema: inputSchemaWithExplanation,
104
- }, input => tool.invoke(input), server_interface_1.ToolClassification.MCP);
105
- registered[server].push(namespaced);
106
- logging.info(`MCP: registered tool ${namespaced} (original: ${def.toolName})`);
140
+ const loggedToolName = `${namespaced} (original: ${def.toolName})`;
141
+ try {
142
+ agent.addTool({
143
+ name: namespaced,
144
+ description: (def.description?.trim() || 'undefined').substring(0, 10240),
145
+ inputSchema: inputSchemaWithExplanation,
146
+ }, input => tool.invoke(input), server_interface_1.ToolClassification.MCP);
147
+ registered[server].push(namespaced);
148
+ logging.info(`MCP: registered tool ${loggedToolName}`);
149
+ }
150
+ catch (e) {
151
+ console.warn(`Failed to register tool ${loggedToolName}:`, e);
152
+ }
107
153
  }
108
154
  }
109
155
  lsp.onInitialized(async () => {
110
- if (!(0, mcpUtils_1.enabledMCP)(lsp.getClientInitializeParams())) {
111
- logging.warn('MCP is currently not supported');
112
- return;
113
- }
114
- const wsUris = workspace.getAllWorkspaceFolders()?.map(f => f.uri) ?? [];
115
- const wsConfigPaths = (0, mcpUtils_1.getWorkspaceMcpConfigPaths)(wsUris);
116
- const globalConfigPath = (0, mcpUtils_1.getGlobalMcpConfigPath)(workspace.fs.getUserHomeDir());
117
- const allConfigPaths = [...wsConfigPaths, globalConfigPath];
118
- const wsPersonaPaths = (0, mcpUtils_1.getWorkspacePersonaConfigPaths)(wsUris);
119
- const globalPersonaPath = (0, mcpUtils_1.getGlobalPersonaConfigPath)(workspace.fs.getUserHomeDir());
120
- const allPersonaPaths = [...wsPersonaPaths, globalPersonaPath];
121
- const mgr = await mcpManager_1.McpManager.init(allConfigPaths, allPersonaPaths, {
122
- logging,
123
- workspace,
124
- lsp,
125
- telemetry,
126
- credentialsProvider,
127
- runtime,
128
- });
129
- // Clear tool name mapping before registering all tools to avoid conflicts from previous registrations
130
- mcpManager_1.McpManager.instance.clearToolNameMapping();
131
- const byServer = {};
132
- // only register enabled tools
133
- for (const d of mgr.getEnabledTools()) {
134
- ;
135
- (byServer[d.serverName] ||= []).push(d);
156
+ try {
157
+ if (!(0, mcpUtils_1.enabledMCP)(lsp.getClientInitializeParams())) {
158
+ logging.warn('MCP is currently not supported');
159
+ return;
160
+ }
161
+ const wsUris = workspace.getAllWorkspaceFolders()?.map(f => f.uri) ?? [];
162
+ const wsConfigPaths = (0, mcpUtils_1.getWorkspaceMcpConfigPaths)(wsUris);
163
+ const globalConfigPath = (0, mcpUtils_1.getGlobalMcpConfigPath)(workspace.fs.getUserHomeDir());
164
+ const allConfigPaths = [...wsConfigPaths, globalConfigPath];
165
+ const wsPersonaPaths = (0, mcpUtils_1.getWorkspacePersonaConfigPaths)(wsUris);
166
+ const globalPersonaPath = (0, mcpUtils_1.getGlobalPersonaConfigPath)(workspace.fs.getUserHomeDir());
167
+ const allPersonaPaths = [...wsPersonaPaths, globalPersonaPath];
168
+ const mgr = await mcpManager_1.McpManager.init(allConfigPaths, allPersonaPaths, {
169
+ logging,
170
+ workspace,
171
+ lsp,
172
+ telemetry,
173
+ credentialsProvider,
174
+ runtime,
175
+ });
176
+ // Clear tool name mapping before registering all tools to avoid conflicts from previous registrations
177
+ mcpManager_1.McpManager.instance.clearToolNameMapping();
178
+ const byServer = {};
179
+ // only register enabled tools
180
+ for (const d of mgr.getEnabledTools()) {
181
+ ;
182
+ (byServer[d.serverName] ||= []).push(d);
183
+ }
184
+ for (const [server, defs] of Object.entries(byServer)) {
185
+ registerServerTools(server, defs);
186
+ }
187
+ mgr.events.on(mcpManager_1.AGENT_TOOLS_CHANGED, (server, defs) => {
188
+ registerServerTools(server, defs);
189
+ });
136
190
  }
137
- for (const [server, defs] of Object.entries(byServer)) {
138
- registerServerTools(server, defs);
191
+ catch (e) {
192
+ console.warn('Caught error during MCP tool initialization; initialization may be incomplete:', e);
139
193
  }
140
- mgr.events.on(mcpManager_1.AGENT_TOOLS_CHANGED, (server, defs) => {
141
- registerServerTools(server, defs);
142
- });
143
194
  });
144
195
  return async () => {
145
196
  await mcpManager_1.McpManager.instance.close();
@@ -1 +1 @@
1
- {"version":3,"file":"toolServer.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/toolServer.ts"],"names":[],"mappings":";;;AAAA,qFAA8G;AAC9G,qCAA+C;AAC/C,uCAAkD;AAClD,mDAAoE;AACpE,+CAA8D;AAC9D,uDAA0E;AAC1E,uEAAkG;AAClG,mEAA+D;AAC/D,iDAAkE;AAClE,2CAAuC;AACvC,6CAA2D;AAC3D,6CAAyC;AAEzC,6CAQuB;AACvB,2CAAwD;AAEjD,MAAM,aAAa,GAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IACxE,MAAM,UAAU,GAAG,IAAI,eAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,IAAI,iBAAO,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5D,MAAM,iBAAiB,GAAG,IAAI,6BAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;IACxE,MAAM,cAAc,GAAG,IAAI,uBAAU,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,IAAI,uBAAU,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;IAClE,MAAM,aAAa,GAAG,IAAI,qBAAS,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAEhE,KAAK,CAAC,OAAO,CACT,UAAU,CAAC,OAAO,EAAE,EACpB,KAAK,EAAE,KAAmB,EAAE,EAAE;QAC1B,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAChC,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC,EACD,qCAAkB,CAAC,OAAO,CAC7B,CAAA;IAED,KAAK,CAAC,OAAO,CACT,WAAW,CAAC,OAAO,EAAE,EACrB,KAAK,EAAE,KAAoB,EAAE,EAAE;QAC3B,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACjC,OAAO,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1C,CAAC,EACD,qCAAkB,CAAC,eAAe,CACrC,CAAA;IAED,KAAK,CAAC,OAAO,CACT,aAAa,CAAC,OAAO,EAAE,EACvB,KAAK,EAAE,KAAsB,EAAE,EAAE;QAC7B,MAAM,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnC,OAAO,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC,EACD,qCAAkB,CAAC,eAAe,CACrC,CAAA;IAED,KAAK,CAAC,OAAO,CACT,iBAAiB,CAAC,OAAO,EAAE,EAC3B,KAAK,EAAE,KAA0B,EAAE,KAAyB,EAAE,EAAE;QAC5D,MAAM,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACvC,OAAO,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACvD,CAAC,EACD,qCAAkB,CAAC,OAAO,CAC7B,CAAA;IAED,KAAK,CAAC,OAAO,CACT,cAAc,CAAC,OAAO,EAAE,EACxB,KAAK,EAAE,KAAuB,EAAE,KAAyB,EAAE,EAAE;QACzD,MAAM,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACpC,OAAO,MAAM,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC,EACD,qCAAkB,CAAC,OAAO,CAC7B,CAAA;IAED,kCAAkC;IAClC,0GAA0G;IAC1G,2CAA2C;IAC3C,uDAAuD;IACvD,iCAAiC;IAEjC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AA5DY,QAAA,aAAa,iBA4DzB;AAEM,MAAM,eAAe,GAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IAC1E,MAAM,QAAQ,GAAG,IAAI,yBAAW,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;IAC7D,KAAK,CAAC,OAAO,CACT,QAAQ,CAAC,OAAO,EAAE,EAClB,KAAK,EAAE,KAAwB,EAAE,KAAyB,EAAE,OAAwB,EAAE,EAAE;QACpF,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC9B,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACvD,CAAC,EACD,qCAAkB,CAAC,eAAe,CACrC,CAAA;IACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AAXY,QAAA,eAAe,mBAW3B;AAEM,MAAM,cAAc,GAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;IACzE,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IACnE,MAAM,uBAAuB,GAAG,IAAI,iDAAuB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IACnF,MAAM,qBAAqB,GAAG,IAAI,6CAAqB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;IAEzE,KAAK,CAAC,OAAO,CAAC,iCAAe,CAAC,OAAO,EAAE,EAAE,CAAC,KAA4B,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IACzG,KAAK,CAAC,OAAO,CAAC,iDAAuB,CAAC,OAAO,EAAE,EAAE,CAAC,KAAoC,EAAE,EAAE,CACtF,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CACxC,CAAA;IACD,KAAK,CAAC,OAAO,CAAC,6CAAqB,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAE5F,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AAZY,QAAA,cAAc,kBAY1B;AAEM,MAAM,cAAc,GAAW,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IAClH,MAAM,UAAU,GAA6B,EAAE,CAAA;IAE/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAA;IAE5C,SAAS,mBAAmB,CAAC,MAAc,EAAE,IAAyB;QAClE,sBAAsB;QACtB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACnC,CAAC;QACD,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;QAEvB,2BAA2B;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,yBAAyB;YACzB,MAAM,iBAAiB,GAAG,IAAA,uBAAY,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAEpD,4CAA4C;YAC5C,MAAM,UAAU,GAAG,IAAA,mCAAwB,EACvC,GAAG,CAAC,UAAU,EACd,GAAG,CAAC,QAAQ,EACZ,kBAAkB,EAClB,uBAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAC3C,CAAA;YACD,MAAM,IAAI,GAAG,IAAI,iBAAO,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;YAE1D,wCAAwC;YACxC,MAAM,0BAA0B,GAAG;gBAC/B,GAAG,GAAG,CAAC,WAAW;gBAClB,UAAU,EAAE;oBACR,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU;oBAC7B,WAAW,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EACP,iGAAiG;qBACxG;iBACJ;aACJ,CAAA;YAED,KAAK,CAAC,OAAO,CACT;gBACI,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC;gBACzE,WAAW,EAAE,0BAA0B;aAC1C,EACD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3B,qCAAkB,CAAC,GAAG,CACzB,CAAA;YACD,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnC,OAAO,CAAC,IAAI,CAAC,wBAAwB,UAAU,eAAe,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAA;QAClF,CAAC;IACL,CAAC;IAED,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC,IAAA,qBAAU,EAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;YAC9C,OAAM;QACV,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,sBAAsB,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACxE,MAAM,aAAa,GAAG,IAAA,qCAA0B,EAAC,MAAM,CAAC,CAAA;QACxD,MAAM,gBAAgB,GAAG,IAAA,iCAAsB,EAAC,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;QAC9E,MAAM,cAAc,GAAG,CAAC,GAAG,aAAa,EAAE,gBAAgB,CAAC,CAAA;QAE3D,MAAM,cAAc,GAAG,IAAA,yCAA8B,EAAC,MAAM,CAAC,CAAA;QAC7D,MAAM,iBAAiB,GAAG,IAAA,qCAA0B,EAAC,SAAS,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;QACnF,MAAM,eAAe,GAAG,CAAC,GAAG,cAAc,EAAE,iBAAiB,CAAC,CAAA;QAE9D,MAAM,GAAG,GAAG,MAAM,uBAAU,CAAC,IAAI,CAAC,cAAc,EAAE,eAAe,EAAE;YAC/D,OAAO;YACP,SAAS;YACT,GAAG;YACH,SAAS;YACT,mBAAmB;YACnB,OAAO;SACV,CAAC,CAAA;QAEF,sGAAsG;QACtG,uBAAU,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAA;QAE1C,MAAM,QAAQ,GAAwC,EAAE,CAAA;QACxD,8BAA8B;QAC9B,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,EAAE,CAAC;YACpC,CAAC;YAAA,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC5C,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gCAAmB,EAAE,CAAC,MAAc,EAAE,IAAyB,EAAE,EAAE;YAC7E,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,IAAI,EAAE;QACd,MAAM,uBAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACrC,CAAC,CAAA;AACL,CAAC,CAAA;AAlGY,QAAA,cAAc,kBAkG1B"}
1
+ {"version":3,"file":"toolServer.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/toolServer.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare class ChatSessionService {
25
25
  set conversationId(value: string | undefined);
26
26
  getDeferredToolExecution(messageId: string): DeferredHandler | undefined;
27
27
  setDeferredToolExecution(messageId: string, resolve: any, reject: any): void;
28
+ getAllDeferredCompactMessageIds(): string[];
28
29
  rejectAllDeferredToolExecutions(error: Error): void;
29
30
  get toolUseLookup(): Map<string, ToolUse & {
30
31
  fileChange?: FileChange;
@@ -42,13 +42,16 @@ class ChatSessionService {
42
42
  setDeferredToolExecution(messageId, resolve, reject) {
43
43
  this.#deferredToolExecution[messageId] = { resolve, reject };
44
44
  }
45
+ getAllDeferredCompactMessageIds() {
46
+ return Object.keys(this.#deferredToolExecution).filter(messageId => messageId.endsWith('_compact'));
47
+ }
45
48
  rejectAllDeferredToolExecutions(error) {
46
- for (const messageId in this.#deferredToolExecution) {
49
+ Object.keys(this.#deferredToolExecution).forEach(messageId => {
47
50
  const handler = this.#deferredToolExecution[messageId];
48
51
  if (handler && handler.reject) {
49
52
  handler.reject(error);
50
53
  }
51
- }
54
+ });
52
55
  // Clear all handlers after rejecting them
53
56
  this.#deferredToolExecution = {};
54
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chatSessionService.js","sourceRoot":"","sources":["../../../src/language-server/chat/chatSessionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatSessionService.js","sourceRoot":"","sources":["../../../src/language-server/chat/chatSessionService.ts"],"names":[],"mappings":";;;AASA,gFAO4C;AAE5C,kDAM8B;AAE9B,4CAA4C;AAG5C,8CAA6F;AAC7F,8CAA0D;AAS1D,MAAa,kBAAkB;IACpB,gCAAgC,GAAG,KAAK,CAAA;IACxC,mBAAmB,GAAY,IAAI,CAAA;IACnC,eAAe,GAAY,KAAK,CAAA;IAChC,OAAO,CAAoB;IAClC,IAAI,CAAkB;IACtB,gBAAgB,CAAkB;IAClC,gBAAgB,CAAS;IACzB,eAAe,CAAS;IACxB,iBAAiB,GAAW,aAAa,CAAA;IACzC,sBAAsB,GAAoC,EAAE,CAAA;IAC5D,cAAc,GAGV,IAAI,GAAG,EAAE,CAAA;IACb,iBAAiB,CAAS;IAC1B,2DAA2D;IAC3D,cAAc,GAAgB,IAAI,GAAG,EAAU,CAAA;IAC/C,eAAe,CAA4B;IAC3C,QAAQ,CAAU;IAClB,OAAO,CAAS;IAET,mBAAmB;QACtB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAEM,mBAAmB,CAAC,KAAa;QACpC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAA;IAClC,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC/B,CAAC;IAED,IAAW,cAAc,CAAC,KAAyB;QAC/C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;IAChC,CAAC;IAEM,wBAAwB,CAAC,SAAiB;QAC7C,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;IACjD,CAAC;IACM,wBAAwB,CAAC,SAAiB,EAAE,OAAY,EAAE,MAAW;QACxE,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IAChE,CAAC;IAEM,+BAA+B;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAA;IACvG,CAAC;IAEM,+BAA+B,CAAC,KAAY;QAC/C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;YACtD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;QACL,CAAC,CAAC,CAAA;QACF,0CAA0C;QAC1C,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAA;IACpC,CAAC;IAED,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAED,IAAW,aAAa,CAAC,aAAa;QAClC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;IACvC,CAAC;IAED,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAED,IAAW,gBAAgB,CAAC,SAA6B;QACrD,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;IACtC,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAED;;;OAGG;IACI,eAAe,CAAC,QAAgB;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAM;QACV,CAAC;QAED,sDAAsD;QACtD,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC3C,CAAC;IAED,YAAY,cAA0C,EAAE,GAAqB,EAAE,OAAiB;QAC5F,IAAI,CAAC,eAAe,GAAG,cAAc,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IACpG,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,OAAgC;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAA;QAE7C,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACpD,OAAO,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAA;QACnE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAA;QAExD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAEzE,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEO,uBAAuB;QAC3B,OAAO,IAAA,6BAAqB,EAAC,IAAI,CAAC,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAA;IACxE,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,OAAyB;QAClD,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAA;QAE7C,IAAI,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACpD,OAAO,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAA;QACnE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,IAAI,yBAAgB,CAAC,0CAA0C,EAAE,uBAAuB,CAAC,CAAA;QACnG,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAA;QAExD,IAAI,MAAM,YAAY,oDAA2B,EAAE,CAAC;YAChD,IAAI,CAAC;gBACD,OAAO,MAAM,MAAM,CAAC,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACjF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,8FAA8F;gBAC9F,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,uCAAuC,uBAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC3F,CAAC;gBAED,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,CAAC,CAAC,CAAA;gBACjC,IAAI,IAAA,yBAAiB,EAAC,CAAC,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,yBAAgB,CACtB,iBAAiB,EACjB,wBAAwB,EACxB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAClC,SAAS,CACZ,CAAA;gBACL,CAAC;gBACD,IAAI,IAAA,8BAAqB,EAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,yBAAgB,CACtB,iBAAiB,EACjB,gBAAgB,EAChB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAClC,SAAS,CACZ,CAAA;gBACL,CAAC;gBACD,IAAI,IAAA,4BAAmB,EAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,yBAAgB,CACtB,iHAAiH,EACjH,cAAc,EACd,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAClC,SAAS,CACZ,CAAA;gBACL,CAAC;gBACD,IAAI,IAAA,4BAAmB,EAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,yBAAgB,CACtB,yEAAyE,EACzE,kBAAkB,EAClB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAClC,SAAS,CACZ,CAAA;gBACL,CAAC;gBACD,IAAI,KAAK,GAAG,IAAA,0BAAiB,EAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;gBAClD,IACI,OAAO,CAAC,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,KAAK,SAAS;oBACjF,KAAK,CAAC,KAAa,EAAE,SAAS,EAAE,cAAc,KAAK,GAAG;oBACvD,KAAK,CAAC,OAAO;wBACT,mFAAmF,EACzF,CAAC;oBACC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,uBAAuB,EAAE;wBAC1C,CAAC,CAAC,sGAAsG;wBACxG,CAAC,CAAC,2DAA2D,CAAA;gBACrE,CAAC;gBAED,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;aAAM,IAAI,MAAM,YAAY,kDAAyB,EAAE,CAAC;YACrD,IAAI,CAAC;gBACD,aAAa;gBACb,6DAA6D;gBAC7D,uNAAuN;gBACvN,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;gBACpD,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;YACnE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,8FAA8F;gBAC9F,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,mCAAmC,uBAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBACvF,CAAC;gBAED,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,CAAC,CAAC,CAAA;gBACjC,IAAI,IAAA,yBAAiB,EAAC,CAAC,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,yBAAgB,CACtB,iBAAiB,EACjB,wBAAwB,EACxB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAClC,SAAS,CACZ,CAAA;gBACL,CAAC;gBACD,IAAI,IAAA,8BAAqB,EAAC,CAAC,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,yBAAgB,CACtB,iBAAiB,EACjB,gBAAgB,EAChB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAClC,SAAS,CACZ,CAAA;gBACL,CAAC;gBACD,IAAI,IAAA,4BAAmB,EAAC,CAAC,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,yBAAgB,CACtB,iHAAiH,EACjH,cAAc,EACd,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAClC,SAAS,CACZ,CAAA;gBACL,CAAC;gBACD,IAAI,KAAK,GAAG,IAAA,0BAAiB,EAAC,CAAC,EAAE,gBAAgB,CAAC,CAAA;gBAClD,IACI,OAAO,CAAC,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,KAAK,SAAS;oBACjF,KAAK,CAAC,KAAa,EAAE,SAAS,EAAE,cAAc,KAAK,GAAG;oBACvD,KAAK,CAAC,OAAO;wBACT,mFAAmF,EACzF,CAAC;oBACC,KAAK,CAAC,OAAO,GAAG,sGAAsG,CAAA;gBAC1H,CAAC;gBACD,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,QAAQ;YACR,OAAO,OAAO,CAAC,MAAM,CACjB,gHAAgH,CACnH,CAAA;QACL,CAAC;IACL,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAA;QAC9B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;IAChC,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAA;IAClC,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,QAAgB;QACtC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;IACpC,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ,CAAA;IAC7C,CAAC;IAEM,YAAY;QACf,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAA;IAClC,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,OAAgB;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IAC3B,CAAC;CACJ;AAlSD,gDAkSC"}