@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":"chatTelemetryController.js","sourceRoot":"","sources":["../../../../src/language-server/chat/telemetry/chatTelemetryController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatTelemetryController.js","sourceRoot":"","sources":["../../../../src/language-server/chat/telemetry/chatTelemetryController.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,3 @@ export declare const CodewhispererServerFactory: (serviceManager: (credentialsPr
4
4
  export declare const CodeWhispererServer: Server;
5
5
  export declare const CodeWhispererServerIAM: Server;
6
6
  export declare const CodeWhispererServerToken: Server;
7
- export declare const getLanguageIdFromUri: (uri: string, logging?: any) => string;
@@ -1,65 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLanguageIdFromUri = exports.CodeWhispererServerToken = exports.CodeWhispererServerIAM = exports.CodeWhispererServer = exports.CodewhispererServerFactory = 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");
3
+ exports.CodeWhispererServerToken = exports.CodeWhispererServerIAM = exports.CodeWhispererServer = exports.CodewhispererServerFactory = void 0;
7
4
  const languageDetection_1 = require("../../shared/languageDetection");
8
- const mergeRightUtils_1 = require("./mergeRightUtils");
9
5
  const sessionManager_1 = require("./session/sessionManager");
10
- const codePercentage_1 = require("./codePercentage");
6
+ const codePercentageTracker_1 = require("./tracker/codePercentageTracker");
11
7
  const utils_1 = require("../../shared/utils");
12
8
  const telemetryUtils_1 = require("../../shared/telemetryUtils");
13
- const lsp_core_1 = require("@aws/lsp-core");
14
9
  const telemetryService_1 = require("../../shared/telemetry/telemetryService");
15
- const codeDiffTracker_1 = require("./codeDiffTracker");
10
+ const codeDiffTracker_1 = require("./tracker/codeDiffTracker");
16
11
  const errors_1 = require("../../shared/amazonQServiceManager/errors");
17
12
  const AmazonQTokenServiceManager_1 = require("../../shared/amazonQServiceManager/AmazonQTokenServiceManager");
18
- const utils_2 = require("../../shared/utils");
19
13
  const AmazonQIAMServiceManager_1 = require("../../shared/amazonQServiceManager/AmazonQIAMServiceManager");
20
- const workspaceFolderManager_1 = require("../workspaceContext/workspaceFolderManager");
21
14
  const userWrittenCodeTracker_1 = require("../../shared/userWrittenCodeTracker");
22
15
  const codeEditTracker_1 = require("./tracker/codeEditTracker");
23
16
  const cursorTracker_1 = require("./tracker/cursorTracker");
24
17
  const rejectedEditTracker_1 = require("./tracker/rejectedEditTracker");
25
18
  const streakTracker_1 = require("./tracker/streakTracker");
26
- const diffUtils_1 = require("./diffUtils");
27
- const telemetry_1 = require("./telemetry");
28
19
  const documentChangedListener_1 = require("./documentChangedListener");
29
- const editCompletionHandler_1 = require("./editCompletionHandler");
30
- const constants_1 = require("./constants");
31
- const IdleWorkspaceManager_1 = require("../workspaceContext/IdleWorkspaceManager");
32
- const vscode_uri_1 = require("vscode-uri");
33
- const utils_3 = require("../../shared/utils");
34
- const mergeSuggestionsWithRightContext = (rightFileContext, suggestions, includeImportsWithSuggestions, range) => {
35
- return suggestions.map(suggestion => {
36
- const insertText = (0, mergeRightUtils_1.truncateOverlapWithRightContext)(rightFileContext, suggestion.content);
37
- let references = suggestion.references
38
- ?.filter(ref => !(ref.recommendationContentSpan?.start && insertText.length <= ref.recommendationContentSpan.start) && insertText.length)
39
- .map(r => {
40
- return {
41
- licenseName: r.licenseName,
42
- referenceUrl: r.url,
43
- referenceName: r.repository,
44
- position: r.recommendationContentSpan && {
45
- startCharacter: r.recommendationContentSpan.start,
46
- endCharacter: r.recommendationContentSpan.end
47
- ? Math.min(r.recommendationContentSpan.end, insertText.length - 1)
48
- : r.recommendationContentSpan.end,
49
- },
50
- };
51
- });
52
- return {
53
- itemId: suggestion.itemId,
54
- insertText: insertText,
55
- range,
56
- references: references?.length ? references : undefined,
57
- mostRelevantMissingImports: includeImportsWithSuggestions
58
- ? suggestion.mostRelevantMissingImports
59
- : undefined,
60
- };
61
- });
62
- };
20
+ const editCompletionHandler_1 = require("./handler/editCompletionHandler");
21
+ const inlineCompletionHandler_1 = require("./handler/inlineCompletionHandler");
22
+ const sessionResultsHandler_1 = require("./handler/sessionResultsHandler");
23
+ const utils_2 = require("../../shared/utils");
63
24
  const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, lsp, workspace, telemetry, logging, runtime, sdkInitializator }) => {
64
25
  let lastUserModificationTime;
65
26
  let timeSinceLastUserModification = 0;
@@ -78,418 +39,18 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
78
39
  let userWrittenCodeTracker;
79
40
  let codeDiffTracker;
80
41
  let editCompletionHandler;
42
+ let inlineCompletionHandler;
81
43
  // Trackers for monitoring edits and cursor position.
82
44
  const recentEditTracker = codeEditTracker_1.RecentEditTracker.getInstance(logging, codeEditTracker_1.RecentEditTrackerDefaultConfig);
83
45
  const cursorTracker = cursorTracker_1.CursorTracker.getInstance();
84
46
  const rejectedEditTracker = rejectedEditTracker_1.RejectedEditTracker.getInstance(logging, rejectedEditTracker_1.DEFAULT_REJECTED_EDIT_TRACKER_CONFIG);
85
47
  const streakTracker = streakTracker_1.StreakTracker.getInstance();
86
48
  let editsEnabled = false;
87
- let isOnInlineCompletionHandlerInProgress = false;
88
49
  const documentChangedListener = new documentChangedListener_1.DocumentChangedListener();
89
50
  const onInlineCompletionHandler = async (params, token) => {
90
- // this handle should not run concurrently because
91
- // 1. it would create a high volume of traffic, causing throttling
92
- // 2. it is not designed to handle concurrent changes to these state variables.
93
- // when one handler is at the API call stage, it has not yet update the session state
94
- // but another request can start, causing the state to be incorrect.
95
- IdleWorkspaceManager_1.IdleWorkspaceManager.recordActivityTimestamp();
96
- if (isOnInlineCompletionHandlerInProgress) {
97
- logging.log(`Skip concurrent inline completion`);
98
- return constants_1.EMPTY_RESULT;
99
- }
100
- // Add this check to ensure service manager is initialized
101
- if (!amazonQServiceManager) {
102
- logging.log('Amazon Q Service Manager not initialized yet');
103
- return constants_1.EMPTY_RESULT;
104
- }
105
- isOnInlineCompletionHandlerInProgress = true;
106
- try {
107
- // On every new completion request close current inflight session.
108
- const currentSession = completionSessionManager.getCurrentSession();
109
- if (currentSession && currentSession.state == 'REQUESTING' && !params.partialResultToken) {
110
- // this REQUESTING state only happens when the session is initialized, which is rare
111
- currentSession.discardInflightSessionOnNewInvocation = true;
112
- }
113
- if (cursorTracker) {
114
- cursorTracker.trackPosition(params.textDocument.uri, params.position);
115
- }
116
- const textDocument = await getTextDocument(params.textDocument.uri, workspace, logging);
117
- const codeWhispererService = amazonQServiceManager.getCodewhispererService();
118
- const authType = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken ? 'token' : 'iam';
119
- logging.debug(`[INLINE_COMPLETION] Service ready - auth: ${authType}, partial token: ${!!params.partialResultToken}`);
120
- if (params.partialResultToken && currentSession) {
121
- // subsequent paginated requests for current session
122
- try {
123
- const suggestionResponse = await codeWhispererService.generateSuggestions({
124
- ...currentSession.requestContext,
125
- fileContext: {
126
- ...currentSession.requestContext.fileContext,
127
- },
128
- nextToken: `${params.partialResultToken}`,
129
- });
130
- return await processSuggestionResponse(suggestionResponse, currentSession, false, params.context.selectedCompletionInfo?.range);
131
- }
132
- catch (error) {
133
- return handleSuggestionsErrors(error, currentSession);
134
- }
135
- }
136
- else {
137
- // request for new session
138
- if (!textDocument) {
139
- logging.log(`textDocument [${params.textDocument.uri}] not found`);
140
- return constants_1.EMPTY_RESULT;
141
- }
142
- let inferredLanguageId = (0, languageDetection_1.getSupportedLanguageId)(textDocument);
143
- if (params.fileContextOverride?.programmingLanguage) {
144
- inferredLanguageId = params.fileContextOverride?.programmingLanguage;
145
- }
146
- if (!inferredLanguageId) {
147
- logging.log(`textDocument [${params.textDocument.uri}] with languageId [${textDocument.languageId}] not supported`);
148
- return constants_1.EMPTY_RESULT;
149
- }
150
- // Build request context
151
- const isAutomaticLspTriggerKind = params.context.triggerKind == server_interface_1.InlineCompletionTriggerKind.Automatic;
152
- const maxResults = isAutomaticLspTriggerKind ? 1 : 5;
153
- const selectionRange = params.context.selectedCompletionInfo?.range;
154
- const startPreprocessTimestamp = Date.now();
155
- // For Jupyter Notebook in VSC, the language server does not have access to
156
- // its internal states including current active cell index, etc
157
- // we rely on VSC to calculate file context
158
- let fileContext = undefined;
159
- if (params.fileContextOverride) {
160
- fileContext = {
161
- leftFileContent: params.fileContextOverride.leftFileContent,
162
- rightFileContent: params.fileContextOverride.rightFileContent,
163
- filename: params.fileContextOverride.filename,
164
- fileUri: params.fileContextOverride.fileUri,
165
- programmingLanguage: {
166
- languageName: inferredLanguageId,
167
- },
168
- };
169
- }
170
- else {
171
- fileContext = (0, codeWhispererService_1.getFileContext)({
172
- textDocument,
173
- inferredLanguageId,
174
- position: params.position,
175
- workspaceFolder: workspace.getWorkspaceFolder(textDocument.uri),
176
- });
177
- }
178
- const workspaceState = workspaceFolderManager_1.WorkspaceFolderManager.getInstance()?.getWorkspaceState();
179
- const workspaceId = workspaceState?.webSocketClient?.isConnected()
180
- ? workspaceState.workspaceId
181
- : undefined;
182
- const previousSession = completionSessionManager.getPreviousSession();
183
- // Only refer to decisions in the past 2 mins
184
- const previousDecisionForClassifier = previousSession && Date.now() - previousSession.decisionMadeTimestamp <= 2 * 60 * 1000
185
- ? previousSession.getAggregatedUserTriggerDecision()
186
- : undefined;
187
- let ideCategory = '';
188
- const initializeParams = lsp.getClientInitializeParams();
189
- if (initializeParams !== undefined) {
190
- ideCategory = (0, telemetryUtils_1.getIdeCategory)(initializeParams);
191
- }
192
- // auto trigger code path
193
- let codewhispererAutoTriggerType = undefined;
194
- let triggerCharacters = '';
195
- let autoTriggerResult = undefined;
196
- if (isAutomaticLspTriggerKind) {
197
- // Reference: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/classifierTrigger.ts#L477
198
- if (params.documentChangeParams?.contentChanges &&
199
- params.documentChangeParams.contentChanges.length > 0 &&
200
- params.documentChangeParams.contentChanges[0].text !== undefined) {
201
- triggerCharacters = params.documentChangeParams.contentChanges[0].text;
202
- codewhispererAutoTriggerType = (0, autoTrigger_1.getAutoTriggerType)(params.documentChangeParams.contentChanges);
203
- }
204
- else {
205
- // if the client does not emit document change for the trigger, use left most character.
206
- triggerCharacters = fileContext.leftFileContent.trim().at(-1) ?? '';
207
- codewhispererAutoTriggerType = (0, autoTrigger_1.triggerType)(fileContext);
208
- }
209
- // See: https://github.com/aws/aws-toolkit-vscode/blob/amazonq/v1.74.0/packages/core/src/codewhisperer/service/keyStrokeHandler.ts#L132
210
- // In such cases, do not auto trigger.
211
- if (codewhispererAutoTriggerType === undefined) {
212
- return constants_1.EMPTY_RESULT;
213
- }
214
- autoTriggerResult = (0, autoTrigger_1.autoTrigger)({
215
- fileContext, // The left/right file context and programming language
216
- lineNum: params.position.line, // the line number of the invocation, this is the line of the cursor
217
- char: triggerCharacters, // Add the character just inserted, if any, before the invication position
218
- ide: ideCategory ?? '',
219
- os: (0, autoTrigger_1.getNormalizeOsName)(),
220
- previousDecision: previousDecisionForClassifier, // The last decision by the user on the previous invocation
221
- triggerType: codewhispererAutoTriggerType, // The 2 trigger types currently influencing the Auto-Trigger are SpecialCharacter and Enter
222
- }, logging);
223
- if (codewhispererAutoTriggerType === 'Classifier' && !autoTriggerResult.shouldTrigger) {
224
- return constants_1.EMPTY_RESULT;
225
- }
226
- }
227
- let requestContext = {
228
- fileContext,
229
- maxResults,
230
- };
231
- const supplementalContext = await codeWhispererService.constructSupplementalContext(textDocument, params.position, workspace, recentEditTracker, logging, token, params.openTabFilepaths, { includeRecentEdits: false });
232
- if (supplementalContext?.items) {
233
- requestContext.supplementalContexts = supplementalContext.items;
234
- }
235
- // Close ACTIVE session and record Discard trigger decision immediately
236
- if (currentSession && currentSession.state === 'ACTIVE') {
237
- // Emit user trigger decision at session close time for active session
238
- // TODO: yuxqiang workaround to exclude JB from this logic because JB and VSC handle a
239
- // bit differently in the case when there's a new trigger while a reject/discard event is sent
240
- // for the previous trigger
241
- if (ideCategory !== 'JETBRAINS') {
242
- completionSessionManager.discardSession(currentSession);
243
- const streakLength = editsEnabled ? streakTracker.getAndUpdateStreakLength(false) : 0;
244
- await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, currentSession, timeSinceLastUserModification, 0, 0, [], [], streakLength);
245
- }
246
- }
247
- const supplementalMetadata = supplementalContext?.supContextData;
248
- const newSession = completionSessionManager.createSession({
249
- document: textDocument,
250
- startPreprocessTimestamp: startPreprocessTimestamp,
251
- startPosition: params.position,
252
- triggerType: isAutomaticLspTriggerKind ? 'AutoTrigger' : 'OnDemand',
253
- language: fileContext.programmingLanguage.languageName,
254
- requestContext: requestContext,
255
- autoTriggerType: isAutomaticLspTriggerKind ? codewhispererAutoTriggerType : undefined,
256
- triggerCharacter: triggerCharacters,
257
- classifierResult: autoTriggerResult?.classifierResult,
258
- classifierThreshold: autoTriggerResult?.classifierThreshold,
259
- credentialStartUrl: credentialsProvider.getConnectionMetadata?.()?.sso?.startUrl ?? undefined,
260
- supplementalMetadata: supplementalMetadata,
261
- customizationArn: lsp_core_1.textUtils.undefinedIfEmpty(codeWhispererService.customizationArn),
262
- });
263
- // Add extra context to request context
264
- const { extraContext } = amazonQServiceManager.getConfiguration().inlineSuggestions;
265
- if (extraContext) {
266
- requestContext.fileContext.leftFileContent =
267
- extraContext + '\n' + requestContext.fileContext.leftFileContent;
268
- }
269
- // Create the appropriate request based on service type
270
- let generateCompletionReq;
271
- if (codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken) {
272
- const tokenRequest = requestContext;
273
- generateCompletionReq = {
274
- ...tokenRequest,
275
- ...(workspaceId ? { workspaceId } : {}),
276
- };
277
- }
278
- else {
279
- const iamRequest = requestContext;
280
- generateCompletionReq = {
281
- ...iamRequest,
282
- };
283
- }
284
- try {
285
- const authType = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken ? 'token' : 'iam';
286
- logging.debug(`[INLINE_COMPLETION] API call - generateSuggestions (new session, ${authType})`);
287
- const suggestionResponse = await codeWhispererService.generateSuggestions(generateCompletionReq);
288
- return await processSuggestionResponse(suggestionResponse, newSession, true, selectionRange);
289
- }
290
- catch (error) {
291
- return handleSuggestionsErrors(error, newSession);
292
- }
293
- }
294
- }
295
- finally {
296
- isOnInlineCompletionHandlerInProgress = false;
297
- }
298
- };
299
- const processSuggestionResponse = async (suggestionResponse, session, isNewSession, selectionRange, textDocument) => {
300
- codePercentageTracker.countInvocation(session.language);
301
- userWrittenCodeTracker?.recordUsageCount(session.language);
302
- session.includeImportsWithSuggestions =
303
- amazonQServiceManager.getConfiguration().includeImportsWithSuggestions;
304
- if (isNewSession) {
305
- // Populate the session with information from codewhisperer response
306
- session.suggestions = suggestionResponse.suggestions;
307
- session.responseContext = suggestionResponse.responseContext;
308
- session.codewhispererSessionId = suggestionResponse.responseContext.codewhispererSessionId;
309
- session.setTimeToFirstRecommendation();
310
- session.predictionType = codeWhispererService_1.SuggestionType.COMPLETION;
311
- }
312
- else {
313
- session.suggestions = [...session.suggestions, ...suggestionResponse.suggestions];
314
- }
315
- // Emit service invocation telemetry for every request sent to backend
316
- (0, telemetry_1.emitServiceInvocationTelemetry)(telemetry, session, suggestionResponse.responseContext.requestId);
317
- // Discard previous inflight API response due to new trigger
318
- if (session.discardInflightSessionOnNewInvocation) {
319
- session.discardInflightSessionOnNewInvocation = false;
320
- completionSessionManager.discardSession(session);
321
- const streakLength = editsEnabled ? streakTracker.getAndUpdateStreakLength(false) : 0;
322
- await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification, 0, 0, [], [], streakLength);
323
- }
324
- // session was closed by user already made decisions consequent completion request before new paginated API response was received
325
- 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
326
- (session.state === 'CLOSED' || session.state === 'DISCARD')) {
327
- return constants_1.EMPTY_RESULT;
328
- }
329
- // API response was recieved, we can activate session now
330
- completionSessionManager.activateSession(session);
331
- // Process suggestions to apply Empty or Filter filters
332
- const filteredSuggestions = suggestionResponse.suggestions
333
- // Empty suggestion filter
334
- .filter(suggestion => {
335
- if (suggestion.content === '') {
336
- session.setSuggestionState(suggestion.itemId, 'Empty');
337
- return false;
338
- }
339
- return true;
340
- })
341
- // References setting filter
342
- .filter(suggestion => {
343
- // State to track whether code with references should be included in
344
- // the response. No locking or concurrency controls, filtering is done
345
- // right before returning and is only guaranteed to be consistent within
346
- // the context of a single response.
347
- const { includeSuggestionsWithCodeReferences } = amazonQServiceManager.getConfiguration();
348
- if (includeSuggestionsWithCodeReferences) {
349
- return true;
350
- }
351
- if (suggestion.references == null || suggestion.references.length === 0) {
352
- return true;
353
- }
354
- // Filter out suggestions that have references when includeSuggestionsWithCodeReferences setting is true
355
- session.setSuggestionState(suggestion.itemId, 'Filter');
356
- return false;
357
- });
358
- const { includeImportsWithSuggestions } = amazonQServiceManager.getConfiguration();
359
- const suggestionsWithRightContext = mergeSuggestionsWithRightContext(session.requestContext.fileContext.rightFileContent, filteredSuggestions, includeImportsWithSuggestions, selectionRange).filter(suggestion => {
360
- // Discard suggestions that have empty string insertText after right context merge and can't be displayed anymore
361
- if (suggestion.insertText === '') {
362
- session.setSuggestionState(suggestion.itemId, 'Discard');
363
- return false;
364
- }
365
- return true;
366
- });
367
- suggestionsWithRightContext.forEach(suggestion => {
368
- const cachedSuggestion = session.suggestions.find(s => s.itemId === suggestion.itemId);
369
- if (cachedSuggestion)
370
- cachedSuggestion.insertText = suggestion.insertText.toString();
371
- });
372
- // TODO: need dedupe after right context merging but I don't see one
373
- session.suggestionsAfterRightContextMerge.push(...suggestionsWithRightContext);
374
- session.codewhispererSuggestionImportCount =
375
- session.codewhispererSuggestionImportCount +
376
- suggestionsWithRightContext.reduce((total, suggestion) => {
377
- return total + (suggestion.mostRelevantMissingImports?.length || 0);
378
- }, 0);
379
- // If after all server-side filtering no suggestions can be displayed, and there is no nextToken
380
- // close session and return empty results
381
- if (session.suggestionsAfterRightContextMerge.length === 0 &&
382
- !suggestionResponse.responseContext.nextToken) {
383
- completionSessionManager.closeSession(session);
384
- await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification);
385
- return constants_1.EMPTY_RESULT;
386
- }
387
- return {
388
- items: suggestionsWithRightContext,
389
- sessionId: session.id,
390
- partialResultToken: suggestionResponse.responseContext.nextToken,
391
- };
392
- };
393
- const handleSuggestionsErrors = (error, session) => {
394
- logging.log('Recommendation failure: ' + error);
395
- (0, telemetry_1.emitServiceInvocationFailure)(telemetry, session, error);
396
- // UTDE telemetry is not needed here because in error cases we don't care about UTDE for errored out sessions
397
- completionSessionManager.closeSession(session);
398
- let translatedError = error;
399
- if ((0, utils_2.hasConnectionExpired)(error)) {
400
- translatedError = new errors_1.AmazonQServiceConnectionExpiredError((0, utils_1.getErrorMessage)(error));
401
- }
402
- if (translatedError instanceof errors_1.AmazonQError) {
403
- throw new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, translatedError.message || 'Error processing suggestion requests', {
404
- awsErrorCode: translatedError.code,
405
- });
406
- }
407
- return constants_1.EMPTY_RESULT;
408
- };
409
- // Schedule tracker for UserModification Telemetry event
410
- const enqueueCodeDiffEntry = (session, acceptedSuggestion, addedCharactersForEdit) => {
411
- const endPosition = (0, utils_1.getEndPositionForAcceptedSuggestion)(acceptedSuggestion.content, session.startPosition);
412
- // use the addedCharactersForEdit if it is EDIT suggestion type
413
- const originalString = addedCharactersForEdit ? addedCharactersForEdit : acceptedSuggestion.content;
414
- codeDiffTracker.enqueue({
415
- sessionId: session.codewhispererSessionId || '',
416
- requestId: session.responseContext?.requestId || '',
417
- fileUrl: session.document.uri,
418
- languageId: session.language,
419
- time: Date.now(),
420
- originalString: originalString,
421
- startPosition: session.startPosition,
422
- endPosition: endPosition,
423
- customizationArn: session.customizationArn,
424
- completionType: (0, utils_1.getCompletionType)(acceptedSuggestion),
425
- triggerType: session.triggerType,
426
- credentialStartUrl: session.credentialStartUrl,
427
- });
428
- };
429
- const onLogInlineCompletionSessionResultsHandler = async (params) => {
430
- const { sessionId, completionSessionResult, firstCompletionDisplayLatency, totalSessionDisplayTime, typeaheadLength, isInlineEdit, addedDiagnostics, removedDiagnostics, } = params;
431
- const sessionManager = params.isInlineEdit ? editSessionManager : completionSessionManager;
432
- const session = sessionManager.getSessionById(sessionId);
433
- if (!session) {
434
- logging.log(`ERROR: Session ID ${sessionId} was not found`);
435
- return;
436
- }
437
- if (session.state !== 'ACTIVE') {
438
- logging.log(`ERROR: Trying to record trigger decision for not-active session ${sessionId} with wrong state ${session.state}`);
439
- return;
440
- }
441
- const acceptedItemId = Object.keys(params.completionSessionResult).find(k => params.completionSessionResult[k].accepted);
442
- const isAccepted = acceptedItemId ? true : false;
443
- const acceptedSuggestion = session.suggestions.find(s => s.itemId === acceptedItemId);
444
- let addedLengthForEdits = 0;
445
- let deletedLengthForEdits = 0;
446
- if (acceptedSuggestion) {
447
- codePercentageTracker.countSuccess(session.language);
448
- if (session.predictionType === codeWhispererService_1.SuggestionType.EDIT && acceptedSuggestion.content) {
449
- // [acceptedSuggestion.insertText] will be undefined for NEP suggestion. Use [acceptedSuggestion.content] instead.
450
- // Since [acceptedSuggestion.content] is in the form of a diff, transform the content into addedCharacters and deletedCharacters.
451
- const { addedLines, deletedLines } = (0, diffUtils_1.getAddedAndDeletedLines)(acceptedSuggestion.content);
452
- const charDiffResult = (0, diffUtils_1.getCharacterDifferences)(addedLines, deletedLines);
453
- addedLengthForEdits = charDiffResult.charactersAdded;
454
- deletedLengthForEdits = charDiffResult.charactersRemoved;
455
- codePercentageTracker.countAcceptedTokensUsingCount(session.language, charDiffResult.charactersAdded);
456
- codePercentageTracker.addTotalTokensForEdits(session.language, charDiffResult.charactersAdded);
457
- enqueueCodeDiffEntry(session, acceptedSuggestion, addedLines.join('\n'));
458
- }
459
- else if (acceptedSuggestion.insertText) {
460
- codePercentageTracker.countAcceptedTokens(session.language, acceptedSuggestion.insertText);
461
- codePercentageTracker.countTotalTokens(session.language, acceptedSuggestion.insertText, true);
462
- enqueueCodeDiffEntry(session, acceptedSuggestion);
463
- }
464
- }
465
- // Handle rejected edit predictions
466
- if (isInlineEdit && !isAccepted) {
467
- // Find all rejected suggestions in this session
468
- const rejectedSuggestions = session.suggestions.filter(suggestion => {
469
- const result = completionSessionResult[suggestion.itemId];
470
- return result && result.seen && !result.accepted;
471
- });
472
- // Record each rejected edit
473
- for (const rejectedSuggestion of rejectedSuggestions) {
474
- if (rejectedSuggestion.content) {
475
- rejectedEditTracker.recordRejectedEdit({
476
- content: rejectedSuggestion.content,
477
- timestamp: Date.now(),
478
- documentUri: session.document.uri,
479
- position: session.startPosition,
480
- });
481
- logging.debug(`[EDIT_PREDICTION] Recorded rejected edit: ${rejectedSuggestion.content.substring(0, 20)}...`);
482
- }
483
- }
484
- }
485
- session.setClientResultData(completionSessionResult, firstCompletionDisplayLatency, totalSessionDisplayTime, typeaheadLength);
486
- if (firstCompletionDisplayLatency)
487
- (0, telemetry_1.emitPerceivedLatencyTelemetry)(telemetry, session);
488
- // Always emit user trigger decision at session close
489
- sessionManager.closeSession(session);
490
- const streakLength = editsEnabled ? streakTracker.getAndUpdateStreakLength(isAccepted) : 0;
491
- await (0, telemetry_1.emitUserTriggerDecisionTelemetry)(telemetry, telemetryService, session, timeSinceLastUserModification, addedLengthForEdits, deletedLengthForEdits, addedDiagnostics, removedDiagnostics, streakLength, Object.keys(params.completionSessionResult)[0]);
51
+ return await inlineCompletionHandler.onInlineCompletion(params, token);
492
52
  };
53
+ let sessionResultsHandler;
493
54
  const updateConfiguration = (updatedConfig) => {
494
55
  logging.debug('Updating configuration of inline complete server.');
495
56
  const { customizationArn, optOutTelemetryPreference, sendUserWrittenCodeMetrics } = updatedConfig;
@@ -517,7 +78,7 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
517
78
  ?.inlineCompletionWithReferences?.inlineEditSupport ?? false;
518
79
  telemetryService = new telemetryService_1.TelemetryService(amazonQServiceManager, credentialsProvider, telemetry, logging);
519
80
  telemetryService.updateUserContext((0, telemetryUtils_1.makeUserContextObject)(clientParams, runtime.platform, 'INLINE', amazonQServiceManager.serverInfo));
520
- codePercentageTracker = new codePercentage_1.CodePercentageTracker(telemetryService);
81
+ codePercentageTracker = new codePercentageTracker_1.CodePercentageTracker(telemetryService);
521
82
  codeDiffTracker = new codeDiffTracker_1.CodeDiffTracker(workspace, logging, async (entry, percentage, unmodifiedAcceptedCharacterCount) => {
522
83
  await telemetryService.emitUserModificationEvent({
523
84
  sessionId: entry.sessionId,
@@ -538,13 +99,17 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
538
99
  logging.log(`[SERVER] Initialized telemetry-dependent components: CodePercentageTracker, CodeDiffTracker, periodicLogging=${periodicLoggingEnabled}`);
539
100
  await amazonQServiceManager.addDidChangeConfigurationListener(updateConfiguration);
540
101
  editCompletionHandler = new editCompletionHandler_1.EditCompletionHandler(logging, clientParams, workspace, amazonQServiceManager, editSessionManager, cursorTracker, recentEditTracker, rejectedEditTracker, documentChangedListener, telemetry, telemetryService, credentialsProvider);
102
+ inlineCompletionHandler = new inlineCompletionHandler_1.InlineCompletionHandler(logging, workspace, amazonQServiceManager, completionSessionManager, codePercentageTracker, userWrittenCodeTracker, recentEditTracker, cursorTracker, streakTracker, telemetry, telemetryService, credentialsProvider, () => editsEnabled, () => timeSinceLastUserModification, lsp);
103
+ sessionResultsHandler = new sessionResultsHandler_1.SessionResultsHandler(logging, telemetry, telemetryService, completionSessionManager, editSessionManager, codePercentageTracker, codeDiffTracker, rejectedEditTracker, streakTracker, () => editsEnabled, () => timeSinceLastUserModification);
541
104
  };
542
105
  const onEditCompletion = async (param, token) => {
543
106
  return await editCompletionHandler.onEditCompletion(param, token);
544
107
  };
545
108
  lsp.extensions.onInlineCompletionWithReferences(onInlineCompletionHandler);
546
109
  lsp.extensions.onEditCompletion(onEditCompletion);
547
- lsp.extensions.onLogInlineCompletionSessionResults(onLogInlineCompletionSessionResultsHandler);
110
+ lsp.extensions.onLogInlineCompletionSessionResults(async (params) => {
111
+ await sessionResultsHandler.handleSessionResults(params);
112
+ });
548
113
  lsp.onInitialized(onInitializedHandler);
549
114
  lsp.onDidChangeTextDocument(async (p) => {
550
115
  const textDocument = await workspace.getTextDocument(p.textDocument.uri);
@@ -626,37 +191,8 @@ const CodewhispererServerFactory = (serviceManager) => ({ credentialsProvider, l
626
191
  exports.CodewhispererServerFactory = CodewhispererServerFactory;
627
192
  // Dynamic service manager factory that detects auth type at runtime
628
193
  exports.CodeWhispererServer = (0, exports.CodewhispererServerFactory)((credentialsProvider) => {
629
- return (0, utils_3.isUsingIAMAuth)(credentialsProvider) ? (0, AmazonQIAMServiceManager_1.getOrThrowBaseIAMServiceManager)() : (0, AmazonQTokenServiceManager_1.getOrThrowBaseTokenServiceManager)();
194
+ return (0, utils_2.isUsingIAMAuth)(credentialsProvider) ? (0, AmazonQIAMServiceManager_1.getOrThrowBaseIAMServiceManager)() : (0, AmazonQTokenServiceManager_1.getOrThrowBaseTokenServiceManager)();
630
195
  });
631
196
  exports.CodeWhispererServerIAM = (0, exports.CodewhispererServerFactory)(AmazonQIAMServiceManager_1.getOrThrowBaseIAMServiceManager);
632
197
  exports.CodeWhispererServerToken = (0, exports.CodewhispererServerFactory)(AmazonQTokenServiceManager_1.getOrThrowBaseTokenServiceManager);
633
- const getLanguageIdFromUri = (uri, logging) => {
634
- try {
635
- if (uri.startsWith('vscode-notebook-cell:')) {
636
- // use python for now as lsp does not support JL cell language detection
637
- return 'python';
638
- }
639
- const extension = uri.split('.').pop()?.toLowerCase();
640
- return constants_1.ABAP_EXTENSIONS.has(extension || '') ? 'abap' : '';
641
- }
642
- catch (err) {
643
- logging?.log(`Error parsing URI to determine language: ${uri}: ${err}`);
644
- return '';
645
- }
646
- };
647
- exports.getLanguageIdFromUri = getLanguageIdFromUri;
648
- const getTextDocument = async (uri, workspace, logging) => {
649
- let textDocument = await workspace.getTextDocument(uri);
650
- if (!textDocument) {
651
- try {
652
- const content = await workspace.fs.readFile(vscode_uri_1.URI.parse(uri).fsPath);
653
- const languageId = (0, exports.getLanguageIdFromUri)(uri);
654
- textDocument = server_interface_1.TextDocument.create(uri, languageId, 0, content);
655
- }
656
- catch (err) {
657
- logging.log(`Unable to load from ${uri}: ${err}`);
658
- }
659
- }
660
- return textDocument;
661
- };
662
198
  //# sourceMappingURL=codeWhispererServer.js.map