@aws/lsp-codewhisperer 0.0.82 → 0.0.84

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 (135) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/out/language-server/agenticChat/agenticChatController.js +105 -35
  3. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  4. package/out/language-server/agenticChat/agenticChatResultStream.d.ts +1 -0
  5. package/out/language-server/agenticChat/agenticChatResultStream.js +21 -0
  6. package/out/language-server/agenticChat/agenticChatResultStream.js.map +1 -1
  7. package/out/language-server/agenticChat/constants/constants.d.ts +30 -0
  8. package/out/language-server/agenticChat/constants/constants.js +44 -1
  9. package/out/language-server/agenticChat/constants/constants.js.map +1 -1
  10. package/out/language-server/agenticChat/constants/modelSelection.d.ts +2 -2
  11. package/out/language-server/agenticChat/constants/modelSelection.js +6 -5
  12. package/out/language-server/agenticChat/constants/modelSelection.js.map +1 -1
  13. package/out/language-server/agenticChat/context/agenticChatTriggerContext.d.ts +2 -1
  14. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js +3 -1
  15. package/out/language-server/agenticChat/context/agenticChatTriggerContext.js.map +1 -1
  16. package/out/language-server/agenticChat/context/memorybank/memoryBankController.js +4 -3
  17. package/out/language-server/agenticChat/context/memorybank/memoryBankController.js.map +1 -1
  18. package/out/language-server/agenticChat/retry/delayInterceptor.d.ts +33 -0
  19. package/out/language-server/agenticChat/retry/delayInterceptor.js +79 -0
  20. package/out/language-server/agenticChat/retry/delayInterceptor.js.map +1 -0
  21. package/out/language-server/agenticChat/retry/errorTransformer.d.ts +15 -0
  22. package/out/language-server/agenticChat/retry/errorTransformer.js +152 -0
  23. package/out/language-server/agenticChat/retry/errorTransformer.js.map +1 -0
  24. package/out/language-server/agenticChat/retry/index.d.ts +3 -0
  25. package/out/language-server/agenticChat/retry/index.js +11 -0
  26. package/out/language-server/agenticChat/retry/index.js.map +1 -0
  27. package/out/language-server/agenticChat/retry/qRetryStrategy.d.ts +20 -0
  28. package/out/language-server/agenticChat/retry/qRetryStrategy.js +71 -0
  29. package/out/language-server/agenticChat/retry/qRetryStrategy.js.map +1 -0
  30. package/out/language-server/agenticChat/retry/retryClassifier.d.ts +32 -0
  31. package/out/language-server/agenticChat/retry/retryClassifier.js +122 -0
  32. package/out/language-server/agenticChat/retry/retryClassifier.js.map +1 -0
  33. package/out/language-server/agenticChat/tabBarController.d.ts +4 -0
  34. package/out/language-server/agenticChat/tabBarController.js +19 -2
  35. package/out/language-server/agenticChat/tabBarController.js.map +1 -1
  36. package/out/language-server/agenticChat/tools/chatDb/chatDb.d.ts +3 -25
  37. package/out/language-server/agenticChat/tools/chatDb/chatDb.js +12 -107
  38. package/out/language-server/agenticChat/tools/chatDb/chatDb.js.map +1 -1
  39. package/out/language-server/agenticChat/tools/chatDb/util.js +1 -2
  40. package/out/language-server/agenticChat/tools/chatDb/util.js.map +1 -1
  41. package/out/language-server/agenticChat/tools/fsRead.d.ts +3 -1
  42. package/out/language-server/agenticChat/tools/fsRead.js +12 -7
  43. package/out/language-server/agenticChat/tools/fsRead.js.map +1 -1
  44. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js +30 -14
  45. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReview.js.map +1 -1
  46. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js +1 -1
  47. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewConstants.js.map +1 -1
  48. package/out/language-server/agenticChat/tools/qCodeAnalysis/codeReviewTypes.d.ts +8 -0
  49. package/out/language-server/chat/chatController.js.map +1 -1
  50. package/out/language-server/chat/chatSessionService.d.ts +8 -1
  51. package/out/language-server/chat/chatSessionService.js +38 -81
  52. package/out/language-server/chat/chatSessionService.js.map +1 -1
  53. package/out/language-server/chat/constants.d.ts +1 -0
  54. package/out/language-server/chat/constants.js +2 -1
  55. package/out/language-server/chat/constants.js.map +1 -1
  56. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +2 -1
  57. package/out/language-server/chat/telemetry/chatTelemetryController.js +12 -1
  58. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  59. package/out/language-server/inline-completion/codeWhispererServer.d.ts +0 -1
  60. package/out/language-server/inline-completion/codeWhispererServer.js +17 -481
  61. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -1
  62. package/out/language-server/inline-completion/contants/constants.js.map +1 -0
  63. package/out/language-server/inline-completion/{editCompletionHandler.d.ts → handler/editCompletionHandler.d.ts} +10 -10
  64. package/out/language-server/inline-completion/{editCompletionHandler.js → handler/editCompletionHandler.js} +17 -14
  65. package/out/language-server/inline-completion/handler/editCompletionHandler.js.map +1 -0
  66. package/out/language-server/inline-completion/handler/inlineCompletionHandler.d.ts +32 -0
  67. package/out/language-server/inline-completion/handler/inlineCompletionHandler.js +377 -0
  68. package/out/language-server/inline-completion/handler/inlineCompletionHandler.js.map +1 -0
  69. package/out/language-server/inline-completion/handler/sessionResultsHandler.d.ts +23 -0
  70. package/out/language-server/inline-completion/handler/sessionResultsHandler.js +119 -0
  71. package/out/language-server/inline-completion/handler/sessionResultsHandler.js.map +1 -0
  72. package/out/language-server/inline-completion/{telemetry.d.ts → telemetry/telemetry.d.ts} +2 -2
  73. package/out/language-server/inline-completion/{telemetry.js → telemetry/telemetry.js} +2 -2
  74. package/out/language-server/inline-completion/telemetry/telemetry.js.map +1 -0
  75. package/out/language-server/inline-completion/{codeDiffTracker.d.ts → tracker/codeDiffTracker.d.ts} +2 -2
  76. package/out/language-server/inline-completion/{codeDiffTracker.js → tracker/codeDiffTracker.js} +1 -1
  77. package/out/language-server/inline-completion/tracker/codeDiffTracker.js.map +1 -0
  78. package/out/language-server/inline-completion/tracker/codeEditTracker.js +1 -1
  79. package/out/language-server/inline-completion/tracker/codeEditTracker.js.map +1 -1
  80. package/out/language-server/inline-completion/{codePercentage.d.ts → tracker/codePercentageTracker.d.ts} +1 -1
  81. package/out/language-server/inline-completion/{codePercentage.js → tracker/codePercentageTracker.js} +1 -1
  82. package/out/language-server/inline-completion/tracker/codePercentageTracker.js.map +1 -0
  83. package/out/language-server/inline-completion/{diffUtils.d.ts → utils/diffUtils.d.ts} +29 -12
  84. package/out/language-server/inline-completion/utils/diffUtils.js +407 -0
  85. package/out/language-server/inline-completion/utils/diffUtils.js.map +1 -0
  86. package/out/language-server/inline-completion/utils/mergeRightUtils.d.ts +9 -0
  87. package/out/language-server/inline-completion/utils/mergeRightUtils.js +67 -0
  88. package/out/language-server/inline-completion/utils/mergeRightUtils.js.map +1 -0
  89. package/out/language-server/inline-completion/utils/textDocumentUtils.d.ts +3 -0
  90. package/out/language-server/inline-completion/utils/textDocumentUtils.js +37 -0
  91. package/out/language-server/inline-completion/utils/textDocumentUtils.js.map +1 -0
  92. package/out/language-server/inline-completion/{trigger.d.ts → utils/triggerUtils.d.ts} +4 -4
  93. package/out/language-server/inline-completion/{trigger.js → utils/triggerUtils.js} +3 -3
  94. package/out/language-server/inline-completion/utils/triggerUtils.js.map +1 -0
  95. package/out/language-server/netTransform/artifactManager.d.ts +2 -2
  96. package/out/language-server/netTransform/artifactManager.js +6 -10
  97. package/out/language-server/netTransform/artifactManager.js.map +1 -1
  98. package/out/language-server/workspaceContext/workspaceFolderManager.js +3 -1
  99. package/out/language-server/workspaceContext/workspaceFolderManager.js.map +1 -1
  100. package/out/shared/amazonQServiceManager/AmazonQIAMServiceManager.d.ts +1 -1
  101. package/out/shared/amazonQServiceManager/AmazonQIAMServiceManager.js +8 -2
  102. package/out/shared/amazonQServiceManager/AmazonQIAMServiceManager.js.map +1 -1
  103. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js +1 -0
  104. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js.map +1 -1
  105. package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.js +6 -0
  106. package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.js.map +1 -1
  107. package/out/shared/codeWhispererService.js +52 -20
  108. package/out/shared/codeWhispererService.js.map +1 -1
  109. package/out/shared/streamingClientService.d.ts +7 -1
  110. package/out/shared/streamingClientService.js +53 -15
  111. package/out/shared/streamingClientService.js.map +1 -1
  112. package/out/shared/telemetry/telemetryService.js.map +1 -1
  113. package/out/shared/telemetry/types.d.ts +8 -0
  114. package/out/shared/telemetry/types.js +1 -0
  115. package/out/shared/telemetry/types.js.map +1 -1
  116. package/out/shared/testUtils.d.ts +0 -3
  117. package/out/shared/testUtils.js +1 -22
  118. package/out/shared/testUtils.js.map +1 -1
  119. package/out/shared/utils.d.ts +10 -4
  120. package/out/shared/utils.js +20 -11
  121. package/out/shared/utils.js.map +1 -1
  122. package/package.json +4 -5
  123. package/out/language-server/inline-completion/codeDiffTracker.js.map +0 -1
  124. package/out/language-server/inline-completion/codePercentage.js.map +0 -1
  125. package/out/language-server/inline-completion/constants.js.map +0 -1
  126. package/out/language-server/inline-completion/diffUtils.js +0 -255
  127. package/out/language-server/inline-completion/diffUtils.js.map +0 -1
  128. package/out/language-server/inline-completion/editCompletionHandler.js.map +0 -1
  129. package/out/language-server/inline-completion/mergeRightUtils.d.ts +0 -25
  130. package/out/language-server/inline-completion/mergeRightUtils.js +0 -114
  131. package/out/language-server/inline-completion/mergeRightUtils.js.map +0 -1
  132. package/out/language-server/inline-completion/telemetry.js.map +0 -1
  133. package/out/language-server/inline-completion/trigger.js.map +0 -1
  134. /package/out/language-server/inline-completion/{constants.d.ts → contants/constants.d.ts} +0 -0
  135. /package/out/language-server/inline-completion/{constants.js → contants/constants.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../../src/language-server/inline-completion/codeWhispererServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/contants/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,IAAI,CAAA;AAC3B,QAAA,oBAAoB,GAAG,IAAI,CAAA;AAC3B,QAAA,wBAAwB,GAAG,KAAK,CAAA;AAChC,QAAA,YAAY,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AAC3C,QAAA,yBAAyB,GAAG,GAAG,CAAA;AAC5C,iDAAiD;AACpC,QAAA,eAAe,GAAG,IAAI,GAAG,CAAC;IACnC,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC,CAAA"}
@@ -1,14 +1,14 @@
1
1
  import { CancellationToken, InitializeParams, InlineCompletionListWithReferences, InlineCompletionWithReferencesParams, Range, TextDocument } from '@aws/language-server-runtimes/protocol';
2
- import { RecentEditTracker } from './tracker/codeEditTracker';
2
+ import { RecentEditTracker } from '../tracker/codeEditTracker';
3
3
  import { CredentialsProvider, Logging, Telemetry, Workspace } from '@aws/language-server-runtimes/server-interface';
4
- import { GenerateSuggestionsResponse } from '../../shared/codeWhispererService';
5
- import { CodeWhispererSession, SessionManager } from './session/sessionManager';
6
- import { CursorTracker } from './tracker/cursorTracker';
7
- import { CodewhispererLanguage } from '../../shared/languageDetection';
8
- import { TelemetryService } from '../../shared/telemetry/telemetryService';
9
- import { AmazonQBaseServiceManager } from '../../shared/amazonQServiceManager/BaseAmazonQServiceManager';
10
- import { RejectedEditTracker } from './tracker/rejectedEditTracker';
11
- import { DocumentChangedListener } from './documentChangedListener';
4
+ import { GenerateSuggestionsResponse } from '../../../shared/codeWhispererService';
5
+ import { CodeWhispererSession, SessionManager } from '../session/sessionManager';
6
+ import { CursorTracker } from '../tracker/cursorTracker';
7
+ import { CodewhispererLanguage } from '../../../shared/languageDetection';
8
+ import { TelemetryService } from '../../../shared/telemetry/telemetryService';
9
+ import { AmazonQBaseServiceManager } from '../../../shared/amazonQServiceManager/BaseAmazonQServiceManager';
10
+ import { RejectedEditTracker } from '../tracker/rejectedEditTracker';
11
+ import { DocumentChangedListener } from '../documentChangedListener';
12
12
  export declare class EditCompletionHandler {
13
13
  readonly logging: Logging;
14
14
  readonly clientMetadata: InitializeParams;
@@ -29,7 +29,7 @@ export declare class EditCompletionHandler {
29
29
  private readonly streakTracker;
30
30
  private isInProgress;
31
31
  constructor(logging: Logging, clientMetadata: InitializeParams, workspace: Workspace, amazonQServiceManager: AmazonQBaseServiceManager, sessionManager: SessionManager, cursorTracker: CursorTracker, recentEditsTracker: RecentEditTracker, rejectedEditTracker: RejectedEditTracker, documentChangedListener: DocumentChangedListener, telemetry: Telemetry, telemetryService: TelemetryService, credentialsProvider: CredentialsProvider);
32
- get codeWhispererService(): import("../../shared/codeWhispererService").CodeWhispererServiceBase;
32
+ get codeWhispererService(): import("../../../shared/codeWhispererService").CodeWhispererServiceBase;
33
33
  /**
34
34
  * This is a workaround to refresh the debounce timer when user is typing quickly.
35
35
  * Adding debounce at function call doesnt work because server won't process second request until first request is processed.
@@ -2,17 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EditCompletionHandler = void 0;
4
4
  const protocol_1 = require("@aws/language-server-runtimes/protocol");
5
- const codeWhispererService_1 = require("../../shared/codeWhispererService");
6
- const sessionManager_1 = require("./session/sessionManager");
7
- const languageDetection_1 = require("../../shared/languageDetection");
8
- const workspaceFolderManager_1 = require("../workspaceContext/workspaceFolderManager");
9
- const trigger_1 = require("./trigger");
10
- const telemetry_1 = require("./telemetry");
5
+ const codeWhispererService_1 = require("../../../shared/codeWhispererService");
6
+ const sessionManager_1 = require("../session/sessionManager");
7
+ const languageDetection_1 = require("../../../shared/languageDetection");
8
+ const workspaceFolderManager_1 = require("../../workspaceContext/workspaceFolderManager");
9
+ const triggerUtils_1 = require("../utils/triggerUtils");
10
+ const telemetry_1 = require("../telemetry/telemetry");
11
11
  const lsp_core_1 = require("@aws/lsp-core");
12
- const utils_1 = require("../../shared/utils");
13
- const errors_1 = require("../../shared/amazonQServiceManager/errors");
14
- const constants_1 = require("./constants");
15
- const streakTracker_1 = require("./tracker/streakTracker");
12
+ const utils_1 = require("../../../shared/utils");
13
+ const errors_1 = require("../../../shared/amazonQServiceManager/errors");
14
+ const constants_1 = require("../contants/constants");
15
+ const streakTracker_1 = require("../tracker/streakTracker");
16
+ const diffUtils_1 = require("../utils/diffUtils");
16
17
  class EditCompletionHandler {
17
18
  logging;
18
19
  clientMetadata;
@@ -175,7 +176,7 @@ class EditCompletionHandler {
175
176
  });
176
177
  const workspaceState = workspaceFolderManager_1.WorkspaceFolderManager.getInstance()?.getWorkspaceState();
177
178
  const workspaceId = workspaceState?.webSocketClient?.isConnected() ? workspaceState.workspaceId : undefined;
178
- const qEditsTrigger = (0, trigger_1.shouldTriggerEdits)(this.codeWhispererService, fileContext, params, this.cursorTracker, this.recentEditsTracker, this.sessionManager, true);
179
+ const qEditsTrigger = (0, triggerUtils_1.shouldTriggerEdits)(this.codeWhispererService, fileContext, params, this.cursorTracker, this.recentEditsTracker, this.sessionManager, true);
179
180
  if (!qEditsTrigger) {
180
181
  return constants_1.EMPTY_RESULT;
181
182
  }
@@ -275,6 +276,8 @@ class EditCompletionHandler {
275
276
  .map(suggestion => {
276
277
  // Check if this suggestion is similar to a previously rejected edit
277
278
  const isSimilarToRejected = this.rejectedEditTracker.isSimilarToRejected(suggestion.content, textDocument?.uri || '');
279
+ const processedSuggestion = (0, diffUtils_1.processEditSuggestion)(suggestion.content, session.startPosition, session.document, session.requestContext.fileContext.rightFileContent);
280
+ const isInlineEdit = processedSuggestion.type === codeWhispererService_1.SuggestionType.EDIT;
278
281
  if (isSimilarToRejected) {
279
282
  // Mark as rejected in the session
280
283
  session.setSuggestionState(suggestion.itemId, 'Reject');
@@ -282,13 +285,13 @@ class EditCompletionHandler {
282
285
  // Return empty item that will be filtered out
283
286
  return {
284
287
  insertText: '',
285
- isInlineEdit: true,
288
+ isInlineEdit: isInlineEdit,
286
289
  itemId: suggestion.itemId,
287
290
  };
288
291
  }
289
292
  return {
290
- insertText: suggestion.content,
291
- isInlineEdit: true,
293
+ insertText: processedSuggestion.suggestionContent,
294
+ isInlineEdit: isInlineEdit,
292
295
  itemId: suggestion.itemId,
293
296
  };
294
297
  })
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editCompletionHandler.js","sourceRoot":"","sources":["../../../../src/language-server/inline-completion/handler/editCompletionHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { CancellationToken, InlineCompletionListWithReferences, InlineCompletionWithReferencesParams, Logging, Telemetry, Workspace, CredentialsProvider, Lsp } from '@aws/language-server-runtimes/server-interface';
2
+ import { SessionManager } from '../session/sessionManager';
3
+ import { CodePercentageTracker } from '../tracker/codePercentageTracker';
4
+ import { TelemetryService } from '../../../shared/telemetry/telemetryService';
5
+ import { UserWrittenCodeTracker } from '../../../shared/userWrittenCodeTracker';
6
+ import { RecentEditTracker } from '../tracker/codeEditTracker';
7
+ import { CursorTracker } from '../tracker/cursorTracker';
8
+ import { StreakTracker } from '../tracker/streakTracker';
9
+ import { AmazonQBaseServiceManager } from '../../../shared/amazonQServiceManager/BaseAmazonQServiceManager';
10
+ export declare class InlineCompletionHandler {
11
+ private readonly logging;
12
+ private readonly workspace;
13
+ private readonly amazonQServiceManager;
14
+ private readonly completionSessionManager;
15
+ private readonly codePercentageTracker;
16
+ private readonly userWrittenCodeTracker;
17
+ private readonly recentEditTracker;
18
+ private readonly cursorTracker;
19
+ private readonly streakTracker;
20
+ private readonly telemetry;
21
+ private readonly telemetryService;
22
+ private readonly credentialsProvider;
23
+ private readonly getEditsEnabled;
24
+ private readonly getTimeSinceLastUserModification;
25
+ private readonly lsp;
26
+ private isOnInlineCompletionHandlerInProgress;
27
+ constructor(logging: Logging, workspace: Workspace, amazonQServiceManager: AmazonQBaseServiceManager, completionSessionManager: SessionManager, codePercentageTracker: CodePercentageTracker, userWrittenCodeTracker: UserWrittenCodeTracker | undefined, recentEditTracker: RecentEditTracker, cursorTracker: CursorTracker, streakTracker: StreakTracker, telemetry: Telemetry, telemetryService: TelemetryService, credentialsProvider: CredentialsProvider, getEditsEnabled: () => boolean, getTimeSinceLastUserModification: () => number, lsp: Lsp);
28
+ onInlineCompletion(params: InlineCompletionWithReferencesParams, token: CancellationToken): Promise<InlineCompletionListWithReferences>;
29
+ private processNewCompletionRequest;
30
+ private processSuggestionResponse;
31
+ private handleSuggestionsErrors;
32
+ }
@@ -0,0 +1,377 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InlineCompletionHandler = void 0;
4
+ const server_interface_1 = require("@aws/language-server-runtimes/server-interface");
5
+ const autoTrigger_1 = require("../auto-trigger/autoTrigger");
6
+ const codeWhispererService_1 = require("../../../shared/codeWhispererService");
7
+ const languageDetection_1 = require("../../../shared/languageDetection");
8
+ const utils_1 = require("../../../shared/utils");
9
+ const telemetryUtils_1 = require("../../../shared/telemetryUtils");
10
+ const lsp_core_1 = require("@aws/lsp-core");
11
+ const errors_1 = require("../../../shared/amazonQServiceManager/errors");
12
+ const utils_2 = require("../../../shared/utils");
13
+ const workspaceFolderManager_1 = require("../../workspaceContext/workspaceFolderManager");
14
+ const telemetry_1 = require("../telemetry/telemetry");
15
+ const constants_1 = require("../contants/constants");
16
+ const IdleWorkspaceManager_1 = require("../../workspaceContext/IdleWorkspaceManager");
17
+ const mergeRightUtils_1 = require("../utils/mergeRightUtils");
18
+ const textDocumentUtils_1 = require("../utils/textDocumentUtils");
19
+ class InlineCompletionHandler {
20
+ logging;
21
+ workspace;
22
+ amazonQServiceManager;
23
+ completionSessionManager;
24
+ codePercentageTracker;
25
+ userWrittenCodeTracker;
26
+ recentEditTracker;
27
+ cursorTracker;
28
+ streakTracker;
29
+ telemetry;
30
+ telemetryService;
31
+ credentialsProvider;
32
+ getEditsEnabled;
33
+ getTimeSinceLastUserModification;
34
+ lsp;
35
+ isOnInlineCompletionHandlerInProgress = false;
36
+ constructor(logging, workspace, amazonQServiceManager, completionSessionManager, codePercentageTracker, userWrittenCodeTracker, recentEditTracker, cursorTracker, streakTracker, telemetry, telemetryService, credentialsProvider, getEditsEnabled, getTimeSinceLastUserModification, lsp) {
37
+ this.logging = logging;
38
+ this.workspace = workspace;
39
+ this.amazonQServiceManager = amazonQServiceManager;
40
+ this.completionSessionManager = completionSessionManager;
41
+ this.codePercentageTracker = codePercentageTracker;
42
+ this.userWrittenCodeTracker = userWrittenCodeTracker;
43
+ this.recentEditTracker = recentEditTracker;
44
+ this.cursorTracker = cursorTracker;
45
+ this.streakTracker = streakTracker;
46
+ this.telemetry = telemetry;
47
+ this.telemetryService = telemetryService;
48
+ this.credentialsProvider = credentialsProvider;
49
+ this.getEditsEnabled = getEditsEnabled;
50
+ this.getTimeSinceLastUserModification = getTimeSinceLastUserModification;
51
+ this.lsp = lsp;
52
+ }
53
+ async onInlineCompletion(params, token) {
54
+ // this handle should not run concurrently because
55
+ // 1. it would create a high volume of traffic, causing throttling
56
+ // 2. it is not designed to handle concurrent changes to these state variables.
57
+ // when one handler is at the API call stage, it has not yet update the session state
58
+ // but another request can start, causing the state to be incorrect.
59
+ IdleWorkspaceManager_1.IdleWorkspaceManager.recordActivityTimestamp();
60
+ if (this.isOnInlineCompletionHandlerInProgress) {
61
+ this.logging.log(`Skip concurrent inline completion`);
62
+ return constants_1.EMPTY_RESULT;
63
+ }
64
+ // Add this check to ensure service manager is initialized
65
+ if (!this.amazonQServiceManager) {
66
+ this.logging.log('Amazon Q Service Manager not initialized yet');
67
+ return constants_1.EMPTY_RESULT;
68
+ }
69
+ this.isOnInlineCompletionHandlerInProgress = true;
70
+ try {
71
+ // On every new completion request close current inflight session.
72
+ const currentSession = this.completionSessionManager.getCurrentSession();
73
+ if (currentSession && currentSession.state == 'REQUESTING' && !params.partialResultToken) {
74
+ // this REQUESTING state only happens when the session is initialized, which is rare
75
+ currentSession.discardInflightSessionOnNewInvocation = true;
76
+ }
77
+ if (this.cursorTracker) {
78
+ this.cursorTracker.trackPosition(params.textDocument.uri, params.position);
79
+ }
80
+ const textDocument = await (0, textDocumentUtils_1.getTextDocument)(params.textDocument.uri, this.workspace, this.logging);
81
+ const codeWhispererService = this.amazonQServiceManager.getCodewhispererService();
82
+ const authType = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken ? 'token' : 'iam';
83
+ this.logging.debug(`[INLINE_COMPLETION] Service ready - auth: ${authType}, partial token: ${!!params.partialResultToken}`);
84
+ if (params.partialResultToken && currentSession) {
85
+ // subsequent paginated requests for current session
86
+ try {
87
+ const suggestionResponse = await codeWhispererService.generateSuggestions({
88
+ ...currentSession.requestContext,
89
+ fileContext: {
90
+ ...currentSession.requestContext.fileContext,
91
+ },
92
+ nextToken: `${params.partialResultToken}`,
93
+ });
94
+ return await this.processSuggestionResponse(suggestionResponse, currentSession, false, params.context.selectedCompletionInfo?.range);
95
+ }
96
+ catch (error) {
97
+ return this.handleSuggestionsErrors(error, currentSession);
98
+ }
99
+ }
100
+ else {
101
+ return await this.processNewCompletionRequest(params, textDocument, token);
102
+ }
103
+ }
104
+ finally {
105
+ this.isOnInlineCompletionHandlerInProgress = false;
106
+ }
107
+ }
108
+ async processNewCompletionRequest(params, textDocument, token) {
109
+ // request for new session
110
+ if (!textDocument) {
111
+ this.logging.log(`textDocument [${params.textDocument.uri}] not found`);
112
+ return constants_1.EMPTY_RESULT;
113
+ }
114
+ let inferredLanguageId = (0, languageDetection_1.getSupportedLanguageId)(textDocument);
115
+ if (params.fileContextOverride?.programmingLanguage) {
116
+ inferredLanguageId = params.fileContextOverride?.programmingLanguage;
117
+ }
118
+ if (!inferredLanguageId) {
119
+ this.logging.log(`textDocument [${params.textDocument.uri}] with languageId [${textDocument.languageId}] not supported`);
120
+ return constants_1.EMPTY_RESULT;
121
+ }
122
+ // Build request context
123
+ const isAutomaticLspTriggerKind = params.context.triggerKind == server_interface_1.InlineCompletionTriggerKind.Automatic;
124
+ const maxResults = isAutomaticLspTriggerKind ? 1 : 5;
125
+ const selectionRange = params.context.selectedCompletionInfo?.range;
126
+ const startPreprocessTimestamp = Date.now();
127
+ // For Jupyter Notebook in VSC, the language server does not have access to
128
+ // its internal states including current active cell index, etc
129
+ // we rely on VSC to calculate file context
130
+ let fileContext = undefined;
131
+ if (params.fileContextOverride) {
132
+ fileContext = {
133
+ leftFileContent: params.fileContextOverride.leftFileContent,
134
+ rightFileContent: params.fileContextOverride.rightFileContent,
135
+ filename: params.fileContextOverride.filename,
136
+ fileUri: params.fileContextOverride.fileUri,
137
+ programmingLanguage: {
138
+ languageName: inferredLanguageId,
139
+ },
140
+ };
141
+ }
142
+ else {
143
+ fileContext = (0, codeWhispererService_1.getFileContext)({
144
+ textDocument,
145
+ inferredLanguageId,
146
+ position: params.position,
147
+ workspaceFolder: this.workspace.getWorkspaceFolder(textDocument.uri),
148
+ });
149
+ }
150
+ const workspaceState = workspaceFolderManager_1.WorkspaceFolderManager.getInstance()?.getWorkspaceState();
151
+ const workspaceId = workspaceState?.webSocketClient?.isConnected() ? workspaceState.workspaceId : undefined;
152
+ const previousSession = this.completionSessionManager.getPreviousSession();
153
+ // Only refer to decisions in the past 2 mins
154
+ const previousDecisionForClassifier = previousSession && Date.now() - previousSession.decisionMadeTimestamp <= 2 * 60 * 1000
155
+ ? previousSession.getAggregatedUserTriggerDecision()
156
+ : undefined;
157
+ let ideCategory = '';
158
+ const initializeParams = this.lsp.getClientInitializeParams();
159
+ if (initializeParams !== undefined) {
160
+ ideCategory = (0, telemetryUtils_1.getIdeCategory)(initializeParams);
161
+ }
162
+ // auto trigger code path
163
+ let codewhispererAutoTriggerType = undefined;
164
+ let triggerCharacters = '';
165
+ let autoTriggerResult = undefined;
166
+ if (isAutomaticLspTriggerKind) {
167
+ // Reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/classifierTrigger.ts#L477
168
+ if (params.documentChangeParams?.contentChanges &&
169
+ params.documentChangeParams.contentChanges.length > 0 &&
170
+ params.documentChangeParams.contentChanges[0].text !== undefined) {
171
+ triggerCharacters = params.documentChangeParams.contentChanges[0].text;
172
+ codewhispererAutoTriggerType = (0, autoTrigger_1.getAutoTriggerType)(params.documentChangeParams.contentChanges);
173
+ }
174
+ else {
175
+ // if the client does not emit document change for the trigger, use left most character.
176
+ triggerCharacters = fileContext.leftFileContent.trim().at(-1) ?? '';
177
+ codewhispererAutoTriggerType = (0, autoTrigger_1.triggerType)(fileContext);
178
+ }
179
+ // See: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L132
180
+ // In such cases, do not auto trigger.
181
+ if (codewhispererAutoTriggerType === undefined) {
182
+ return constants_1.EMPTY_RESULT;
183
+ }
184
+ autoTriggerResult = (0, autoTrigger_1.autoTrigger)({
185
+ fileContext, // The left/right file context and programming language
186
+ lineNum: params.position.line, // the line number of the invocation, this is the line of the cursor
187
+ char: triggerCharacters, // Add the character just inserted, if any, before the invication position
188
+ ide: ideCategory ?? '',
189
+ os: (0, autoTrigger_1.getNormalizeOsName)(),
190
+ previousDecision: previousDecisionForClassifier, // The last decision by the user on the previous invocation
191
+ triggerType: codewhispererAutoTriggerType, // The 2 trigger types currently influencing the Auto-Trigger are SpecialCharacter and Enter
192
+ }, this.logging);
193
+ if (codewhispererAutoTriggerType === 'Classifier' && !autoTriggerResult.shouldTrigger) {
194
+ return constants_1.EMPTY_RESULT;
195
+ }
196
+ }
197
+ let requestContext = {
198
+ fileContext,
199
+ maxResults,
200
+ };
201
+ const codeWhispererService = this.amazonQServiceManager.getCodewhispererService();
202
+ const supplementalContext = await codeWhispererService.constructSupplementalContext(textDocument, params.position, this.workspace, this.recentEditTracker, this.logging, token, params.openTabFilepaths, { includeRecentEdits: false });
203
+ if (supplementalContext?.items) {
204
+ requestContext.supplementalContexts = supplementalContext.items;
205
+ }
206
+ // Close ACTIVE session and record Discard trigger decision immediately
207
+ const currentSession = this.completionSessionManager.getCurrentSession();
208
+ if (currentSession && currentSession.state === 'ACTIVE') {
209
+ // Emit user trigger decision at session close time for active session
210
+ // TODO: yuxqiang workaround to exclude JB from this logic because JB and VSC handle a
211
+ // bit differently in the case when there's a new trigger while a reject/discard event is sent
212
+ // for the previous trigger
213
+ if (ideCategory !== 'JETBRAINS') {
214
+ this.completionSessionManager.discardSession(currentSession);
215
+ const streakLength = this.getEditsEnabled() ? this.streakTracker.getAndUpdateStreakLength(false) : 0;
216
+ await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(this.telemetry, this.telemetryService, currentSession, this.getTimeSinceLastUserModification(), 0, 0, [], [], streakLength);
217
+ }
218
+ }
219
+ const supplementalMetadata = supplementalContext?.supContextData;
220
+ const newSession = this.completionSessionManager.createSession({
221
+ document: textDocument,
222
+ startPreprocessTimestamp: startPreprocessTimestamp,
223
+ startPosition: params.position,
224
+ triggerType: isAutomaticLspTriggerKind ? 'AutoTrigger' : 'OnDemand',
225
+ language: fileContext.programmingLanguage.languageName,
226
+ requestContext: requestContext,
227
+ autoTriggerType: isAutomaticLspTriggerKind ? codewhispererAutoTriggerType : undefined,
228
+ triggerCharacter: triggerCharacters,
229
+ classifierResult: autoTriggerResult?.classifierResult,
230
+ classifierThreshold: autoTriggerResult?.classifierThreshold,
231
+ credentialStartUrl: this.credentialsProvider.getConnectionMetadata?.()?.sso?.startUrl ?? undefined,
232
+ supplementalMetadata: supplementalMetadata,
233
+ customizationArn: lsp_core_1.textUtils.undefinedIfEmpty(codeWhispererService.customizationArn),
234
+ });
235
+ // Add extra context to request context
236
+ const { extraContext } = this.amazonQServiceManager.getConfiguration().inlineSuggestions;
237
+ if (extraContext) {
238
+ requestContext.fileContext.leftFileContent =
239
+ extraContext + '\n' + requestContext.fileContext.leftFileContent;
240
+ }
241
+ // Create the appropriate request based on service type
242
+ let generateCompletionReq;
243
+ if (codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken) {
244
+ const tokenRequest = requestContext;
245
+ generateCompletionReq = {
246
+ ...tokenRequest,
247
+ ...(workspaceId ? { workspaceId } : {}),
248
+ };
249
+ }
250
+ else {
251
+ const iamRequest = requestContext;
252
+ generateCompletionReq = {
253
+ ...iamRequest,
254
+ };
255
+ }
256
+ try {
257
+ const authType = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken ? 'token' : 'iam';
258
+ this.logging.debug(`[INLINE_COMPLETION] API call - generateSuggestions (new session, ${authType})`);
259
+ const suggestionResponse = await codeWhispererService.generateSuggestions(generateCompletionReq);
260
+ return await this.processSuggestionResponse(suggestionResponse, newSession, true, selectionRange);
261
+ }
262
+ catch (error) {
263
+ return this.handleSuggestionsErrors(error, newSession);
264
+ }
265
+ }
266
+ async processSuggestionResponse(suggestionResponse, session, isNewSession, selectionRange) {
267
+ this.codePercentageTracker.countInvocation(session.language);
268
+ this.userWrittenCodeTracker?.recordUsageCount(session.language);
269
+ session.includeImportsWithSuggestions =
270
+ this.amazonQServiceManager.getConfiguration().includeImportsWithSuggestions;
271
+ if (isNewSession) {
272
+ // Populate the session with information from codewhisperer response
273
+ session.suggestions = suggestionResponse.suggestions;
274
+ session.responseContext = suggestionResponse.responseContext;
275
+ session.codewhispererSessionId = suggestionResponse.responseContext.codewhispererSessionId;
276
+ session.setTimeToFirstRecommendation();
277
+ session.predictionType = codeWhispererService_1.SuggestionType.COMPLETION;
278
+ }
279
+ else {
280
+ session.suggestions = [...session.suggestions, ...suggestionResponse.suggestions];
281
+ }
282
+ // Emit service invocation telemetry for every request sent to backend
283
+ (0, telemetry_1.emitServiceInvocationTelemetry)(this.telemetry, session, suggestionResponse.responseContext.requestId);
284
+ // Discard previous inflight API response due to new trigger
285
+ if (session.discardInflightSessionOnNewInvocation) {
286
+ session.discardInflightSessionOnNewInvocation = false;
287
+ this.completionSessionManager.discardSession(session);
288
+ const streakLength = this.getEditsEnabled() ? this.streakTracker.getAndUpdateStreakLength(false) : 0;
289
+ await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(this.telemetry, this.telemetryService, session, this.getTimeSinceLastUserModification(), 0, 0, [], [], streakLength);
290
+ }
291
+ // session was closed by user already made decisions consequent completion request before new paginated API response was received
292
+ if (session.predictionType !== codeWhispererService_1.SuggestionType.EDIT && // TODO: this is a shorterm fix to allow Edits tabtabtab experience, however the real solution is to manage such sessions correctly
293
+ (session.state === 'CLOSED' || session.state === 'DISCARD')) {
294
+ return constants_1.EMPTY_RESULT;
295
+ }
296
+ // API response was recieved, we can activate session now
297
+ this.completionSessionManager.activateSession(session);
298
+ // Process suggestions to apply Empty or Filter filters
299
+ const filteredSuggestions = suggestionResponse.suggestions
300
+ // Empty suggestion filter
301
+ .filter(suggestion => {
302
+ if (suggestion.content === '') {
303
+ session.setSuggestionState(suggestion.itemId, 'Empty');
304
+ return false;
305
+ }
306
+ return true;
307
+ })
308
+ // References setting filter
309
+ .filter(suggestion => {
310
+ // State to track whether code with references should be included in
311
+ // the response. No locking or concurrency controls, filtering is done
312
+ // right before returning and is only guaranteed to be consistent within
313
+ // the context of a single response.
314
+ const { includeSuggestionsWithCodeReferences } = this.amazonQServiceManager.getConfiguration();
315
+ if (includeSuggestionsWithCodeReferences) {
316
+ return true;
317
+ }
318
+ if (suggestion.references == null || suggestion.references.length === 0) {
319
+ return true;
320
+ }
321
+ // Filter out suggestions that have references when includeSuggestionsWithCodeReferences setting is true
322
+ session.setSuggestionState(suggestion.itemId, 'Filter');
323
+ return false;
324
+ });
325
+ const { includeImportsWithSuggestions } = this.amazonQServiceManager.getConfiguration();
326
+ const suggestionsWithRightContext = (0, mergeRightUtils_1.mergeSuggestionsWithRightContext)(session.requestContext.fileContext.rightFileContent, filteredSuggestions, includeImportsWithSuggestions, selectionRange).filter(suggestion => {
327
+ // Discard suggestions that have empty string insertText after right context merge and can't be displayed anymore
328
+ if (suggestion.insertText === '') {
329
+ session.setSuggestionState(suggestion.itemId, 'Discard');
330
+ return false;
331
+ }
332
+ return true;
333
+ });
334
+ suggestionsWithRightContext.forEach(suggestion => {
335
+ const cachedSuggestion = session.suggestions.find(s => s.itemId === suggestion.itemId);
336
+ if (cachedSuggestion)
337
+ cachedSuggestion.insertText = suggestion.insertText.toString();
338
+ });
339
+ // TODO: need dedupe after right context merging but I don't see one
340
+ session.suggestionsAfterRightContextMerge.push(...suggestionsWithRightContext);
341
+ session.codewhispererSuggestionImportCount =
342
+ session.codewhispererSuggestionImportCount +
343
+ suggestionsWithRightContext.reduce((total, suggestion) => {
344
+ return total + (suggestion.mostRelevantMissingImports?.length || 0);
345
+ }, 0);
346
+ // If after all server-side filtering no suggestions can be displayed, and there is no nextToken
347
+ // close session and return empty results
348
+ if (session.suggestionsAfterRightContextMerge.length === 0 && !suggestionResponse.responseContext.nextToken) {
349
+ this.completionSessionManager.closeSession(session);
350
+ await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(this.telemetry, this.telemetryService, session, this.getTimeSinceLastUserModification());
351
+ return constants_1.EMPTY_RESULT;
352
+ }
353
+ return {
354
+ items: suggestionsWithRightContext,
355
+ sessionId: session.id,
356
+ partialResultToken: suggestionResponse.responseContext.nextToken,
357
+ };
358
+ }
359
+ handleSuggestionsErrors(error, session) {
360
+ this.logging.log('Recommendation failure: ' + error);
361
+ (0, telemetry_1.emitServiceInvocationFailure)(this.telemetry, session, error);
362
+ // UTDE telemetry is not needed here because in error cases we don't care about UTDE for errored out sessions
363
+ this.completionSessionManager.closeSession(session);
364
+ let translatedError = error;
365
+ if ((0, utils_2.hasConnectionExpired)(error)) {
366
+ translatedError = new errors_1.AmazonQServiceConnectionExpiredError((0, utils_1.getErrorMessage)(error));
367
+ }
368
+ if (translatedError instanceof errors_1.AmazonQError) {
369
+ throw new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, translatedError.message || 'Error processing suggestion requests', {
370
+ awsErrorCode: translatedError.code,
371
+ });
372
+ }
373
+ return constants_1.EMPTY_RESULT;
374
+ }
375
+ }
376
+ exports.InlineCompletionHandler = InlineCompletionHandler;
377
+ //# sourceMappingURL=inlineCompletionHandler.js.map