@aws/lsp-codewhisperer 0.0.76 → 0.0.77

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 (39) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/out/client/token/bearer-token-service.json +13 -0
  3. package/out/language-server/agenticChat/agenticChatController.js +12 -3
  4. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  5. package/out/language-server/agenticChat/utils/fileModificationMetrics.d.ts +8 -0
  6. package/out/language-server/agenticChat/utils/fileModificationMetrics.js +54 -0
  7. package/out/language-server/agenticChat/utils/fileModificationMetrics.js.map +1 -0
  8. package/out/language-server/chat/chatSessionService.d.ts +1 -0
  9. package/out/language-server/chat/chatSessionService.js +5 -0
  10. package/out/language-server/chat/chatSessionService.js.map +1 -1
  11. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +2 -2
  12. package/out/language-server/chat/telemetry/chatTelemetryController.js +4 -2
  13. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  14. package/out/language-server/inline-completion/auto-trigger/autoTrigger.d.ts +1 -1
  15. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js +16 -10
  16. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -1
  17. package/out/language-server/inline-completion/codeWhispererServer.js +5 -2
  18. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  19. package/out/language-server/inline-completion/editCompletionHandler.d.ts +1 -0
  20. package/out/language-server/inline-completion/editCompletionHandler.js +12 -0
  21. package/out/language-server/inline-completion/editCompletionHandler.js.map +1 -1
  22. package/out/language-server/inline-completion/session/sessionManager.d.ts +3 -0
  23. package/out/language-server/inline-completion/session/sessionManager.js +7 -0
  24. package/out/language-server/inline-completion/session/sessionManager.js.map +1 -1
  25. package/out/shared/codeWhispererService.js +2 -0
  26. package/out/shared/codeWhispererService.js.map +1 -1
  27. package/out/shared/supplementalContextUtil/crossFileContextUtil.js +3 -13
  28. package/out/shared/supplementalContextUtil/crossFileContextUtil.js.map +1 -1
  29. package/out/shared/supplementalContextUtil/supplementalContextUtil.js +16 -1
  30. package/out/shared/supplementalContextUtil/supplementalContextUtil.js.map +1 -1
  31. package/out/shared/telemetry/telemetryService.d.ts +1 -0
  32. package/out/shared/telemetry/telemetryService.js +7 -1
  33. package/out/shared/telemetry/telemetryService.js.map +1 -1
  34. package/out/shared/telemetry/types.d.ts +2 -1
  35. package/out/shared/telemetry/types.js +1 -0
  36. package/out/shared/telemetry/types.js.map +1 -1
  37. package/out/shared/telemetryUtils.js +2 -0
  38. package/out/shared/telemetryUtils.js.map +1 -1
  39. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.77](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.76...lsp-codewhisperer/v0.0.77) (2025-09-02)
4
+
5
+
6
+ ### Features
7
+
8
+ * 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))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * 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))
14
+ * 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))
15
+ * 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))
16
+ * emit errorMessage in addMessage ([#2197](https://github.com/aws/language-servers/issues/2197)) ([58f2064](https://github.com/aws/language-servers/commit/58f20649d345f159080006120e23cde559826df1))
17
+ * 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))
18
+ * 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))
19
+
20
+
21
+ ### Performance Improvements
22
+
23
+ * 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))
24
+
25
+
26
+ ### Reverts
27
+
28
+ * PR 2172 dedupe openTabs supplemental contexts ([#2194](https://github.com/aws/language-servers/issues/2194)) ([94723d4](https://github.com/aws/language-servers/commit/94723d46073a1ea8211e7ae8f9dfce3fcb809604))
29
+
3
30
  ## [0.0.76](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.75...lsp-codewhisperer/v0.0.76) (2025-08-27)
4
31
 
5
32
 
@@ -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": {
@@ -6299,6 +6303,12 @@
6299
6303
  },
6300
6304
  "ideVersion": {
6301
6305
  "shape": "String"
6306
+ },
6307
+ "pluginVersion": {
6308
+ "shape": "String"
6309
+ },
6310
+ "lspVersion": {
6311
+ "shape": "String"
6302
6312
  }
6303
6313
  }
6304
6314
  },
@@ -6540,6 +6550,9 @@
6540
6550
  },
6541
6551
  "streakLength": {
6542
6552
  "shape": "UserTriggerDecisionEventStreakLengthInteger"
6553
+ },
6554
+ "suggestionType": {
6555
+ "shape": "SuggestionType"
6543
6556
  }
6544
6557
  }
6545
6558
  },
@@ -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");
@@ -1406,6 +1407,13 @@ class AgenticChatController {
1406
1407
  });
1407
1408
  }
1408
1409
  this.#telemetryController.emitInteractWithAgenticChat('GeneratedDiff', tabId, session.pairProgrammingMode, session.getConversationType(), this.#abTestingAllocation?.experimentName, this.#abTestingAllocation?.userVariation);
1410
+ // Emit acceptedLineCount when write tool is used and code changes are accepted
1411
+ const acceptedLineCount = (0, fileModificationMetrics_1.calculateModifiedLines)(toolUse, doc?.getText());
1412
+ await this.#telemetryController.emitInteractWithMessageMetric(tabId, {
1413
+ cwsprChatMessageId: chatResult.messageId ?? toolUse.toolUseId,
1414
+ cwsprChatInteractionType: types_1.ChatInteractionType.AgenticCodeAccepted,
1415
+ codewhispererCustomizationArn: this.#customizationArn,
1416
+ }, acceptedLineCount);
1409
1417
  await chatResultStream.writeResultBlock(chatResult);
1410
1418
  break;
1411
1419
  case codeReview_1.CodeReview.toolName:
@@ -1943,6 +1951,7 @@ class AgenticChatController {
1943
1951
  session.setDeferredToolExecution(messageId, deferred.resolve, deferred.reject);
1944
1952
  this.#log(`Prompting for compaction approval for messageId: ${messageId}`);
1945
1953
  await deferred.promise;
1954
+ session.removeDeferredToolExecution(messageId);
1946
1955
  // Note: we want to overwrite the button block because it already exists in the stream.
1947
1956
  await resultStream.overwriteResultBlock(this.#getUpdateCompactConfirmResult(messageId), promptBlockId);
1948
1957
  }
@@ -2480,7 +2489,7 @@ class AgenticChatController {
2480
2489
  * Handles errors that occur during the request
2481
2490
  */
2482
2491
  async #handleRequestError(conversationId, err, errorMessageId, tabId, metric, agenticCodingMode) {
2483
- const errorMessage = (0, utils_2.getErrorMsg)(err);
2492
+ const errorMessage = (0, utils_2.getErrorMsg)(err) ?? constants_2.GENERIC_ERROR_MS;
2484
2493
  const requestID = (0, utils_2.getRequestID)(err) ?? '';
2485
2494
  metric.setDimension('cwsprChatResponseCode', (0, utils_2.getHttpStatusCode)(err) ?? 0);
2486
2495
  metric.setDimension('languageServerVersion', this.#features.runtime.serverInfo.version);
@@ -2489,7 +2498,7 @@ class AgenticChatController {
2489
2498
  metric.metric.requestIds = [requestID];
2490
2499
  metric.metric.cwsprChatMessageId = errorMessageId;
2491
2500
  metric.metric.cwsprChatConversationId = conversationId;
2492
- await this.#telemetryController.emitAddMessageMetric(tabId, metric.metric, 'Failed');
2501
+ await this.#telemetryController.emitAddMessageMetric(tabId, metric.metric, 'Failed', errorMessage);
2493
2502
  if ((0, utils_2.isUsageLimitError)(err)) {
2494
2503
  if (this.#paidTierMode !== 'paidtier') {
2495
2504
  this.setPaidTierMode(tabId, 'freetier-limit');
@@ -2516,7 +2525,7 @@ class AgenticChatController {
2516
2525
  this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, customErrMessage, agenticCodingMode);
2517
2526
  }
2518
2527
  else {
2519
- this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, errorMessage ?? constants_2.GENERIC_ERROR_MS, agenticCodingMode);
2528
+ this.#telemetryController.emitMessageResponseError(tabId, metric.metric, requestID, errorMessage, agenticCodingMode);
2520
2529
  }
2521
2530
  let authFollowType = undefined;
2522
2531
  // first check if there is an AmazonQ related auth follow up