@aws/lsp-codewhisperer 0.0.3 → 0.0.4

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 (48) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/out/language-server/codeWhispererSecurityScanServer.d.ts +1 -2
  3. package/out/language-server/codeWhispererSecurityScanServer.js +137 -25
  4. package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -1
  5. package/out/language-server/codeWhispererServer.d.ts +1 -2
  6. package/out/language-server/codeWhispererServer.js +2 -2
  7. package/out/language-server/codeWhispererServer.js.map +1 -1
  8. package/out/language-server/codeWhispererServer.test.js +100 -101
  9. package/out/language-server/codeWhispererServer.test.js.map +1 -1
  10. package/out/language-server/codeWhispererService.d.ts +1 -1
  11. package/out/language-server/codeWhispererService.js.map +1 -1
  12. package/out/language-server/dependencyGraph/csharpDependencyGraph.d.ts +3 -3
  13. package/out/language-server/dependencyGraph/csharpDependencyGraph.js +40 -37
  14. package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +1 -1
  15. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js +106 -78
  16. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js.map +1 -1
  17. package/out/language-server/dependencyGraph/dependencyGraph.d.ts +12 -4
  18. package/out/language-server/dependencyGraph/dependencyGraph.js +24 -6
  19. package/out/language-server/dependencyGraph/dependencyGraph.js.map +1 -1
  20. package/out/language-server/dependencyGraph/dependencyGraphFactory.d.ts +2 -3
  21. package/out/language-server/dependencyGraph/dependencyGraphFactory.js +2 -2
  22. package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +1 -1
  23. package/out/language-server/languageDetection.d.ts +2 -1
  24. package/out/language-server/languageDetection.js +2 -1
  25. package/out/language-server/languageDetection.js.map +1 -1
  26. package/out/language-server/netTransformServer.d.ts +12 -0
  27. package/out/language-server/netTransformServer.js +27 -0
  28. package/out/language-server/netTransformServer.js.map +1 -0
  29. package/out/language-server/proxy-server.d.ts +2 -2
  30. package/out/language-server/securityScan/securityScanDiagnosticsProvider.d.ts +29 -0
  31. package/out/language-server/securityScan/securityScanDiagnosticsProvider.js +129 -0
  32. package/out/language-server/securityScan/securityScanDiagnosticsProvider.js.map +1 -0
  33. package/out/language-server/securityScan/securityScanHandler.d.ts +12 -5
  34. package/out/language-server/securityScan/securityScanHandler.js +69 -19
  35. package/out/language-server/securityScan/securityScanHandler.js.map +1 -1
  36. package/out/language-server/securityScan/securityScanHandler.test.js +3 -2
  37. package/out/language-server/securityScan/securityScanHandler.test.js.map +1 -1
  38. package/out/language-server/securityScan/types.d.ts +13 -0
  39. package/out/language-server/session/sessionManager.d.ts +1 -2
  40. package/out/language-server/session/sessionManager.js.map +1 -1
  41. package/out/language-server/telemetry/codePercentage.d.ts +1 -1
  42. package/out/language-server/telemetry/types.d.ts +20 -0
  43. package/out/language-server/telemetry/userTriggerDecision.test.js +8 -8
  44. package/out/language-server/telemetry/userTriggerDecision.test.js.map +1 -1
  45. package/out/language-server/telemetry.test.js +4 -4
  46. package/out/language-server/telemetry.test.js.map +1 -1
  47. package/package.json +5 -5
  48. package/script/generateServiceClient.ts +0 -242
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.4] - 2024-03-28
4
+ - Integrate dependency graph with RunSecurityScan function
5
+ - Add server for transform feature
6
+ - Add diagnostics, handle hover for security scan findings, handler for cancel scan, and security scan telemetry event
7
+ - Migrate consumption of `@aws/language-server-runtimes` from local to NPMJS
8
+
3
9
  ## [0.0.3] - 2024-02-01
4
10
  - Add support for using AWS SDK through proxy
5
11
 
@@ -1,4 +1,3 @@
1
- import { Server } from '@aws/language-server-runtimes';
2
- import { CredentialsProvider } from '@aws/language-server-runtimes/out/features';
1
+ import { Server, CredentialsProvider } from '@aws/language-server-runtimes/server-interface';
3
2
  import { CodeWhispererServiceToken } from './codeWhispererService';
4
3
  export declare const SecurityScanServerToken: (service: (credentialsProvider: CredentialsProvider) => CodeWhispererServiceToken) => Server;
@@ -2,74 +2,186 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SecurityScanServerToken = void 0;
4
4
  const url_1 = require("url");
5
+ const dependencyGraphFactory_1 = require("./dependencyGraph/dependencyGraphFactory");
6
+ const languageDetection_1 = require("./languageDetection");
7
+ const securityScanDiagnosticsProvider_1 = require("./securityScan/securityScanDiagnosticsProvider");
5
8
  const securityScanHandler_1 = require("./securityScan/securityScanHandler");
6
9
  const utils_1 = require("./utils");
7
- const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace, logging }) => {
10
+ const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace, logging, lsp, telemetry }) => {
8
11
  const codewhispererclient = service(credentialsProvider);
9
- const runSecurityScan = async (params) => {
10
- if (!credentialsProvider.hasCredentials('bearer')) {
11
- // Todo: notify client that given credentials are not for bearer token.
12
- throw new Error('credentialsrProvider does not have bearer token credentials');
13
- }
14
- const scanHandler = new securityScanHandler_1.SecurityScanHandler(codewhispererclient, workspace);
12
+ const diagnosticsProvider = new securityScanDiagnosticsProvider_1.default(lsp, logging);
13
+ const scanHandler = new securityScanHandler_1.SecurityScanHandler(codewhispererclient, workspace, logging);
14
+ const runSecurityScan = async (params, token) => {
15
+ logging.log(`Starting security scan`);
16
+ diagnosticsProvider.resetDiagnostics();
17
+ let jobStatus;
18
+ const securityScanStartTime = performance.now();
19
+ let serviceInvocationStartTime = 0;
20
+ const securityScanTelemetryEntry = {
21
+ codewhispererCodeScanSrcPayloadBytes: 0,
22
+ codewhispererCodeScanSrcZipFileBytes: 0,
23
+ codewhispererCodeScanLines: 0,
24
+ duration: 0,
25
+ contextTruncationDuration: 0,
26
+ artifactsUploadDuration: 0,
27
+ codeScanServiceInvocationsDuration: 0,
28
+ result: 'Succeeded',
29
+ codewhispererCodeScanTotalIssues: 0,
30
+ codewhispererCodeScanIssuesWithFixes: 0,
31
+ credentialStartUrl: credentialsProvider.getConnectionMetadata()?.sso?.startUrl ?? undefined,
32
+ };
15
33
  try {
34
+ if (!credentialsProvider.hasCredentials('bearer')) {
35
+ throw new Error('credentialsrProvider does not have bearer token credentials');
36
+ }
16
37
  if (!params.arguments || params.arguments.length === 0) {
17
38
  throw new Error(`Incorrect params provided. Params: ${params}`);
18
39
  }
19
40
  const [arg] = params.arguments;
20
- const { activeFilePath, projectPath } = (0, utils_1.parseJson)(arg);
41
+ const { ActiveFilePath: activeFilePath, ProjectPath: projectPath } = (0, utils_1.parseJson)(arg);
21
42
  if (!activeFilePath || !projectPath) {
22
- logging.log(`Error: file path or project path not provided. Params: ${params}`);
23
- // Todo: notify client that given params are incorrect.
24
43
  throw new Error(`Error: file path or project path not provided. Params: ${params}`);
25
44
  }
26
- const documentUri = (0, url_1.pathToFileURL)(activeFilePath).href;
27
- const document = await workspace.getTextDocument(documentUri);
45
+ const activeFilePathUri = (0, url_1.pathToFileURL)(activeFilePath).href;
46
+ const document = await workspace.getTextDocument(activeFilePathUri);
47
+ securityScanTelemetryEntry.codewhispererLanguage = (0, languageDetection_1.getSupportedLanguageId)(document);
28
48
  if (!document) {
29
- // Todo: notify client that text document is undefined.
30
49
  throw new Error('Text document for given activeFilePath is undefined.');
31
50
  }
32
51
  /**
33
52
  * Step 1: Generate context truncations
34
53
  */
35
- // Todo: add create zip buffer and dependecy graph
54
+ const dependencyGraph = dependencyGraphFactory_1.DependencyGraphFactory.getDependencyGraph(document, workspace, logging, projectPath);
55
+ if (dependencyGraph === undefined) {
56
+ throw new Error(`"${document.languageId}" is not supported for security scan.`);
57
+ }
58
+ if (dependencyGraph.exceedsSizeLimit((await workspace.fs.getFileSize(activeFilePath)).size)) {
59
+ throw new Error(`Selected file larger than ${dependencyGraph.getReadableSizeLimit()}. Try a different file.`);
60
+ }
61
+ const contextTruncationStartTime = performance.now();
62
+ const truncation = await dependencyGraph.generateTruncation(activeFilePath);
63
+ securityScanTelemetryEntry.contextTruncationDuration = performance.now() - contextTruncationStartTime;
64
+ securityScanTelemetryEntry.codewhispererCodeScanSrcPayloadBytes = truncation.srcPayloadSizeInBytes;
65
+ securityScanTelemetryEntry.codewhispererCodeScanBuildPayloadBytes = truncation.buildPayloadSizeInBytes;
66
+ securityScanTelemetryEntry.codewhispererCodeScanSrcZipFileBytes = truncation.zipFileSizeInBytes;
67
+ securityScanTelemetryEntry.codewhispererCodeScanLines = truncation.lines;
68
+ scanHandler.throwIfCancelled(token);
69
+ logging.log(`Complete project context processing.`);
36
70
  /**
37
71
  * Step 2: Get presigned Url, upload and clean up
38
72
  */
39
- // Todo: update zipBuffer to use zipped buffer value from dependency graph after truncation.
40
- const zipBuffer = Buffer.from('');
41
- const artifactMap = await scanHandler.createCodeResourcePresignedUrlHandler(zipBuffer);
73
+ const uploadStartTime = performance.now();
74
+ let artifactMap = {};
75
+ try {
76
+ artifactMap = await scanHandler.createCodeResourcePresignedUrlHandler(truncation.zipFileBuffer);
77
+ }
78
+ catch (error) {
79
+ logging.log(`Error: Failed to upload code artifacts ${error}`);
80
+ throw error;
81
+ }
82
+ finally {
83
+ await dependencyGraph.removeTmpFiles();
84
+ securityScanTelemetryEntry.artifactsUploadDuration = performance.now() - uploadStartTime;
85
+ }
86
+ scanHandler.throwIfCancelled(token);
42
87
  /**
43
88
  * Step 3: Create scan job
44
89
  */
90
+ serviceInvocationStartTime = performance.now();
45
91
  const scanJob = await scanHandler.createScanJob(artifactMap, document.languageId.toLowerCase());
92
+ logging.log(`Created security scan job id: ${scanJob.jobId}`);
93
+ securityScanTelemetryEntry.codewhispererCodeScanJobId = scanJob.jobId;
94
+ scanHandler.throwIfCancelled(token);
46
95
  /**
47
96
  * Step 4: Polling mechanism on scan job status
48
97
  */
49
- const jobStatus = await scanHandler.pollScanJobStatus(scanJob.jobId);
98
+ jobStatus = await scanHandler.pollScanJobStatus(scanJob.jobId);
50
99
  if (jobStatus === 'Failed') {
51
- logging.log('security scan job failed.');
52
100
  throw new Error('security scan job failed.');
53
- // Todo: notify client about scan job failure.
54
101
  }
102
+ scanHandler.throwIfCancelled(token);
55
103
  /**
56
104
  * Step 5: Process and render scan results
57
105
  */
58
- await scanHandler.listScanResults(scanJob.jobId, projectPath);
106
+ logging.log(`Security scan job succeeded and start processing result.`);
107
+ const securityRecommendationCollection = await scanHandler.listScanResults(scanJob.jobId, projectPath);
108
+ const { total, withFixes } = securityRecommendationCollection.reduce((accumulator, current) => ({
109
+ total: accumulator.total + current.issues.length,
110
+ withFixes: accumulator.withFixes + current.issues.filter(i => i.suggestedFixes.length > 0).length,
111
+ }), { total: 0, withFixes: 0 });
112
+ logging.log(`Security scan totally found ${total} issues. ${withFixes} of them have fixes.`);
113
+ securityScanTelemetryEntry.codewhispererCodeScanTotalIssues = total;
114
+ securityScanTelemetryEntry.codewhispererCodeScanIssuesWithFixes = withFixes;
115
+ scanHandler.throwIfCancelled(token);
59
116
  /**
60
117
  * Step 6: send results to diagnostics
61
118
  */
62
- // Todo: update diagnostics to add new issues
119
+ await diagnosticsProvider.createDiagnostics(securityRecommendationCollection);
120
+ logging.log(`Security scan completed.`);
121
+ truncation.scannedFiles.forEach(file => logging.log(`Scanned file: ${file}`));
122
+ return {
123
+ result: {
124
+ status: jobStatus,
125
+ scannedFiles: Array.from(truncation.scannedFiles.values()).join(','),
126
+ },
127
+ };
63
128
  }
64
129
  catch (error) {
65
- logging.log(String(error));
66
- // Todo: notify client about scan job failure.
130
+ if (error instanceof securityScanHandler_1.SecurityScanCancelledError) {
131
+ logging.log(`Security scan has been cancelled. ${error}`);
132
+ securityScanTelemetryEntry.result = 'Cancelled';
133
+ return {
134
+ result: {
135
+ status: 'Cancelled',
136
+ },
137
+ };
138
+ }
139
+ logging.log(`Security scan failed. ${error}`);
140
+ securityScanTelemetryEntry.result = 'Failed';
141
+ return {
142
+ result: {
143
+ status: 'Failed',
144
+ },
145
+ error,
146
+ };
147
+ }
148
+ finally {
149
+ securityScanTelemetryEntry.duration = performance.now() - securityScanStartTime;
150
+ securityScanTelemetryEntry.codeScanServiceInvocationsDuration =
151
+ performance.now() - serviceInvocationStartTime;
152
+ telemetry.emitMetric({
153
+ name: 'codewhisperer_securityScan',
154
+ result: securityScanTelemetryEntry.result,
155
+ data: securityScanTelemetryEntry,
156
+ });
67
157
  }
68
158
  };
69
- // Todo: register the securityScan command
159
+ const onExecuteCommandHandler = async (params, _token) => {
160
+ logging.log(params.command);
161
+ switch (params.command) {
162
+ case 'aws/codewhisperer/runSecurityScan':
163
+ return runSecurityScan(params, scanHandler.tokenSource.token);
164
+ case 'aws/codewhisperer/cancelSecurityScan':
165
+ scanHandler.cancelSecurityScan();
166
+ }
167
+ return;
168
+ };
169
+ diagnosticsProvider.handleHover();
170
+ lsp.onExecuteCommand(onExecuteCommandHandler);
171
+ lsp.onDidChangeTextDocument(async (p) => {
172
+ const textDocument = await workspace.getTextDocument(p.textDocument.uri);
173
+ const languageId = (0, languageDetection_1.getSupportedLanguageId)(textDocument);
174
+ if (!textDocument || !languageId || !languageDetection_1.supportedSecurityScanLanguages.includes(languageId)) {
175
+ return;
176
+ }
177
+ p.contentChanges.forEach(async (change) => {
178
+ await diagnosticsProvider.validateDiagnostics(p.textDocument.uri, change);
179
+ });
180
+ });
70
181
  logging.log('SecurityScan server has been initialized');
71
182
  return () => {
72
183
  // dispose function
184
+ scanHandler.tokenSource.dispose();
73
185
  };
74
186
  };
75
187
  exports.SecurityScanServerToken = SecurityScanServerToken;
@@ -1 +1 @@
1
- {"version":3,"file":"codeWhispererSecurityScanServer.js","sourceRoot":"","sources":["../../src/language-server/codeWhispererSecurityScanServer.ts"],"names":[],"mappings":";;;AAGA,6BAAmC;AAEnC,4EAAwE;AACxE,mCAAmC;AAE5B,MAAM,uBAAuB,GAChC,CAAC,OAAgF,EAAU,EAAE,CAC7F,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5C,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAExD,MAAM,eAAe,GAAG,KAAK,EAAE,MAAiC,EAAE,EAAE;QAChE,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChD,uEAAuE;YACvE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAClF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,yCAAmB,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAA;QAE3E,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAA;YAC9B,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAA;YAEtD,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,0DAA0D,MAAM,EAAE,CAAC,CAAA;gBAC/E,uDAAuD;gBACvD,MAAM,IAAI,KAAK,CAAC,0DAA0D,MAAM,EAAE,CAAC,CAAA;YACvF,CAAC;YACD,MAAM,WAAW,GAAG,IAAA,mBAAa,EAAC,cAAc,CAAC,CAAC,IAAI,CAAA;YACtD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;YAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,uDAAuD;gBACvD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;YAC3E,CAAC;YACD;;eAEG;YACH,kDAAkD;YAElD;;eAEG;YACH,4FAA4F;YAC5F,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACjC,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,qCAAqC,CAAC,SAAS,CAAC,CAAA;YACtF;;eAEG;YACH,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;YAE/F;;eAEG;YACH,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YACpE,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;gBACxC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;gBAC5C,8CAA8C;YAClD,CAAC;YAED;;eAEG;YACH,MAAM,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YAE7D;;eAEG;YACH,6CAA6C;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1B,8CAA8C;QAClD,CAAC;IACL,CAAC,CAAA;IACD,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;IAEvD,OAAO,GAAG,EAAE;QACR,mBAAmB;IACvB,CAAC,CAAA;AACL,CAAC,CAAA;AA7EQ,QAAA,uBAAuB,2BA6E/B"}
1
+ {"version":3,"file":"codeWhispererSecurityScanServer.js","sourceRoot":"","sources":["../../src/language-server/codeWhispererSecurityScanServer.ts"],"names":[],"mappings":";;;AAMA,6BAAmC;AAGnC,qFAAiF;AACjF,2DAA4F;AAC5F,oGAA4F;AAC5F,4EAAoG;AAGpG,mCAAmC;AAE5B,MAAM,uBAAuB,GAChC,CAAC,OAAgF,EAAU,EAAE,CAC7F,CAAC,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5D,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACxD,MAAM,mBAAmB,GAAG,IAAI,yCAA+B,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAC7E,MAAM,WAAW,GAAG,IAAI,yCAAmB,CAAC,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IAEpF,MAAM,eAAe,GAAG,KAAK,EAAE,MAAiC,EAAE,KAAwB,EAAE,EAAE;QAC1F,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QACrC,mBAAmB,CAAC,gBAAgB,EAAE,CAAA;QACtC,IAAI,SAAiB,CAAA;QACrB,MAAM,qBAAqB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;QAC/C,IAAI,0BAA0B,GAAG,CAAC,CAAA;QAClC,MAAM,0BAA0B,GAA+B;YAC3D,oCAAoC,EAAE,CAAC;YACvC,oCAAoC,EAAE,CAAC;YACvC,0BAA0B,EAAE,CAAC;YAC7B,QAAQ,EAAE,CAAC;YACX,yBAAyB,EAAE,CAAC;YAC5B,uBAAuB,EAAE,CAAC;YAC1B,kCAAkC,EAAE,CAAC;YACrC,MAAM,EAAE,WAAW;YACnB,gCAAgC,EAAE,CAAC;YACnC,oCAAoC,EAAE,CAAC;YACvC,kBAAkB,EAAE,mBAAmB,CAAC,qBAAqB,EAAE,EAAE,GAAG,EAAE,QAAQ,IAAI,SAAS;SAC9F,CAAA;QACD,IAAI,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;YAClF,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,MAAM,IAAI,KAAK,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,SAAS,CAAA;YAC9B,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAA;YACnF,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,0DAA0D,MAAM,EAAE,CAAC,CAAA;YACvF,CAAC;YACD,MAAM,iBAAiB,GAAG,IAAA,mBAAa,EAAC,cAAc,CAAC,CAAC,IAAI,CAAA;YAC5D,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAA;YACnE,0BAA0B,CAAC,qBAAqB,GAAG,IAAA,0CAAsB,EAAC,QAAQ,CAAC,CAAA;YACnF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;YAC3E,CAAC;YACD;;eAEG;YACH,MAAM,eAAe,GAAG,+CAAsB,CAAC,kBAAkB,CAC7D,QAAQ,EACR,SAAS,EACT,OAAO,EACP,WAAW,CACd,CAAA;YACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,uCAAuC,CAAC,CAAA;YACnF,CAAC;YACD,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC,MAAM,SAAS,CAAC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1F,MAAM,IAAI,KAAK,CACX,6BAA6B,eAAe,CAAC,oBAAoB,EAAE,yBAAyB,CAC/F,CAAA;YACL,CAAC;YACD,MAAM,0BAA0B,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YACpD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;YAC3E,0BAA0B,CAAC,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,0BAA0B,CAAA;YACrG,0BAA0B,CAAC,oCAAoC,GAAG,UAAU,CAAC,qBAAqB,CAAA;YAClG,0BAA0B,CAAC,sCAAsC,GAAG,UAAU,CAAC,uBAAuB,CAAA;YACtG,0BAA0B,CAAC,oCAAoC,GAAG,UAAU,CAAC,kBAAkB,CAAA;YAC/F,0BAA0B,CAAC,0BAA0B,GAAG,UAAU,CAAC,KAAK,CAAA;YACxE,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAEnC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAA;YAEnD;;eAEG;YACH,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YACzC,IAAI,WAAW,GAAgB,EAAE,CAAA;YACjC,IAAI,CAAC;gBACD,WAAW,GAAG,MAAM,WAAW,CAAC,qCAAqC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;YACnG,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAA;gBAC9D,MAAM,KAAK,CAAA;YACf,CAAC;oBAAS,CAAC;gBACP,MAAM,eAAe,CAAC,cAAc,EAAE,CAAA;gBACtC,0BAA0B,CAAC,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,eAAe,CAAA;YAC5F,CAAC;YACD,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YACnC;;eAEG;YACH,0BAA0B,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAC9C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAA;YAC/F,OAAO,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;YAC7D,0BAA0B,CAAC,0BAA0B,GAAG,OAAO,CAAC,KAAK,CAAA;YACrE,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAEnC;;eAEG;YACH,SAAS,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC9D,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAChD,CAAC;YACD,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAEnC;;eAEG;YACH,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAA;YACvE,MAAM,gCAAgC,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;YACtG,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,gCAAgC,CAAC,MAAM,CAChE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBACvB,KAAK,EAAE,WAAW,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM;gBAChD,SAAS,EACL,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;aAC7F,CAAC,EACF,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAC7B,CAAA;YACD,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,YAAY,SAAS,sBAAsB,CAAC,CAAA;YAC5F,0BAA0B,CAAC,gCAAgC,GAAG,KAAK,CAAA;YACnE,0BAA0B,CAAC,oCAAoC,GAAG,SAAS,CAAA;YAC3E,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAEnC;;eAEG;YACH,MAAM,mBAAmB,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAA;YAE7E,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;YACvC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAA;YAC7E,OAAO;gBACH,MAAM,EAAE;oBACJ,MAAM,EAAE,SAAS;oBACjB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;iBACvE;aAC0B,CAAA;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,gDAA0B,EAAE,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAA;gBACzD,0BAA0B,CAAC,MAAM,GAAG,WAAW,CAAA;gBAC/C,OAAO;oBACH,MAAM,EAAE;wBACJ,MAAM,EAAE,WAAW;qBACtB;iBAC0B,CAAA;YACnC,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAA;YAC7C,0BAA0B,CAAC,MAAM,GAAG,QAAQ,CAAA;YAC5C,OAAO;gBACH,MAAM,EAAE;oBACJ,MAAM,EAAE,QAAQ;iBACnB;gBACD,KAAK;aACsB,CAAA;QACnC,CAAC;gBAAS,CAAC;YACP,0BAA0B,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,qBAAqB,CAAA;YAC/E,0BAA0B,CAAC,kCAAkC;gBACzD,WAAW,CAAC,GAAG,EAAE,GAAG,0BAA0B,CAAA;YAClD,SAAS,CAAC,UAAU,CAAC;gBACjB,IAAI,EAAE,4BAA4B;gBAClC,MAAM,EAAE,0BAA0B,CAAC,MAAM;gBACzC,IAAI,EAAE,0BAA0B;aACnC,CAAC,CAAA;QACN,CAAC;IACL,CAAC,CAAA;IAED,MAAM,uBAAuB,GAAG,KAAK,EACjC,MAA4B,EAC5B,MAAyB,EACb,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3B,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,KAAK,mCAAmC;gBACpC,OAAO,eAAe,CAAC,MAAmC,EAAE,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;YAC9F,KAAK,sCAAsC;gBACvC,WAAW,CAAC,kBAAkB,EAAE,CAAA;QACxC,CAAC;QACD,OAAM;IACV,CAAC,CAAA;IACD,mBAAmB,CAAC,WAAW,EAAE,CAAA;IACjC,GAAG,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAA;IAC7C,GAAG,CAAC,uBAAuB,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;QAClC,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,IAAA,0CAAsB,EAAC,YAAY,CAAC,CAAA;QAEvD,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,IAAI,CAAC,kDAA8B,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACvF,OAAM;QACV,CAAC;QAED,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACpC,MAAM,mBAAmB,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;IAEvD,OAAO,GAAG,EAAE;QACR,mBAAmB;QACnB,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC,CAAA;AACL,CAAC,CAAA;AAvMQ,QAAA,uBAAuB,2BAuM/B"}
@@ -1,5 +1,4 @@
1
- import { Server } from '@aws/language-server-runtimes';
2
- import { CredentialsProvider } from '@aws/language-server-runtimes/out/features';
1
+ import { Server, CredentialsProvider } from '@aws/language-server-runtimes/server-interface';
3
2
  import { CodeWhispererServiceBase } from './codeWhispererService';
4
3
  export declare const CONTEXT_CHARACTERS_LIMIT = 10240;
5
4
  export declare const CodewhispererServerFactory: (service: (credentials: CredentialsProvider) => CodeWhispererServiceBase) => Server;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CodeWhispererServerToken = exports.CodeWhispererServerIAM = exports.CodewhispererServerFactory = exports.CONTEXT_CHARACTERS_LIMIT = void 0;
4
- const vscode_languageserver_1 = require("vscode-languageserver");
4
+ const server_interface_1 = require("@aws/language-server-runtimes/server-interface");
5
5
  const autoTrigger_1 = require("./auto-trigger/autoTrigger");
6
6
  const codeWhispererService_1 = require("./codeWhispererService");
7
7
  const languageDetection_1 = require("./languageDetection");
@@ -224,7 +224,7 @@ const CodewhispererServerFactory = (service) => ({ credentialsProvider, lsp, wor
224
224
  return EMPTY_RESULT;
225
225
  }
226
226
  // Build request context
227
- const isAutomaticLspTriggerKind = params.context.triggerKind == vscode_languageserver_1.InlineCompletionTriggerKind.Automatic;
227
+ const isAutomaticLspTriggerKind = params.context.triggerKind == server_interface_1.InlineCompletionTriggerKind.Automatic;
228
228
  const maxResults = isAutomaticLspTriggerKind ? 1 : 5;
229
229
  const selectionRange = params.context.selectedCompletionInfo?.range;
230
230
  const fileContext = getFileContext({ textDocument, inferredLanguageId, position: params.position });
@@ -1 +1 @@
1
- {"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../src/language-server/codeWhispererServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeWhispererServer.js","sourceRoot":"","sources":["../../src/language-server/codeWhispererServer.ts"],"names":[],"mappings":"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"}