@aws/lsp-codewhisperer 0.0.76 → 0.0.78

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 (78) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/out/client/token/bearer-token-service.json +19 -0
  3. package/out/language-server/agenticChat/agenticChatController.js +15 -4
  4. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  5. package/out/language-server/agenticChat/constants/constants.d.ts +0 -2
  6. package/out/language-server/agenticChat/constants/constants.js +1 -3
  7. package/out/language-server/agenticChat/constants/constants.js.map +1 -1
  8. package/out/language-server/agenticChat/tools/chatDb/chatDb.js +2 -0
  9. package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
  10. package/out/language-server/agenticChat/tools/chatDb/util.js +2 -1
  11. package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
  12. package/out/language-server/agenticChat/tools/mcp/mcpManager.js +5 -2
  13. package/out/language-server/agenticChat/tools/mcp/mcpManager.js.map +1 -1
  14. package/out/language-server/agenticChat/tools/mcp/mcpTypes.d.ts +12 -2
  15. package/out/language-server/agenticChat/tools/mcp/mcpTypes.js +7 -3
  16. package/out/language-server/agenticChat/tools/mcp/mcpTypes.js.map +1 -1
  17. package/out/language-server/agenticChat/tools/mcp/mcpUtils.d.ts +4 -0
  18. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js +98 -19
  19. package/out/language-server/agenticChat/tools/mcp/mcpUtils.js.map +1 -1
  20. package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.d.ts +2 -5
  21. package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.js +5 -16
  22. package/out/language-server/agenticChat/tools/mcp/profileStatusMonitor.js.map +1 -1
  23. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.d.ts +1 -0
  24. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js +49 -11
  25. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js.map +1 -1
  26. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js +37 -25
  27. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js.map +1 -1
  28. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewSchemas.d.ts +3 -0
  29. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewSchemas.js +8 -7
  30. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewSchemas.js.map +1 -1
  31. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewTypes.d.ts +3 -0
  32. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.d.ts +7 -0
  33. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.js +23 -0
  34. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewUtils.js.map +1 -1
  35. package/out/language-server/agenticChat/tools/toolServer.js +52 -46
  36. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -1
  37. package/out/language-server/agenticChat/utils/fileModificationMetrics.d.ts +8 -0
  38. package/out/language-server/agenticChat/utils/fileModificationMetrics.js +54 -0
  39. package/out/language-server/agenticChat/utils/fileModificationMetrics.js.map +1 -0
  40. package/out/language-server/chat/chatSessionService.d.ts +1 -0
  41. package/out/language-server/chat/chatSessionService.js +5 -0
  42. package/out/language-server/chat/chatSessionService.js.map +1 -1
  43. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +2 -2
  44. package/out/language-server/chat/telemetry/chatTelemetryController.js +4 -2
  45. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  46. package/out/language-server/inline-completion/auto-trigger/autoTrigger.d.ts +2 -2
  47. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +22 -10
  48. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
  49. package/out/language-server/inline-completion/codeWhispererServer.js +5 -2
  50. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  51. package/out/language-server/inline-completion/editCompletionHandler.d.ts +1 -0
  52. package/out/language-server/inline-completion/editCompletionHandler.js +12 -0
  53. package/out/language-server/inline-completion/editCompletionHandler.js.map +1 -1
  54. package/out/language-server/inline-completion/session/sessionManager.d.ts +3 -0
  55. package/out/language-server/inline-completion/session/sessionManager.js +7 -0
  56. package/out/language-server/inline-completion/session/sessionManager.js.map +1 -1
  57. package/out/language-server/localProjectContext/localProjectContextServer.js +13 -0
  58. package/out/language-server/localProjectContext/localProjectContextServer.js.map +1 -1
  59. package/out/language-server/netTransform/artifactManager.d.ts +2 -1
  60. package/out/language-server/netTransform/artifactManager.js +19 -1
  61. package/out/language-server/netTransform/artifactManager.js.map +1 -1
  62. package/out/language-server/netTransform/transformHandler.js +1 -1
  63. package/out/language-server/netTransform/transformHandler.js.map +1 -1
  64. package/out/shared/codeWhispererService.js +2 -0
  65. package/out/shared/codeWhispererService.js.map +1 -1
  66. package/out/shared/supplementalContextUtil/crossFileContextUtil.js +3 -13
  67. package/out/shared/supplementalContextUtil/crossFileContextUtil.js.map +1 -1
  68. package/out/shared/supplementalContextUtil/supplementalContextUtil.js +16 -1
  69. package/out/shared/supplementalContextUtil/supplementalContextUtil.js.map +1 -1
  70. package/out/shared/telemetry/telemetryService.d.ts +1 -0
  71. package/out/shared/telemetry/telemetryService.js +7 -1
  72. package/out/shared/telemetry/telemetryService.js.map +1 -1
  73. package/out/shared/telemetry/types.d.ts +2 -1
  74. package/out/shared/telemetry/types.js +1 -0
  75. package/out/shared/telemetry/types.js.map +1 -1
  76. package/out/shared/telemetryUtils.js +2 -0
  77. package/out/shared/telemetryUtils.js.map +1 -1
  78. package/package.json +6 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,58 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.78](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.77...lsp-codewhisperer/v0.0.78) (2025-09-09)
4
+
5
+
6
+ ### Features
7
+
8
+ * add custom_transformation folder support to artifact.zip ([#2201](https://github.com/aws/language-servers/issues/2201)) ([1222905](https://github.com/aws/language-servers/commit/12229059421b773d3e99d28809fdff4abf242b26))
9
+ * add support for getSupplementalContext LSP API ([#2212](https://github.com/aws/language-servers/issues/2212)) ([2ddcae7](https://github.com/aws/language-servers/commit/2ddcae7a4fac6b89cbc9784911959743ea0a6d11))
10
+ * **amazonq:** default to diff-based scans ([#2195](https://github.com/aws/language-servers/issues/2195)) ([da4c3db](https://github.com/aws/language-servers/commit/da4c3db5329bd50cfe249bf8c1d59afa9bcb0157))
11
+ * model selection for code review tool ([#2196](https://github.com/aws/language-servers/issues/2196)) ([34bc9bd](https://github.com/aws/language-servers/commit/34bc9bd1d3433bbb1d903eb0f212b10709ea8412))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **amazonq:** add IntelliSense autotriggerType ([#2199](https://github.com/aws/language-servers/issues/2199)) ([013aa59](https://github.com/aws/language-servers/commit/013aa5913c242451a91ed36b0dcf961a3f8ec697))
17
+ * **amazonq:** fix to correct the client for getProfile request ([#2211](https://github.com/aws/language-servers/issues/2211)) ([8bde8c9](https://github.com/aws/language-servers/commit/8bde8c97e1e3bcd67d9816a3385c50c7765c3b2f))
18
+ * **amazonq:** fix to update MCP servers list when last server is removed from agent config ([#2206](https://github.com/aws/language-servers/issues/2206)) ([512502a](https://github.com/aws/language-servers/commit/512502af947dcfed9288be2f67fc58affd4445fe))
19
+ * **amazonq:** update to the agent config format to bring parity with Q CLI ([#2202](https://github.com/aws/language-servers/issues/2202)) ([698d06c](https://github.com/aws/language-servers/commit/698d06c643897da6ca37a49e6544b150b72678a3))
20
+ * potential xss issue reported in `mynah-ui` ([#2209](https://github.com/aws/language-servers/issues/2209)) ([cf585cd](https://github.com/aws/language-servers/commit/cf585cd400dab6274f8220139ae94287c0d96824))
21
+
22
+
23
+ ### Dependencies
24
+
25
+ * The following workspace dependencies were updated
26
+ * dependencies
27
+ * @aws/lsp-core bumped from ^0.0.14 to ^0.0.15
28
+
29
+ ## [0.0.77](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.76...lsp-codewhisperer/v0.0.77) (2025-09-02)
30
+
31
+
32
+ ### Features
33
+
34
+ * passing suggestionTypes and pluginVersion/lspVersion to STE ([#2180](https://github.com/aws/language-servers/issues/2180)) ([66742ad](https://github.com/aws/language-servers/commit/66742adfc44f33efbd8dd33b803000e08241e5ce))
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * auto trigger should only respect previous decisions in the past 2mins ([#2189](https://github.com/aws/language-servers/issues/2189)) ([852b21b](https://github.com/aws/language-servers/commit/852b21b66f793102c52e35c2baec07a772e5134a))
40
+ * compact UI is not updated correctly when multiple nudges are displayed ([#2192](https://github.com/aws/language-servers/issues/2192)) ([ef7d793](https://github.com/aws/language-servers/commit/ef7d7931954f5083e4a5c358e67c6dc652fa1a40))
41
+ * emit acceptedLineCount metric and AgenticCodeAccepted interaction type ([#2167](https://github.com/aws/language-servers/issues/2167)) ([c53f672](https://github.com/aws/language-servers/commit/c53f672b6173ebda530917ccb4e0c2f26f5c8f79))
42
+ * emit errorMessage in addMessage ([#2197](https://github.com/aws/language-servers/issues/2197)) ([58f2064](https://github.com/aws/language-servers/commit/58f20649d345f159080006120e23cde559826df1))
43
+ * fix calculation for num-lines contributed by the LLM ([#2191](https://github.com/aws/language-servers/issues/2191)) ([fd71e6c](https://github.com/aws/language-servers/commit/fd71e6cf3fc843242936564061061418edf83f56))
44
+ * should send classifier score after taking sigmoid ([#2188](https://github.com/aws/language-servers/issues/2188)) ([f4e2e6e](https://github.com/aws/language-servers/commit/f4e2e6e885e665834a5d7b7cbb5f4ba4ff9bbb65))
45
+
46
+
47
+ ### Performance Improvements
48
+
49
+ * only process edit requests 1 at a time ([#2187](https://github.com/aws/language-servers/issues/2187)) ([b497540](https://github.com/aws/language-servers/commit/b4975409a3ed518550290b72ac310895a293be4b))
50
+
51
+
52
+ ### Reverts
53
+
54
+ * PR 2172 dedupe openTabs supplemental contexts ([#2194](https://github.com/aws/language-servers/issues/2194)) ([94723d4](https://github.com/aws/language-servers/commit/94723d46073a1ea8211e7ae8f9dfce3fcb809604))
55
+
3
56
  ## [0.0.76](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.75...lsp-codewhisperer/v0.0.76) (2025-08-27)
4
57
 
5
58
 
@@ -1890,6 +1890,10 @@
1890
1890
  "type": "string",
1891
1891
  "enum": ["BLOCK", "LINE"]
1892
1892
  },
1893
+ "SuggestionType": {
1894
+ "type": "string",
1895
+ "enum": ["COMPLETIONS", "EDITS"]
1896
+ },
1893
1897
  "Completions": {
1894
1898
  "type": "list",
1895
1899
  "member": {
@@ -4818,6 +4822,12 @@
4818
4822
  },
4819
4823
  "profileArn": {
4820
4824
  "shape": "ProfileArn"
4825
+ },
4826
+ "languageModelId": {
4827
+ "shape": "ModelId"
4828
+ },
4829
+ "clientType": {
4830
+ "shape": "Origin"
4821
4831
  }
4822
4832
  }
4823
4833
  },
@@ -6299,6 +6309,12 @@
6299
6309
  },
6300
6310
  "ideVersion": {
6301
6311
  "shape": "String"
6312
+ },
6313
+ "pluginVersion": {
6314
+ "shape": "String"
6315
+ },
6316
+ "lspVersion": {
6317
+ "shape": "String"
6302
6318
  }
6303
6319
  }
6304
6320
  },
@@ -6540,6 +6556,9 @@
6540
6556
  },
6541
6557
  "streakLength": {
6542
6558
  "shape": "UserTriggerDecisionEventStreakLengthInteger"
6559
+ },
6560
+ "suggestionType": {
6561
+ "shape": "SuggestionType"
6543
6562
  }
6544
6563
  }
6545
6564
  },
@@ -40,6 +40,7 @@ const fsWrite_1 = require("./tools/fsWrite");
40
40
  const executeBash_1 = require("./tools/executeBash");
41
41
  const toolShared_1 = require("./tools/toolShared");
42
42
  const pathValidation_1 = require("./utils/pathValidation");
43
+ const fileModificationMetrics_1 = require("./utils/fileModificationMetrics");
43
44
  const grepSearch_1 = require("./tools/grepSearch");
44
45
  const fileSearch_1 = require("./tools/fileSearch");
45
46
  const fsReplace_1 = require("./tools/fsReplace");
@@ -65,6 +66,7 @@ const activeUserTracker_1 = require("../../shared/activeUserTracker");
65
66
  const displayFindings_1 = require("./tools/qCodeAnalysis/displayFindings");
66
67
  const constants_3 = require("../../shared/constants");
67
68
  const IdleWorkspaceManager_1 = require("../workspaceContext/IdleWorkspaceManager");
69
+ const escapeHTML = require("escape-html");
68
70
  class AgenticChatController {
69
71
  #features;
70
72
  #chatSessionManagementService;
@@ -900,7 +902,7 @@ class AgenticChatController {
900
902
  }
901
903
  else {
902
904
  this.#chatHistoryDb.addMessage(tabId, 'cwc', conversationIdentifier, {
903
- body: currentMessage.userInputMessage?.content ?? '',
905
+ body: escapeHTML(currentMessage.userInputMessage?.content ?? ''),
904
906
  type: 'prompt',
905
907
  userIntent: currentMessage.userInputMessage?.userIntent,
906
908
  origin: currentMessage.userInputMessage?.origin,
@@ -1331,6 +1333,7 @@ class AgenticChatController {
1331
1333
  .filter(c => c.type === 'rule')
1332
1334
  .map(c => ({ path: c.path }));
1333
1335
  }
1336
+ initialInput['modelId'] = session.modelId;
1334
1337
  toolUse.input = initialInput;
1335
1338
  }
1336
1339
  catch (e) {
@@ -1406,6 +1409,13 @@ class AgenticChatController {
1406
1409
  });
1407
1410
  }
1408
1411
  this.#telemetryController.emitInteractWithAgenticChat('GeneratedDiff', tabId, session.pairProgrammingMode, session.getConversationType(), this.#abTestingAllocation?.experimentName, this.#abTestingAllocation?.userVariation);
1412
+ // Emit acceptedLineCount when write tool is used and code changes are accepted
1413
+ const acceptedLineCount = (0, fileModificationMetrics_1.calculateModifiedLines)(toolUse, doc?.getText());
1414
+ await this.#telemetryController.emitInteractWithMessageMetric(tabId, {
1415
+ cwsprChatMessageId: chatResult.messageId ?? toolUse.toolUseId,
1416
+ cwsprChatInteractionType: types_1.ChatInteractionType.AgenticCodeAccepted,
1417
+ codewhispererCustomizationArn: this.#customizationArn,
1418
+ }, acceptedLineCount);
1409
1419
  await chatResultStream.writeResultBlock(chatResult);
1410
1420
  break;
1411
1421
  case codeReview_1.CodeReview.toolName:
@@ -1943,6 +1953,7 @@ class AgenticChatController {
1943
1953
  session.setDeferredToolExecution(messageId, deferred.resolve, deferred.reject);
1944
1954
  this.#log(`Prompting for compaction approval for messageId: ${messageId}`);
1945
1955
  await deferred.promise;
1956
+ session.removeDeferredToolExecution(messageId);
1946
1957
  // Note: we want to overwrite the button block because it already exists in the stream.
1947
1958
  await resultStream.overwriteResultBlock(this.#getUpdateCompactConfirmResult(messageId), promptBlockId);
1948
1959
  }
@@ -2480,7 +2491,7 @@ class AgenticChatController {
2480
2491
  * Handles errors that occur during the request
2481
2492
  */
2482
2493
  async #handleRequestError(conversationId, err, errorMessageId, tabId, metric, agenticCodingMode) {
2483
- const errorMessage = (0, utils_2.getErrorMsg)(err);
2494
+ const errorMessage = (0, utils_2.getErrorMsg)(err) ?? constants_2.GENERIC_ERROR_MS;
2484
2495
  const requestID = (0, utils_2.getRequestID)(err) ?? '';
2485
2496
  metric.setDimension('cwsprChatResponseCode', (0, utils_2.getHttpStatusCode)(err) ?? 0);
2486
2497
  metric.setDimension('languageServerVersion', this.#features.runtime.serverInfo.version);
@@ -2489,7 +2500,7 @@ class AgenticChatController {
2489
2500
  metric.metric.requestIds = [requestID];
2490
2501
  metric.metric.cwsprChatMessageId = errorMessageId;
2491
2502
  metric.metric.cwsprChatConversationId = conversationId;
2492
- await this.#telemetryController.emitAddMessageMetric(tabId, metric.metric, 'Failed');
2503
+ await this.#telemetryController.emitAddMessageMetric(tabId, metric.metric, 'Failed', errorMessage);
2493
2504
  if ((0, utils_2.isUsageLimitError)(err)) {
2494
2505
  if (this.#paidTierMode !== 'paidtier') {
2495
2506
  this.setPaidTierMode(tabId, 'freetier-limit');
@@ -2516,7 +2527,7 @@ class AgenticChatController {
2516
2527
  this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, customErrMessage, agenticCodingMode);
2517
2528
  }
2518
2529
  else {
2519
- this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, errorMessage ?? constants_2.GENERIC_ERROR_MS, agenticCodingMode);
2530
+ this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, errorMessage, agenticCodingMode);
2520
2531
  }
2521
2532
  let authFollowType = undefined;
2522
2533
  // first check if there is an AmazonQ related auth follow up