@aws/lsp-codewhisperer 0.0.3

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 (100) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +19 -0
  3. package/out/client/sigv4/codewhisperer.d.ts +3 -0
  4. package/out/client/sigv4/codewhisperer.js +14 -0
  5. package/out/client/sigv4/codewhisperer.js.map +1 -0
  6. package/out/client/sigv4/service.json +346 -0
  7. package/out/client/token/bearer-token-service.json +1627 -0
  8. package/out/client/token/codewhisperer.d.ts +14 -0
  9. package/out/client/token/codewhisperer.js +23 -0
  10. package/out/client/token/codewhisperer.js.map +1 -0
  11. package/out/index.d.ts +2 -0
  12. package/out/index.js +19 -0
  13. package/out/index.js.map +1 -0
  14. package/out/language-server/auto-trigger/autoTrigger.d.ts +38 -0
  15. package/out/language-server/auto-trigger/autoTrigger.js +119 -0
  16. package/out/language-server/auto-trigger/autoTrigger.js.map +1 -0
  17. package/out/language-server/auto-trigger/autoTrigger.test.d.ts +1 -0
  18. package/out/language-server/auto-trigger/autoTrigger.test.js +82 -0
  19. package/out/language-server/auto-trigger/autoTrigger.test.js.map +1 -0
  20. package/out/language-server/auto-trigger/coefficients.json +405 -0
  21. package/out/language-server/codeWhispererSecurityScanServer.d.ts +4 -0
  22. package/out/language-server/codeWhispererSecurityScanServer.js +76 -0
  23. package/out/language-server/codeWhispererSecurityScanServer.js.map +1 -0
  24. package/out/language-server/codeWhispererServer.d.ts +7 -0
  25. package/out/language-server/codeWhispererServer.js +425 -0
  26. package/out/language-server/codeWhispererServer.js.map +1 -0
  27. package/out/language-server/codeWhispererServer.test.d.ts +1 -0
  28. package/out/language-server/codeWhispererServer.test.js +1218 -0
  29. package/out/language-server/codeWhispererServer.test.js.map +1 -0
  30. package/out/language-server/codeWhispererService.d.ts +84 -0
  31. package/out/language-server/codeWhispererService.js +168 -0
  32. package/out/language-server/codeWhispererService.js.map +1 -0
  33. package/out/language-server/dependencyGraph/commonUtil.d.ts +2 -0
  34. package/out/language-server/dependencyGraph/commonUtil.js +20 -0
  35. package/out/language-server/dependencyGraph/commonUtil.js.map +1 -0
  36. package/out/language-server/dependencyGraph/constants.d.ts +2 -0
  37. package/out/language-server/dependencyGraph/constants.js +6 -0
  38. package/out/language-server/dependencyGraph/constants.js.map +1 -0
  39. package/out/language-server/dependencyGraph/csharpDependencyGraph.d.ts +27 -0
  40. package/out/language-server/dependencyGraph/csharpDependencyGraph.js +145 -0
  41. package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +1 -0
  42. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.d.ts +1 -0
  43. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js +341 -0
  44. package/out/language-server/dependencyGraph/csharpDependencyGraph.test.js.map +1 -0
  45. package/out/language-server/dependencyGraph/dependencyGraph.d.ts +125 -0
  46. package/out/language-server/dependencyGraph/dependencyGraph.js +152 -0
  47. package/out/language-server/dependencyGraph/dependencyGraph.js.map +1 -0
  48. package/out/language-server/dependencyGraph/dependencyGraphFactory.d.ts +15 -0
  49. package/out/language-server/dependencyGraph/dependencyGraphFactory.js +22 -0
  50. package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +1 -0
  51. package/out/language-server/languageDetection.d.ts +3 -0
  52. package/out/language-server/languageDetection.js +56 -0
  53. package/out/language-server/languageDetection.js.map +1 -0
  54. package/out/language-server/mergeRightUtils.d.ts +6 -0
  55. package/out/language-server/mergeRightUtils.js +37 -0
  56. package/out/language-server/mergeRightUtils.js.map +1 -0
  57. package/out/language-server/mergeRightUtils.test.d.ts +1 -0
  58. package/out/language-server/mergeRightUtils.test.js +53 -0
  59. package/out/language-server/mergeRightUtils.test.js.map +1 -0
  60. package/out/language-server/proxy-server.d.ts +2 -0
  61. package/out/language-server/proxy-server.js +35 -0
  62. package/out/language-server/proxy-server.js.map +1 -0
  63. package/out/language-server/securityScan/securityScanHandler.d.ts +17 -0
  64. package/out/language-server/securityScan/securityScanHandler.js +139 -0
  65. package/out/language-server/securityScan/securityScanHandler.js.map +1 -0
  66. package/out/language-server/securityScan/securityScanHandler.test.d.ts +1 -0
  67. package/out/language-server/securityScan/securityScanHandler.test.js +170 -0
  68. package/out/language-server/securityScan/securityScanHandler.test.js.map +1 -0
  69. package/out/language-server/securityScan/types.d.ts +49 -0
  70. package/out/language-server/securityScan/types.js +3 -0
  71. package/out/language-server/securityScan/types.js.map +1 -0
  72. package/out/language-server/session/sessionManager.d.ts +91 -0
  73. package/out/language-server/session/sessionManager.js +234 -0
  74. package/out/language-server/session/sessionManager.js.map +1 -0
  75. package/out/language-server/session/sessionManager.test.d.ts +1 -0
  76. package/out/language-server/session/sessionManager.test.js +584 -0
  77. package/out/language-server/session/sessionManager.test.js.map +1 -0
  78. package/out/language-server/telemetry/codePercentage.d.ts +17 -0
  79. package/out/language-server/telemetry/codePercentage.js +82 -0
  80. package/out/language-server/telemetry/codePercentage.js.map +1 -0
  81. package/out/language-server/telemetry/codePercentage.test.d.ts +1 -0
  82. package/out/language-server/telemetry/codePercentage.test.js +85 -0
  83. package/out/language-server/telemetry/codePercentage.test.js.map +1 -0
  84. package/out/language-server/telemetry/types.d.ts +68 -0
  85. package/out/language-server/telemetry/types.js +3 -0
  86. package/out/language-server/telemetry/types.js.map +1 -0
  87. package/out/language-server/telemetry/userTriggerDecision.test.d.ts +1 -0
  88. package/out/language-server/telemetry/userTriggerDecision.test.js +946 -0
  89. package/out/language-server/telemetry/userTriggerDecision.test.js.map +1 -0
  90. package/out/language-server/telemetry.test.d.ts +1 -0
  91. package/out/language-server/telemetry.test.js +96 -0
  92. package/out/language-server/telemetry.test.js.map +1 -0
  93. package/out/language-server/testUtils.d.ts +69 -0
  94. package/out/language-server/testUtils.js +90 -0
  95. package/out/language-server/testUtils.js.map +1 -0
  96. package/out/language-server/utils.d.ts +6 -0
  97. package/out/language-server/utils.js +31 -0
  98. package/out/language-server/utils.js.map +1 -0
  99. package/package.json +53 -0
  100. package/script/generateServiceClient.ts +242 -0
@@ -0,0 +1,405 @@
1
+ {
2
+ "charCoefficient": {
3
+ "throw": 1.5868,
4
+ ";": -1.268,
5
+ "any": -1.1565,
6
+ "7": -1.1347,
7
+ "false": -1.1307,
8
+ "nil": -1.0653,
9
+ "elif": 1.0122,
10
+ "9": -1.0098,
11
+ "pass": -1.0058,
12
+ "True": -1.0002,
13
+ "False": -0.9434,
14
+ "6": -0.9222,
15
+ "true": -0.9142,
16
+ "None": -0.9027,
17
+ "8": -0.9013,
18
+ "break": -0.8475,
19
+ "}": -0.847,
20
+ "5": -0.8414,
21
+ "4": -0.8197,
22
+ "1": -0.8085,
23
+ "\\": -0.8019,
24
+ "static": -0.7748,
25
+ "0": -0.77,
26
+ "end": -0.7617,
27
+ "(": 0.7239,
28
+ "/": -0.7104,
29
+ "where": -0.6981,
30
+ "readonly": -0.6741,
31
+ "async": -0.6723,
32
+ "3": -0.654,
33
+ "continue": -0.6413,
34
+ "struct": -0.64,
35
+ "try": -0.6369,
36
+ "float": -0.6341,
37
+ "using": 0.6079,
38
+ "@": 0.6016,
39
+ "|": 0.5993,
40
+ "impl": 0.5808,
41
+ "private": -0.5746,
42
+ "for": 0.5741,
43
+ "2": -0.5634,
44
+ "let": -0.5187,
45
+ "foreach": 0.5186,
46
+ "select": -0.5148,
47
+ "export": -0.5,
48
+ "mut": -0.4921,
49
+ ")": -0.463,
50
+ "]": -0.4611,
51
+ "when": 0.4602,
52
+ "virtual": -0.4583,
53
+ "extern": -0.4465,
54
+ "catch": 0.4446,
55
+ "new": 0.4394,
56
+ "val": -0.4339,
57
+ "map": 0.4284,
58
+ "case": 0.4271,
59
+ "throws": 0.4221,
60
+ "null": -0.4197,
61
+ "protected": -0.4133,
62
+ "q": 0.4125,
63
+ "except": 0.4115,
64
+ ": ": 0.4072,
65
+ "^": -0.407,
66
+ " ": 0.4066,
67
+ "$": 0.3981,
68
+ "this": 0.3962,
69
+ "switch": 0.3947,
70
+ "*": -0.3931,
71
+ "module": 0.3912,
72
+ "array": 0.385,
73
+ "=": 0.3828,
74
+ "p": 0.3728,
75
+ "ON": 0.3708,
76
+ "`": 0.3693,
77
+ "u": 0.3658,
78
+ "a": 0.3654,
79
+ "require": 0.3646,
80
+ ">": -0.3644,
81
+ "const": -0.3476,
82
+ "o": 0.3423,
83
+ "sizeof": 0.3416,
84
+ "object": 0.3362,
85
+ "w": 0.3345,
86
+ "print": 0.3344,
87
+ "range": 0.3336,
88
+ "if": 0.3324,
89
+ "abstract": -0.3293,
90
+ "var": -0.3239,
91
+ "i": 0.321,
92
+ "while": 0.3138,
93
+ "J": 0.3137,
94
+ "c": 0.3118,
95
+ "await": -0.3072,
96
+ "from": 0.3057,
97
+ "f": 0.302,
98
+ "echo": 0.2995,
99
+ "#": 0.2984,
100
+ "e": 0.2962,
101
+ "r": 0.2925,
102
+ "mod": 0.2893,
103
+ "loop": 0.2874,
104
+ "t": 0.2832,
105
+ "~": 0.282,
106
+ "final": -0.2816,
107
+ "del": 0.2785,
108
+ "override": -0.2746,
109
+ "ref": -0.2737,
110
+ "h": 0.2693,
111
+ "m": 0.2681,
112
+ "{": 0.2674,
113
+ "implements": 0.2672,
114
+ "inline": -0.2642,
115
+ "match": 0.2613,
116
+ "with": -0.261,
117
+ "x": 0.2597,
118
+ "namespace": -0.2596,
119
+ "operator": 0.2573,
120
+ "double": -0.2563,
121
+ "source": -0.2482,
122
+ "import": -0.2419,
123
+ "NULL": -0.2399,
124
+ "l": 0.239,
125
+ "or": 0.2378,
126
+ "s": 0.2366,
127
+ "then": 0.2354,
128
+ "W": 0.2354,
129
+ "y": 0.2333,
130
+ "local": 0.2288,
131
+ "is": 0.2282,
132
+ "n": 0.2254,
133
+ "+": -0.2251,
134
+ "G": 0.223,
135
+ "public": -0.2229,
136
+ "WHERE": 0.2224,
137
+ "list": 0.2204,
138
+ "Q": 0.2204,
139
+ "[": 0.2136,
140
+ "VALUES": 0.2134,
141
+ "H": 0.2105,
142
+ "g": 0.2094,
143
+ "else": -0.208,
144
+ "bool": -0.2066,
145
+ "long": -0.2059,
146
+ "R": 0.2025,
147
+ "S": 0.2021,
148
+ "d": 0.2003,
149
+ "V": 0.1974,
150
+ "K": -0.1961,
151
+ "<": 0.1958,
152
+ "debugger": -0.1929,
153
+ "NOT": -0.1911,
154
+ "b": 0.1907,
155
+ "boolean": -0.1891,
156
+ "z": -0.1866,
157
+ "LIKE": -0.1793,
158
+ "raise": 0.1782,
159
+ "L": 0.1768,
160
+ "fn": 0.176,
161
+ "delete": 0.1714,
162
+ "unsigned": -0.1675,
163
+ "auto": -0.1648,
164
+ "finally": 0.1616,
165
+ "k": 0.1599,
166
+ "as": 0.156,
167
+ "instanceof": 0.1558,
168
+ "&": 0.1554,
169
+ "E": 0.1551,
170
+ "M": 0.1542,
171
+ "I": 0.1503,
172
+ "Y": 0.1493,
173
+ "typeof": 0.1475,
174
+ "j": 0.1445,
175
+ "INTO": 0.1442,
176
+ "IF": 0.1437,
177
+ "next": 0.1433,
178
+ "undef": -0.1427,
179
+ "THEN": -0.1416,
180
+ "v": 0.1415,
181
+ "C": 0.1383,
182
+ "P": 0.1353,
183
+ "AND": -0.1345,
184
+ "constructor": 0.1337,
185
+ "void": -0.1336,
186
+ "class": -0.1328,
187
+ "defer": 0.1316,
188
+ "begin": 0.1306,
189
+ "FROM": -0.1304,
190
+ "SET": 0.1291,
191
+ "decimal": -0.1278,
192
+ "friend": 0.1277,
193
+ "SELECT": -0.1265,
194
+ "event": 0.1259,
195
+ "lambda": 0.1253,
196
+ "enum": 0.1215,
197
+ "A": 0.121,
198
+ "lock": 0.1187,
199
+ "ensure": 0.1184,
200
+ "%": 0.1177,
201
+ "isset": 0.1175,
202
+ "O": 0.1174,
203
+ ".": 0.1146,
204
+ "UNION": -0.1145,
205
+ "alias": -0.1129,
206
+ "template": -0.1102,
207
+ "WHEN": 0.1093,
208
+ "rescue": 0.1083,
209
+ "DISTINCT": -0.1074,
210
+ "trait": -0.1073,
211
+ "D": 0.1062,
212
+ "in": 0.1045,
213
+ "internal": -0.1029,
214
+ ",": 0.1027,
215
+ "static_cast": 0.1016,
216
+ "do": -0.1005,
217
+ "OR": 0.1003,
218
+ "AS": -0.1001,
219
+ "interface": 0.0996,
220
+ "super": 0.0989,
221
+ "B": 0.0963,
222
+ "U": 0.0962,
223
+ "T": 0.0943,
224
+ "CALL": -0.0918,
225
+ "BETWEEN": -0.0915,
226
+ "N": 0.0897,
227
+ "yield": 0.0867,
228
+ "done": -0.0857,
229
+ "string": -0.0837,
230
+ "out": -0.0831,
231
+ "volatile": -0.0819,
232
+ "retry": 0.0816,
233
+ "?": -0.0796,
234
+ "number": -0.0791,
235
+ "short": 0.0787,
236
+ "sealed": -0.0776,
237
+ "package": 0.0765,
238
+ "OPEN": -0.0756,
239
+ "base": 0.0735,
240
+ "and": 0.0729,
241
+ "exit": 0.0726,
242
+ "_": 0.0721,
243
+ "keyof": -0.072,
244
+ "def": 0.0713,
245
+ "crate": -0.0706,
246
+ "-": -0.07,
247
+ "FUNCTION": 0.0692,
248
+ "declare": -0.0678,
249
+ "include": 0.0671,
250
+ "COUNT": -0.0669,
251
+ "INDEX": -0.0666,
252
+ "CLOSE": -0.0651,
253
+ "fi": -0.0644,
254
+ "uint": 0.0624,
255
+ "params": 0.0575,
256
+ "HAVING": 0.0575,
257
+ "byte": -0.0575,
258
+ "clone": -0.0552,
259
+ "char": -0.054,
260
+ "func": 0.0538,
261
+ "never": -0.053,
262
+ "unset": -0.0524,
263
+ "unless": -0.051,
264
+ "esac": -0.0509,
265
+ "shift": -0.0507,
266
+ "require_once": 0.0486,
267
+ "ELSE": -0.0477,
268
+ "extends": 0.0461,
269
+ "elseif": 0.0452,
270
+ "mutable": -0.0451,
271
+ "asm": 0.0449,
272
+ "!": 0.0446,
273
+ "LIMIT": 0.0444,
274
+ "ushort": -0.0438,
275
+ "\"": -0.0433,
276
+ "Z": 0.0431,
277
+ "exec": -0.0431,
278
+ "IS": -0.0429,
279
+ "DECLARE": -0.0425,
280
+ "__LINE__": -0.0424,
281
+ "BEGIN": -0.0418,
282
+ "typedef": 0.0414,
283
+ "EXIT": -0.0412,
284
+ "'": 0.041,
285
+ "function": -0.0393,
286
+ "dyn": -0.039,
287
+ "wchar_t": -0.0388,
288
+ "unique": -0.0383,
289
+ "include_once": 0.0367,
290
+ "stackalloc": 0.0359,
291
+ "RETURN": -0.0356,
292
+ "const_cast": 0.035,
293
+ "MAX": 0.0341,
294
+ "assert": -0.0331,
295
+ "JOIN": -0.0328,
296
+ "use": 0.0318,
297
+ "GET": 0.0317,
298
+ "VIEW": 0.0314,
299
+ "move": 0.0308,
300
+ "typename": 0.0308,
301
+ "die": 0.0305,
302
+ "asserts": -0.0304,
303
+ "reinterpret_cast": -0.0302,
304
+ "USING": -0.0289,
305
+ "elsif": -0.0285,
306
+ "FIRST": -0.028,
307
+ "self": -0.0278,
308
+ "RETURNING": -0.0278,
309
+ "symbol": -0.0273,
310
+ "OFFSET": 0.0263,
311
+ "bigint": 0.0253,
312
+ "register": -0.0237,
313
+ "union": -0.0227,
314
+ "return": -0.0227,
315
+ "until": -0.0224,
316
+ "endfor": -0.0213,
317
+ "implicit": -0.021,
318
+ "LOOP": 0.0195,
319
+ "pub": 0.0182,
320
+ "global": 0.0179,
321
+ "EXCEPTION": 0.0175,
322
+ "delegate": 0.0173,
323
+ "signed": -0.0163,
324
+ "FOR": 0.0156,
325
+ "unsafe": 0.014,
326
+ "NEXT": -0.0133,
327
+ "IN": 0.0129,
328
+ "MIN": -0.0123,
329
+ "go": -0.0112,
330
+ "type": -0.0109,
331
+ "explicit": -0.0107,
332
+ "eval": -0.0104,
333
+ "int": -0.0099,
334
+ "CASE": -0.0096,
335
+ "END": 0.0084,
336
+ "UPDATE": 0.0074,
337
+ "default": 0.0072,
338
+ "chan": 0.0068,
339
+ "fixed": 0.0066,
340
+ "not": -0.0052,
341
+ "X": -0.0047,
342
+ "endforeach": 0.0031,
343
+ "goto": 0.0028,
344
+ "empty": 0.0022,
345
+ "checked": 0.0012,
346
+ "F": -0.001
347
+ },
348
+ "languageCoefficient": {
349
+ "java": -0.4622,
350
+ "javascript": -0.4688,
351
+ "python": -0.3052,
352
+ "typescript": -0.6084,
353
+ "tsx": -0.6084,
354
+ "jsx": -0.4688,
355
+ "shell": -0.4718,
356
+ "ruby": -0.7356,
357
+ "sql": -0.4937,
358
+ "rust": -0.4309,
359
+ "kotlin": -0.4739,
360
+ "php": -0.3917,
361
+ "csharp": -0.3475,
362
+ "go": -0.3504,
363
+ "scala": -0.534,
364
+ "cpp": -0.1734
365
+ },
366
+ "triggerTypeCoefficient": {
367
+ "SpecialCharacters": 0.0209,
368
+ "Enter": 0.2853
369
+ },
370
+ "osCoefficient": {
371
+ "Mac OS X": -0.1552,
372
+ "Windows 10": -0.0238,
373
+ "Windows": 0.0412,
374
+ "win32": -0.0559
375
+ },
376
+ "ideCoefficient": {
377
+ "VsCode": -0.13566
378
+ },
379
+ "minn": {
380
+ "lineNum": 0.0,
381
+ "lenLeftCur": 0.0,
382
+ "lenLeftPrev": 0.0,
383
+ "lenRight": 0.0
384
+ },
385
+ "maxx": {
386
+ "lineNum": 4631.0,
387
+ "lenLeftCur": 157.0,
388
+ "lenLeftPrev": 176.0,
389
+ "lenRight": 10239.0
390
+ },
391
+ "prevDecisionAcceptCoefficient": 0.5397,
392
+ "prevDecisionRejectCoefficient": -0.1656,
393
+ "prevDecisionOtherCoefficient": 0,
394
+ "lengthOfRightCoefficient": -0.3321,
395
+ "lengthOfLeftCurrentCoefficient": -1.1747,
396
+ "lengthOfLeftPrevCoefficient": 0.4033,
397
+ "lineNumCoefficient": -0.0416,
398
+ "lengthLeft0To5Coefficient": -0.8756,
399
+ "lengthLeft5To10Coefficient": -0.5463,
400
+ "lengthLeft10To20Coefficient": -0.4081,
401
+ "lengthLeft20To30Coefficient": -0.3272,
402
+ "lengthLeft30To40Coefficient": -0.2442,
403
+ "lengthLeft40To50Coefficient": -0.1471,
404
+ "intercept": 0.3738713
405
+ }
@@ -0,0 +1,4 @@
1
+ import { Server } from '@aws/language-server-runtimes';
2
+ import { CredentialsProvider } from '@aws/language-server-runtimes/out/features';
3
+ import { CodeWhispererServiceToken } from './codeWhispererService';
4
+ export declare const SecurityScanServerToken: (service: (credentialsProvider: CredentialsProvider) => CodeWhispererServiceToken) => Server;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SecurityScanServerToken = void 0;
4
+ const url_1 = require("url");
5
+ const securityScanHandler_1 = require("./securityScan/securityScanHandler");
6
+ const utils_1 = require("./utils");
7
+ const SecurityScanServerToken = (service) => ({ credentialsProvider, workspace, logging }) => {
8
+ 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);
15
+ try {
16
+ if (!params.arguments || params.arguments.length === 0) {
17
+ throw new Error(`Incorrect params provided. Params: ${params}`);
18
+ }
19
+ const [arg] = params.arguments;
20
+ const { activeFilePath, projectPath } = (0, utils_1.parseJson)(arg);
21
+ 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
+ throw new Error(`Error: file path or project path not provided. Params: ${params}`);
25
+ }
26
+ const documentUri = (0, url_1.pathToFileURL)(activeFilePath).href;
27
+ const document = await workspace.getTextDocument(documentUri);
28
+ if (!document) {
29
+ // Todo: notify client that text document is undefined.
30
+ throw new Error('Text document for given activeFilePath is undefined.');
31
+ }
32
+ /**
33
+ * Step 1: Generate context truncations
34
+ */
35
+ // Todo: add create zip buffer and dependecy graph
36
+ /**
37
+ * Step 2: Get presigned Url, upload and clean up
38
+ */
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);
42
+ /**
43
+ * Step 3: Create scan job
44
+ */
45
+ const scanJob = await scanHandler.createScanJob(artifactMap, document.languageId.toLowerCase());
46
+ /**
47
+ * Step 4: Polling mechanism on scan job status
48
+ */
49
+ const jobStatus = await scanHandler.pollScanJobStatus(scanJob.jobId);
50
+ if (jobStatus === 'Failed') {
51
+ logging.log('security scan job failed.');
52
+ throw new Error('security scan job failed.');
53
+ // Todo: notify client about scan job failure.
54
+ }
55
+ /**
56
+ * Step 5: Process and render scan results
57
+ */
58
+ await scanHandler.listScanResults(scanJob.jobId, projectPath);
59
+ /**
60
+ * Step 6: send results to diagnostics
61
+ */
62
+ // Todo: update diagnostics to add new issues
63
+ }
64
+ catch (error) {
65
+ logging.log(String(error));
66
+ // Todo: notify client about scan job failure.
67
+ }
68
+ };
69
+ // Todo: register the securityScan command
70
+ logging.log('SecurityScan server has been initialized');
71
+ return () => {
72
+ // dispose function
73
+ };
74
+ };
75
+ exports.SecurityScanServerToken = SecurityScanServerToken;
76
+ //# sourceMappingURL=codeWhispererSecurityScanServer.js.map
@@ -0,0 +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"}
@@ -0,0 +1,7 @@
1
+ import { Server } from '@aws/language-server-runtimes';
2
+ import { CredentialsProvider } from '@aws/language-server-runtimes/out/features';
3
+ import { CodeWhispererServiceBase } from './codeWhispererService';
4
+ export declare const CONTEXT_CHARACTERS_LIMIT = 10240;
5
+ export declare const CodewhispererServerFactory: (service: (credentials: CredentialsProvider) => CodeWhispererServiceBase) => Server;
6
+ export declare const CodeWhispererServerIAM: Server;
7
+ export declare const CodeWhispererServerToken: Server;