@aws/lsp-codewhisperer 0.0.28 → 0.0.29

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 (68) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +3 -0
  3. package/out/client/token/codewhisperer.d.ts +1 -1
  4. package/out/constants.d.ts +3 -0
  5. package/out/constants.js +4 -1
  6. package/out/constants.js.map +1 -1
  7. package/out/language-server/amazonQServiceManager/AmazonQTokenServiceManager.d.ts +90 -0
  8. package/out/language-server/amazonQServiceManager/AmazonQTokenServiceManager.js +466 -0
  9. package/out/language-server/amazonQServiceManager/AmazonQTokenServiceManager.js.map +1 -0
  10. package/out/language-server/amazonQServiceManager/BaseAmazonQServiceManager.d.ts +5 -0
  11. package/out/language-server/amazonQServiceManager/BaseAmazonQServiceManager.js +3 -0
  12. package/out/language-server/amazonQServiceManager/BaseAmazonQServiceManager.js.map +1 -0
  13. package/out/language-server/amazonQServiceManager/errors.d.ts +28 -0
  14. package/out/language-server/amazonQServiceManager/errors.js +70 -0
  15. package/out/language-server/amazonQServiceManager/errors.js.map +1 -0
  16. package/out/language-server/amazonQServiceManager/qDeveloperProfiles.js +7 -7
  17. package/out/language-server/amazonQServiceManager/qDeveloperProfiles.js.map +1 -1
  18. package/out/language-server/chat/chatController.d.ts +1 -1
  19. package/out/language-server/chat/chatController.js +17 -1
  20. package/out/language-server/chat/chatController.js.map +1 -1
  21. package/out/language-server/chat/chatSessionManagementService.d.ts +3 -8
  22. package/out/language-server/chat/chatSessionManagementService.js +5 -57
  23. package/out/language-server/chat/chatSessionManagementService.js.map +1 -1
  24. package/out/language-server/chat/chatSessionService.d.ts +2 -3
  25. package/out/language-server/chat/chatSessionService.js +7 -21
  26. package/out/language-server/chat/chatSessionService.js.map +1 -1
  27. package/out/language-server/chat/contexts/triggerContext.d.ts +1 -1
  28. package/out/language-server/chat/contexts/triggerContext.js +2 -1
  29. package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
  30. package/out/language-server/chat/telemetry/chatTelemetryController.js +88 -81
  31. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  32. package/out/language-server/codeWhispererSecurityScanServer.d.ts +2 -4
  33. package/out/language-server/codeWhispererSecurityScanServer.js +24 -11
  34. package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -1
  35. package/out/language-server/codeWhispererServer.js +90 -37
  36. package/out/language-server/codeWhispererServer.js.map +1 -1
  37. package/out/language-server/codeWhispererService.d.ts +8 -1
  38. package/out/language-server/codeWhispererService.js +39 -16
  39. package/out/language-server/codeWhispererService.js.map +1 -1
  40. package/out/language-server/configuration/qConfigurationServer.d.ts +5 -9
  41. package/out/language-server/configuration/qConfigurationServer.js +23 -35
  42. package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
  43. package/out/language-server/netTransformServer.js +2 -2
  44. package/out/language-server/netTransformServer.js.map +1 -1
  45. package/out/language-server/proxy-server.js +3 -14
  46. package/out/language-server/proxy-server.js.map +1 -1
  47. package/out/language-server/qChatServer.d.ts +2 -4
  48. package/out/language-server/qChatServer.js +30 -16
  49. package/out/language-server/qChatServer.js.map +1 -1
  50. package/out/language-server/securityScan/constants.d.ts +3 -0
  51. package/out/language-server/securityScan/constants.js +7 -0
  52. package/out/language-server/securityScan/constants.js.map +1 -0
  53. package/out/language-server/securityScan/securityScanHandler.d.ts +5 -5
  54. package/out/language-server/securityScan/securityScanHandler.js +22 -12
  55. package/out/language-server/securityScan/securityScanHandler.js.map +1 -1
  56. package/out/language-server/telemetry/codeDiffTracker.d.ts +1 -1
  57. package/out/language-server/telemetry/codeDiffTracker.js +1 -1
  58. package/out/language-server/telemetry/codeDiffTracker.js.map +1 -1
  59. package/out/language-server/telemetryService.d.ts +7 -5
  60. package/out/language-server/telemetryService.js +29 -20
  61. package/out/language-server/telemetryService.js.map +1 -1
  62. package/out/language-server/testUtils.d.ts +3 -0
  63. package/out/language-server/testUtils.js +12 -1
  64. package/out/language-server/testUtils.js.map +1 -1
  65. package/out/language-server/utils.d.ts +2 -0
  66. package/out/language-server/utils.js +11 -0
  67. package/out/language-server/utils.js.map +1 -1
  68. package/package.json +3 -3
@@ -15,6 +15,7 @@ class ChatTelemetryController {
15
15
  #customizationInfoByTabAndMessageId;
16
16
  #credentialsProvider;
17
17
  #telemetry;
18
+ #logging;
18
19
  #codeDiffTracker;
19
20
  #telemetryService;
20
21
  constructor(features, telemetryService) {
@@ -22,8 +23,9 @@ class ChatTelemetryController {
22
23
  this.#currentTriggerByTabId = {};
23
24
  this.#customizationInfoByTabAndMessageId = {};
24
25
  this.#telemetry = features.telemetry;
26
+ this.#logging = features.logging;
25
27
  this.#credentialsProvider = features.credentialsProvider;
26
- this.#telemetry.onClientTelemetry(params => this.#handleClientTelemetry(params));
28
+ this.#telemetry.onClientTelemetry(async (params) => await this.#handleClientTelemetry(params));
27
29
  this.#codeDiffTracker = new codeDiffTracker_1.CodeDiffTracker(features.workspace, features.logging, (entry, percentage) => this.emitModifyCodeMetric(entry, percentage));
28
30
  this.#telemetryService = telemetryService;
29
31
  }
@@ -194,88 +196,93 @@ class ChatTelemetryController {
194
196
  }
195
197
  }
196
198
  async #handleClientTelemetry(params) {
197
- if ((0, clientTelemetry_1.isClientTelemetryEvent)(params)) {
198
- switch (params.name) {
199
- case clientTelemetry_1.ChatUIEventName.AddMessage:
200
- // we are trusting that the notification comes just right before the request
201
- this.#currentTriggerByTabId[params.tabId] = params.triggerType;
202
- break;
203
- case clientTelemetry_1.ChatUIEventName.TabAdd:
204
- this.#tabTelemetryInfoByTabId[params.tabId] = {
205
- ...this.#tabTelemetryInfoByTabId[params.tabId],
206
- startTrigger: {
207
- triggerType: params.triggerType,
208
- },
209
- };
210
- break;
211
- case clientTelemetry_1.ChatUIEventName.EnterFocusChat:
212
- this.emitChatMetric({
213
- name: types_1.ChatTelemetryEventName.EnterFocusChat,
214
- data: {},
215
- });
216
- break;
217
- case clientTelemetry_1.ChatUIEventName.ExitFocusChat:
218
- this.emitChatMetric({
219
- name: types_1.ChatTelemetryEventName.ExitFocusChat,
220
- data: {},
221
- });
222
- break;
223
- case clientTelemetry_1.ChatUIEventName.Vote:
224
- const voteData = {
225
- cwsprChatMessageId: params.messageId,
226
- cwsprChatInteractionType: params.vote === clientTelemetry_1.RelevancyVoteType.UP
227
- ? types_1.ChatInteractionType.Upvote
228
- : types_1.ChatInteractionType.Downvote,
229
- codewhispererCustomizationArn: this.getCustomizationId(params.tabId, params.messageId),
230
- };
231
- await this.#telemetryService.emitChatInteractWithMessage(voteData, {
232
- conversationId: this.getConversationId(params.tabId),
233
- });
234
- break;
235
- case clientTelemetry_1.ChatUIEventName.InsertToCursorPosition:
236
- case clientTelemetry_1.ChatUIEventName.CopyToClipboard:
237
- if (params.name === clientTelemetry_1.ChatUIEventName.InsertToCursorPosition) {
238
- this.#enqueueCodeDiffEntry(params);
239
- }
240
- const interactData = {
241
- cwsprChatMessageId: params.messageId,
242
- cwsprChatInteractionType: params.name === clientTelemetry_1.ChatUIEventName.InsertToCursorPosition
243
- ? types_1.ChatInteractionType.InsertAtCursor
244
- : types_1.ChatInteractionType.CopySnippet,
245
- cwsprChatAcceptedCharactersLength: params.code?.length ?? 0,
246
- cwsprChatHasReference: Boolean(params.referenceTrackerInformation?.length),
247
- cwsprChatCodeBlockIndex: params.codeBlockIndex,
248
- cwsprChatTotalCodeBlocks: params.totalCodeBlocks,
249
- codewhispererCustomizationArn: this.getCustomizationId(params.tabId, params.messageId),
250
- };
251
- await this.#telemetryService.emitChatInteractWithMessage(interactData, {
252
- conversationId: this.getConversationId(params.tabId),
253
- acceptedLineCount: params.name === clientTelemetry_1.ChatUIEventName.InsertToCursorPosition
254
- ? params.code?.split('\n').length
255
- : undefined,
256
- });
257
- break;
258
- case clientTelemetry_1.ChatUIEventName.LinkClick:
259
- case clientTelemetry_1.ChatUIEventName.InfoLinkClick:
260
- const clickBodyLinkData = {
261
- cwsprChatMessageId: params.messageId,
262
- cwsprChatInteractionType: types_1.ChatInteractionType.ClickBodyLink,
263
- cwsprChatInteractionTarget: params.link,
264
- codewhispererCustomizationArn: this.getCustomizationId(params.tabId, params.messageId),
265
- };
266
- await this.emitInteractWithMessageMetric(params.tabId, clickBodyLinkData);
267
- break;
268
- case clientTelemetry_1.ChatUIEventName.SourceLinkClick:
269
- const clickLinkData = {
270
- cwsprChatMessageId: params.messageId,
271
- cwsprChatInteractionType: types_1.ChatInteractionType.ClickLink,
272
- cwsprChatInteractionTarget: params.link,
273
- codewhispererCustomizationArn: this.getCustomizationId(params.tabId, params.messageId),
274
- };
275
- await this.emitInteractWithMessageMetric(params.tabId, clickLinkData);
276
- break;
199
+ try {
200
+ if ((0, clientTelemetry_1.isClientTelemetryEvent)(params)) {
201
+ switch (params.name) {
202
+ case clientTelemetry_1.ChatUIEventName.AddMessage:
203
+ // we are trusting that the notification comes just right before the request
204
+ this.#currentTriggerByTabId[params.tabId] = params.triggerType;
205
+ break;
206
+ case clientTelemetry_1.ChatUIEventName.TabAdd:
207
+ this.#tabTelemetryInfoByTabId[params.tabId] = {
208
+ ...this.#tabTelemetryInfoByTabId[params.tabId],
209
+ startTrigger: {
210
+ triggerType: params.triggerType,
211
+ },
212
+ };
213
+ break;
214
+ case clientTelemetry_1.ChatUIEventName.EnterFocusChat:
215
+ this.emitChatMetric({
216
+ name: types_1.ChatTelemetryEventName.EnterFocusChat,
217
+ data: {},
218
+ });
219
+ break;
220
+ case clientTelemetry_1.ChatUIEventName.ExitFocusChat:
221
+ this.emitChatMetric({
222
+ name: types_1.ChatTelemetryEventName.ExitFocusChat,
223
+ data: {},
224
+ });
225
+ break;
226
+ case clientTelemetry_1.ChatUIEventName.Vote:
227
+ const voteData = {
228
+ cwsprChatMessageId: params.messageId,
229
+ cwsprChatInteractionType: params.vote === clientTelemetry_1.RelevancyVoteType.UP
230
+ ? types_1.ChatInteractionType.Upvote
231
+ : types_1.ChatInteractionType.Downvote,
232
+ codewhispererCustomizationArn: this.getCustomizationId(params.tabId, params.messageId),
233
+ };
234
+ await this.#telemetryService.emitChatInteractWithMessage(voteData, {
235
+ conversationId: this.getConversationId(params.tabId),
236
+ });
237
+ break;
238
+ case clientTelemetry_1.ChatUIEventName.InsertToCursorPosition:
239
+ case clientTelemetry_1.ChatUIEventName.CopyToClipboard:
240
+ if (params.name === clientTelemetry_1.ChatUIEventName.InsertToCursorPosition) {
241
+ this.#enqueueCodeDiffEntry(params);
242
+ }
243
+ const interactData = {
244
+ cwsprChatMessageId: params.messageId,
245
+ cwsprChatInteractionType: params.name === clientTelemetry_1.ChatUIEventName.InsertToCursorPosition
246
+ ? types_1.ChatInteractionType.InsertAtCursor
247
+ : types_1.ChatInteractionType.CopySnippet,
248
+ cwsprChatAcceptedCharactersLength: params.code?.length ?? 0,
249
+ cwsprChatHasReference: Boolean(params.referenceTrackerInformation?.length),
250
+ cwsprChatCodeBlockIndex: params.codeBlockIndex,
251
+ cwsprChatTotalCodeBlocks: params.totalCodeBlocks,
252
+ codewhispererCustomizationArn: this.getCustomizationId(params.tabId, params.messageId),
253
+ };
254
+ await this.#telemetryService.emitChatInteractWithMessage(interactData, {
255
+ conversationId: this.getConversationId(params.tabId),
256
+ acceptedLineCount: params.name === clientTelemetry_1.ChatUIEventName.InsertToCursorPosition
257
+ ? params.code?.split('\n').length
258
+ : undefined,
259
+ });
260
+ break;
261
+ case clientTelemetry_1.ChatUIEventName.LinkClick:
262
+ case clientTelemetry_1.ChatUIEventName.InfoLinkClick:
263
+ const clickBodyLinkData = {
264
+ cwsprChatMessageId: params.messageId,
265
+ cwsprChatInteractionType: types_1.ChatInteractionType.ClickBodyLink,
266
+ cwsprChatInteractionTarget: params.link,
267
+ codewhispererCustomizationArn: this.getCustomizationId(params.tabId, params.messageId),
268
+ };
269
+ await this.emitInteractWithMessageMetric(params.tabId, clickBodyLinkData);
270
+ break;
271
+ case clientTelemetry_1.ChatUIEventName.SourceLinkClick:
272
+ const clickLinkData = {
273
+ cwsprChatMessageId: params.messageId,
274
+ cwsprChatInteractionType: types_1.ChatInteractionType.ClickLink,
275
+ cwsprChatInteractionTarget: params.link,
276
+ codewhispererCustomizationArn: this.getCustomizationId(params.tabId, params.messageId),
277
+ };
278
+ await this.emitInteractWithMessageMetric(params.tabId, clickLinkData);
279
+ break;
280
+ }
277
281
  }
278
282
  }
283
+ catch (err) {
284
+ this.#logging.log(`Exception Thrown from ChatTelemetryController: ${err}`);
285
+ }
279
286
  }
280
287
  dispose() {
281
288
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
@@ -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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"}
@@ -1,4 +1,2 @@
1
- import { CredentialsProvider, Server, Workspace } from '@aws/language-server-runtimes/server-interface';
2
- import { CodeWhispererServiceToken } from './codeWhispererService';
3
- import { SDKInitializator } from '@aws/language-server-runtimes/server-interface';
4
- export declare const SecurityScanServerToken: (service: (credentialsProvider: CredentialsProvider, workspace: Workspace, awsQRegion: string, awsQEndpointUrl: string, sdkInitializator: SDKInitializator) => CodeWhispererServiceToken) => Server;
1
+ import { Server } from '@aws/language-server-runtimes/server-interface';
2
+ export declare const SecurityScanServerToken: () => Server;
@@ -8,15 +8,18 @@ const languageDetection_1 = require("./languageDetection");
8
8
  const securityScanDiagnosticsProvider_1 = require("./securityScan/securityScanDiagnosticsProvider");
9
9
  const securityScanHandler_1 = require("./securityScan/securityScanHandler");
10
10
  const utils_1 = require("./utils");
11
- const telemetryUtils_1 = require("./utilities/telemetryUtils");
12
- const constants_1 = require("../constants");
11
+ const uuid_1 = require("uuid");
12
+ const AmazonQTokenServiceManager_1 = require("./amazonQServiceManager/AmazonQTokenServiceManager");
13
13
  const RunSecurityScanCommand = 'aws/codewhisperer/runSecurityScan';
14
14
  const CancelSecurityScanCommand = 'aws/codewhisperer/cancelSecurityScan';
15
- const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace, logging, lsp, telemetry, runtime, sdkInitializator }) => {
16
- const codewhispererclient = service(credentialsProvider, workspace, runtime.getConfiguration('AWS_Q_REGION') ?? constants_1.DEFAULT_AWS_Q_REGION, runtime.getConfiguration('AWS_Q_ENDPOINT_URL') ?? constants_1.DEFAULT_AWS_Q_ENDPOINT_URL, sdkInitializator);
15
+ const SecurityScanServerToken = () => ({ credentialsProvider, workspace, logging, lsp, telemetry, runtime, sdkInitializator }) => {
16
+ let amazonQServiceManager;
17
+ let scanHandler;
17
18
  const diagnosticsProvider = new securityScanDiagnosticsProvider_1.default(lsp, logging);
18
- const scanHandler = new securityScanHandler_1.SecurityScanHandler(codewhispererclient, workspace, logging);
19
19
  const runSecurityScan = async (params, token) => {
20
+ /**
21
+ * Only project scans are supported at this time
22
+ */
20
23
  logging.log(`Starting security scan`);
21
24
  await diagnosticsProvider.resetDiagnostics();
22
25
  let jobStatus;
@@ -82,8 +85,9 @@ const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace,
82
85
  */
83
86
  const uploadStartTime = perf_hooks_1.performance.now();
84
87
  let artifactMap = {};
88
+ const scanName = (0, uuid_1.v4)();
85
89
  try {
86
- artifactMap = await scanHandler.createCodeResourcePresignedUrlHandler(truncation.zipFileBuffer);
90
+ artifactMap = await scanHandler.createCodeResourcePresignedUrlHandler(truncation.zipFileBuffer, scanName);
87
91
  }
88
92
  catch (error) {
89
93
  logging.log(`Error: Failed to upload code artifacts ${error}`);
@@ -98,7 +102,7 @@ const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace,
98
102
  * Step 3: Create scan job
99
103
  */
100
104
  serviceInvocationStartTime = perf_hooks_1.performance.now();
101
- const scanJob = await scanHandler.createScanJob(artifactMap, document.languageId.toLowerCase());
105
+ const scanJob = await scanHandler.createScanJob(artifactMap, document.languageId.toLowerCase(), scanName);
102
106
  logging.log(`Created security scan job id: ${scanJob.jobId}`);
103
107
  securityScanTelemetryEntry.codewhispererCodeScanJobId = scanJob.jobId;
104
108
  scanHandler.throwIfCancelled(token);
@@ -176,9 +180,6 @@ const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace,
176
180
  return;
177
181
  };
178
182
  const onInitializeHandler = (params) => {
179
- codewhispererclient.updateClientConfig({
180
- customUserAgent: (0, telemetryUtils_1.getUserAgent)(params, runtime.serverInfo),
181
- });
182
183
  return {
183
184
  capabilities: {
184
185
  executeCommandProvider: {
@@ -187,8 +188,20 @@ const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace,
187
188
  },
188
189
  };
189
190
  };
191
+ const onInitializedHandler = () => {
192
+ amazonQServiceManager = AmazonQTokenServiceManager_1.AmazonQTokenServiceManager.getInstance({
193
+ lsp,
194
+ logging,
195
+ runtime,
196
+ credentialsProvider,
197
+ sdkInitializator,
198
+ workspace,
199
+ });
200
+ scanHandler = new securityScanHandler_1.SecurityScanHandler(amazonQServiceManager, workspace, logging);
201
+ };
190
202
  lsp.onExecuteCommand(onExecuteCommandHandler);
191
203
  lsp.addInitializer(onInitializeHandler);
204
+ lsp.onInitialized(onInitializedHandler);
192
205
  lsp.onDidChangeTextDocument(async (p) => {
193
206
  const textDocument = await workspace.getTextDocument(p.textDocument.uri);
194
207
  const languageId = (0, languageDetection_1.getSupportedLanguageId)(textDocument, languageDetection_1.supportedSecurityScanLanguages);
@@ -206,7 +219,7 @@ const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace,
206
219
  logging.log('SecurityScan server has been initialized');
207
220
  return () => {
208
221
  // dispose function
209
- scanHandler.tokenSource.dispose();
222
+ scanHandler?.tokenSource.dispose();
210
223
  };
211
224
  };
212
225
  exports.SecurityScanServerToken = SecurityScanServerToken;
@@ -1 +1 @@
1
- {"version":3,"file":"codeWhispererSecurityScanServer.js","sourceRoot":"","sources":["../../src/language-server/codeWhispererSecurityScanServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeWhispererSecurityScanServer.js","sourceRoot":"","sources":["../../src/language-server/codeWhispererSecurityScanServer.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ const lsp_core_1 = require("@aws/lsp-core");
16
16
  const telemetryService_1 = require("./telemetryService");
17
17
  const codeDiffTracker_1 = require("./telemetry/codeDiffTracker");
18
18
  const constants_1 = require("../constants");
19
+ const AmazonQTokenServiceManager_1 = require("./amazonQServiceManager/AmazonQTokenServiceManager");
20
+ const errors_1 = require("./amazonQServiceManager/errors");
19
21
  const EMPTY_RESULT = { sessionId: '', items: [] };
20
22
  exports.CONTEXT_CHARACTERS_LIMIT = 10240;
21
23
  // Both clients (token, sigv4) define their own types, this return value needs to match both of them.
@@ -154,19 +156,20 @@ const mergeSuggestionsWithRightContext = (rightFileContext, suggestions, range)
154
156
  const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, workspace, telemetry, logging, runtime, sdkInitializator }) => {
155
157
  let lastUserModificationTime;
156
158
  let timeSinceLastUserModification = 0;
159
+ let extraContext = undefined;
157
160
  const sessionManager = sessionManager_1.SessionManager.getInstance();
158
- const awsQRegion = runtime.getConfiguration('AWS_Q_REGION') ?? constants_1.DEFAULT_AWS_Q_REGION;
159
- const awsQEndpointUrl = runtime.getConfiguration('AWS_Q_ENDPOINT_URL') ?? constants_1.DEFAULT_AWS_Q_ENDPOINT_URL;
160
- const codeWhispererService = service(credentialsProvider, workspace, awsQRegion, awsQEndpointUrl, sdkInitializator);
161
- const telemetryService = new telemetryService_1.TelemetryService(credentialsProvider, codeWhispererService.getCredentialsType(), telemetry, logging, workspace, awsQRegion, awsQEndpointUrl, sdkInitializator);
161
+ const awsQRegion = runtime.getConfiguration(constants_1.AWS_Q_REGION_ENV_VAR) ?? constants_1.DEFAULT_AWS_Q_REGION;
162
+ const awsQEndpointUrl = runtime.getConfiguration(constants_1.AWS_Q_ENDPOINT_URL_ENV_VAR) ?? constants_1.DEFAULT_AWS_Q_ENDPOINT_URL;
163
+ const fallbackCodeWhispererService = service(credentialsProvider, workspace, awsQRegion, awsQEndpointUrl, sdkInitializator);
164
+ // AmazonQTokenServiceManager and TelemetryService are initialized in `onInitialized` handler to make sure Language Server connection is started
165
+ let amazonQServiceManager;
166
+ let telemetryService;
167
+ const serviceType = fallbackCodeWhispererService.constructor.name;
162
168
  lsp.addInitializer((params) => {
163
- codeWhispererService.updateClientConfig({
169
+ // TODO: Review configuration options expected in other features
170
+ fallbackCodeWhispererService.updateClientConfig({
164
171
  customUserAgent: (0, telemetryUtils_1.getUserAgent)(params, runtime.serverInfo),
165
172
  });
166
- telemetryService.updateClientConfig({
167
- customUserAgent: (0, telemetryUtils_1.getUserAgent)(params, runtime.serverInfo),
168
- });
169
- telemetryService.updateUserContext((0, telemetryUtils_1.makeUserContextObject)(params, runtime.platform, 'INLINE'));
170
173
  return {
171
174
  capabilities: {},
172
175
  };
@@ -176,19 +179,9 @@ const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, wor
176
179
  // right before returning and is only guaranteed to be consistent within
177
180
  // the context of a single response.
178
181
  let includeSuggestionsWithCodeReferences = false;
179
- const codePercentageTracker = new codePercentage_1.CodePercentageTracker(telemetryService);
180
- const codeDiffTracker = new codeDiffTracker_1.CodeDiffTracker(workspace, logging, async (entry, percentage, unmodifiedAcceptedCharacterCount) => {
181
- await telemetryService.emitUserModificationEvent({
182
- sessionId: entry.sessionId,
183
- requestId: entry.requestId,
184
- languageId: entry.languageId,
185
- customizationArn: entry.customizationArn,
186
- timestamp: new Date(),
187
- acceptedCharacterCount: entry.originalString.length,
188
- modificationPercentage: percentage,
189
- unmodifiedAcceptedCharacterCount: unmodifiedAcceptedCharacterCount,
190
- });
191
- });
182
+ // CodePercentage and codeDiff tracker have a dependency on TelemetryService, so initialization is also delayed to `onInitialized` handler
183
+ let codePercentageTracker;
184
+ let codeDiffTracker;
192
185
  const onInlineCompletionHandler = async (params, token) => {
193
186
  // On every new completion request close current inflight session.
194
187
  const currentSession = sessionManager.getCurrentSession();
@@ -197,6 +190,7 @@ const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, wor
197
190
  // User Trigger Decision will be reported at the time of processing API response in the callback below.
198
191
  sessionManager.discardSession(currentSession);
199
192
  }
193
+ // prettier-ignore
200
194
  return workspace.getTextDocument(params.textDocument.uri).then(async (textDocument) => {
201
195
  if (!textDocument) {
202
196
  logging.log(`textDocument [${params.textDocument.uri}] not found`);
@@ -231,6 +225,7 @@ const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, wor
231
225
  !autoTriggerResult.shouldTrigger) {
232
226
  return EMPTY_RESULT;
233
227
  }
228
+ const codeWhispererService = amazonQServiceManager.getCodewhispererService();
234
229
  // supplementalContext available only via token authentication
235
230
  const supplementalContextPromise = codeWhispererService instanceof codeWhispererService_1.CodeWhispererServiceToken
236
231
  ? (0, supplementalContextUtil_1.fetchSupplementalContext)(textDocument, params.position, workspace, logging, token)
@@ -268,8 +263,11 @@ const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, wor
268
263
  supplementalMetadata: supplementalContext,
269
264
  customizationArn: lsp_core_1.textUtils.undefinedIfEmpty(codeWhispererService.customizationArn),
270
265
  });
271
- return codeWhispererService
272
- .generateSuggestions({
266
+ // Add extra context to request context
267
+ if (extraContext) {
268
+ requestContext.fileContext.leftFileContent = extraContext + '\n' + requestContext.fileContext.leftFileContent;
269
+ }
270
+ return codeWhispererService.generateSuggestions({
273
271
  ...requestContext,
274
272
  fileContext: {
275
273
  ...requestContext.fileContext,
@@ -345,14 +343,26 @@ const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, wor
345
343
  }
346
344
  return { items: suggestionsWithRightContext, sessionId: newSession.id };
347
345
  })
348
- .catch(err => {
346
+ .catch(error => {
349
347
  // TODO, handle errors properly
350
- logging.log('Recommendation failure: ' + err);
351
- emitServiceInvocationFailure(telemetry, newSession, err);
348
+ logging.log('Recommendation failure: ' + error);
349
+ emitServiceInvocationFailure(telemetry, newSession, error);
352
350
  // TODO: check if we can/should emit UserTriggerDecision
353
351
  sessionManager.closeSession(newSession);
352
+ if (error instanceof errors_1.AmazonQError) {
353
+ throw error;
354
+ }
354
355
  return EMPTY_RESULT;
355
356
  });
357
+ })
358
+ .catch(error => {
359
+ logging.log('onInlineCompletionHandler error:' + error);
360
+ if (error instanceof errors_1.AmazonQError) {
361
+ throw new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, error.message || 'Error processing suggestion requests', {
362
+ awsErrorCode: error.code,
363
+ });
364
+ }
365
+ return EMPTY_RESULT;
356
366
  });
357
367
  };
358
368
  // Schedule tracker for UserModification Telemetry event
@@ -400,36 +410,79 @@ const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, wor
400
410
  };
401
411
  const updateConfiguration = async () => {
402
412
  try {
413
+ // Currently can't hook AmazonQTokenServiceManager.handleDidChangeConfiguration to lsp listenre directly
414
+ // as it will override listeners from each consuming Server.
415
+ // TODO: refactor configuration listener in Server and AmazonQTokenServiceManager in runtimes.
416
+ await amazonQServiceManager.handleDidChangeConfiguration();
403
417
  const qConfig = await lsp.workspace.getConfiguration(qConfigurationServer_1.Q_CONFIGURATION_SECTION);
404
418
  if (qConfig) {
405
- codeWhispererService.customizationArn = lsp_core_1.textUtils.undefinedIfEmpty(qConfig.customization);
419
+ fallbackCodeWhispererService.customizationArn = lsp_core_1.textUtils.undefinedIfEmpty(qConfig.customization);
406
420
  codePercentageTracker.customizationArn = lsp_core_1.textUtils.undefinedIfEmpty(qConfig.customization);
407
- logging.log(`Inline completion configuration updated to use ${codeWhispererService.customizationArn}`);
421
+ logging.log(`Inline completion configuration updated to use ${fallbackCodeWhispererService.customizationArn}`);
408
422
  /*
409
- The flag enableTelemetryEventsToDestination is set to true temporarily. It's value will be determined through destination
410
- configuration post all events migration to STE. It'll be replaced by qConfig['enableTelemetryEventsToDestination'] === true
411
- */
423
+ The flag enableTelemetryEventsToDestination is set to true temporarily. It's value will be determined through destination
424
+ configuration post all events migration to STE. It'll be replaced by qConfig['enableTelemetryEventsToDestination'] === true
425
+ */
412
426
  // const enableTelemetryEventsToDestination = true
413
427
  // telemetryService.updateEnableTelemetryEventsToDestination(enableTelemetryEventsToDestination)
414
428
  const optOutTelemetryPreference = qConfig['optOutTelemetry'] === true ? 'OPTOUT' : 'OPTIN';
415
429
  telemetryService.updateOptOutPreference(optOutTelemetryPreference);
430
+ extraContext = qConfig.inlineSuggestions?.extraContext;
416
431
  }
417
432
  const config = await lsp.workspace.getConfiguration('aws.codeWhisperer');
418
433
  if (!config)
419
434
  return;
420
435
  includeSuggestionsWithCodeReferences = config['includeSuggestionsWithCodeReferences'] === true;
421
436
  logging.log(`Configuration updated to ${includeSuggestionsWithCodeReferences ? 'include' : 'exclude'} suggestions with code references`);
422
- codeWhispererService.shareCodeWhispererContentWithAWS =
437
+ fallbackCodeWhispererService.shareCodeWhispererContentWithAWS =
423
438
  config['shareCodeWhispererContentWithAWS'] === true;
424
- logging.log(`Configuration updated to ${codeWhispererService.shareCodeWhispererContentWithAWS ? 'share' : 'not share'} Amazon Q content with AWS`);
439
+ logging.log(`Configuration updated to ${fallbackCodeWhispererService.shareCodeWhispererContentWithAWS ? 'share' : 'not share'} Amazon Q content with AWS`);
425
440
  }
426
441
  catch (error) {
427
442
  logging.log(`Error in GetConfiguration: ${error}`);
428
443
  }
429
444
  };
445
+ const onInitializedHandler = async () => {
446
+ if (serviceType === 'CodeWhispererServiceToken') {
447
+ amazonQServiceManager = AmazonQTokenServiceManager_1.AmazonQTokenServiceManager.getInstance({
448
+ lsp,
449
+ logging,
450
+ credentialsProvider,
451
+ sdkInitializator,
452
+ workspace,
453
+ runtime,
454
+ });
455
+ }
456
+ else {
457
+ // Fallback to default passed service factory for IAM credentials type
458
+ amazonQServiceManager = {
459
+ handleDidChangeConfiguration: async () => { },
460
+ getCodewhispererService: () => {
461
+ return fallbackCodeWhispererService;
462
+ },
463
+ };
464
+ }
465
+ const clientParams = (0, utils_1.safeGet)(lsp.getClientInitializeParams(), new errors_1.AmazonQServiceInitializationError('TelemetryService initialized before LSP connection was initialized.'));
466
+ telemetryService = new telemetryService_1.TelemetryService(amazonQServiceManager, credentialsProvider, telemetry, logging);
467
+ telemetryService.updateUserContext((0, telemetryUtils_1.makeUserContextObject)(clientParams, runtime.platform, 'INLINE'));
468
+ codePercentageTracker = new codePercentage_1.CodePercentageTracker(telemetryService);
469
+ codeDiffTracker = new codeDiffTracker_1.CodeDiffTracker(workspace, logging, async (entry, percentage, unmodifiedAcceptedCharacterCount) => {
470
+ await telemetryService.emitUserModificationEvent({
471
+ sessionId: entry.sessionId,
472
+ requestId: entry.requestId,
473
+ languageId: entry.languageId,
474
+ customizationArn: entry.customizationArn,
475
+ timestamp: new Date(),
476
+ acceptedCharacterCount: entry.originalString.length,
477
+ modificationPercentage: percentage,
478
+ unmodifiedAcceptedCharacterCount: unmodifiedAcceptedCharacterCount,
479
+ });
480
+ });
481
+ await updateConfiguration();
482
+ };
430
483
  lsp.extensions.onInlineCompletionWithReferences(onInlineCompletionHandler);
431
484
  lsp.extensions.onLogInlineCompletionSessionResults(onLogInlineCompletionSessionResultsHandler);
432
- lsp.onInitialized(updateConfiguration);
485
+ lsp.onInitialized(onInitializedHandler);
433
486
  lsp.didChangeConfiguration(updateConfiguration);
434
487
  lsp.onDidChangeTextDocument(async (p) => {
435
488
  const textDocument = await workspace.getTextDocument(p.textDocument.uri);
@@ -448,8 +501,8 @@ const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, wor
448
501
  });
449
502
  logging.log('Amazon Q Inline Suggestion server has been initialised');
450
503
  return async () => {
451
- codePercentageTracker.dispose();
452
- await codeDiffTracker.shutdown();
504
+ codePercentageTracker?.dispose();
505
+ await codeDiffTracker?.shutdown();
453
506
  };
454
507
  };
455
508
  exports.CodewhispererServerFactory = CodewhispererServerFactory;