@aws/lsp-codewhisperer 0.0.9 → 0.0.10

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 (263) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/node_modules/@amzn/codewhisperer-streaming/package.json +4 -4
  3. package/node_modules/@aws/lsp-fqn/out/common/commonFqnWorkerPool.js +12 -25
  4. package/node_modules/@aws/lsp-fqn/out/common/commonFqnWorkerPool.js.map +1 -1
  5. package/node_modules/@aws/lsp-fqn/out/common/fqnExtractor.js +1 -2
  6. package/node_modules/@aws/lsp-fqn/out/common/fqnExtractor.js.map +1 -1
  7. package/node_modules/@aws/lsp-fqn/package.json +1 -1
  8. package/node_modules/@aws/lsp-fqn/tsconfig.tsbuildinfo +1 -1
  9. package/out/client/streamingClient/codewhispererStreamingClient.d.ts +5 -0
  10. package/out/client/streamingClient/codewhispererStreamingClient.js +25 -0
  11. package/out/client/streamingClient/codewhispererStreamingClient.js.map +1 -0
  12. package/out/client/token/bearer-token-service.json +55 -2
  13. package/out/index.d.ts +1 -0
  14. package/out/index.js +1 -0
  15. package/out/index.js.map +1 -1
  16. package/out/language-server/chat/chatController.js +104 -108
  17. package/out/language-server/chat/chatController.js.map +1 -1
  18. package/out/language-server/chat/chatController.test.js +16 -1
  19. package/out/language-server/chat/chatController.test.js.map +1 -1
  20. package/out/language-server/chat/chatEventParser.js +28 -34
  21. package/out/language-server/chat/chatEventParser.js.map +1 -1
  22. package/out/language-server/chat/chatSessionManagementService.js +22 -36
  23. package/out/language-server/chat/chatSessionManagementService.js.map +1 -1
  24. package/out/language-server/chat/chatSessionService.js +24 -37
  25. package/out/language-server/chat/chatSessionService.js.map +1 -1
  26. package/out/language-server/chat/constants.d.ts +2 -0
  27. package/out/language-server/chat/constants.js +32 -0
  28. package/out/language-server/chat/constants.js.map +1 -0
  29. package/out/language-server/chat/contexts/documentContext.js +11 -24
  30. package/out/language-server/chat/contexts/documentContext.js.map +1 -1
  31. package/out/language-server/chat/contexts/documentFqnExtractor.js +67 -78
  32. package/out/language-server/chat/contexts/documentFqnExtractor.js.map +1 -1
  33. package/out/language-server/chat/contexts/triggerContext.js +32 -44
  34. package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
  35. package/out/language-server/chat/quickActions.d.ts +0 -1
  36. package/out/language-server/chat/quickActions.js +1 -28
  37. package/out/language-server/chat/quickActions.js.map +1 -1
  38. package/out/language-server/chat/telemetry/chatTelemetryController.js +114 -126
  39. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  40. package/out/language-server/chat/utils.d.ts +6 -0
  41. package/out/language-server/chat/utils.js +60 -0
  42. package/out/language-server/chat/utils.js.map +1 -0
  43. package/out/language-server/codeWhispererService.js +13 -11
  44. package/out/language-server/codeWhispererService.js.map +1 -1
  45. package/out/language-server/constants.d.ts +3 -0
  46. package/out/language-server/constants.js +7 -0
  47. package/out/language-server/constants.js.map +1 -0
  48. package/out/language-server/dependencyGraph/csharpDependencyGraph.js +2 -2
  49. package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +1 -1
  50. package/out/language-server/dependencyGraph/dependencyGraph.js +12 -9
  51. package/out/language-server/dependencyGraph/dependencyGraph.js.map +1 -1
  52. package/out/language-server/dependencyGraph/gitIgnoreFilter.js +1 -0
  53. package/out/language-server/dependencyGraph/gitIgnoreFilter.js.map +1 -1
  54. package/out/language-server/netTransform/artifactManager.d.ts +29 -0
  55. package/out/language-server/netTransform/artifactManager.js +191 -0
  56. package/out/language-server/netTransform/artifactManager.js.map +1 -0
  57. package/out/language-server/netTransform/converter.d.ts +7 -0
  58. package/out/language-server/netTransform/converter.js +88 -0
  59. package/out/language-server/netTransform/converter.js.map +1 -0
  60. package/out/language-server/netTransform/metrics.d.ts +17 -0
  61. package/out/language-server/netTransform/metrics.js +222 -0
  62. package/out/language-server/netTransform/metrics.js.map +1 -0
  63. package/out/language-server/netTransform/models.d.ts +84 -0
  64. package/out/language-server/netTransform/models.js +12 -0
  65. package/out/language-server/netTransform/models.js.map +1 -0
  66. package/out/language-server/netTransform/resources/SupportedProjects.d.ts +2 -0
  67. package/out/language-server/netTransform/resources/SupportedProjects.js +26 -0
  68. package/out/language-server/netTransform/resources/SupportedProjects.js.map +1 -0
  69. package/out/language-server/netTransform/tests/converter.test.d.ts +1 -0
  70. package/out/language-server/netTransform/tests/converter.test.js +151 -0
  71. package/out/language-server/netTransform/tests/converter.test.js.map +1 -0
  72. package/out/language-server/netTransform/tests/mockData.d.ts +21 -0
  73. package/out/language-server/netTransform/tests/mockData.js +60 -0
  74. package/out/language-server/netTransform/tests/mockData.js.map +1 -0
  75. package/out/language-server/netTransform/tests/transformHandler.test.d.ts +1 -0
  76. package/out/language-server/netTransform/tests/transformHandler.test.js +242 -0
  77. package/out/language-server/netTransform/tests/transformHandler.test.js.map +1 -0
  78. package/out/language-server/netTransform/tests/validation.test.d.ts +1 -0
  79. package/out/language-server/netTransform/tests/validation.test.js +80 -0
  80. package/out/language-server/netTransform/tests/validation.test.js.map +1 -0
  81. package/out/language-server/netTransform/transformHandler.d.ts +27 -0
  82. package/out/language-server/netTransform/transformHandler.js +315 -0
  83. package/out/language-server/netTransform/transformHandler.js.map +1 -0
  84. package/out/language-server/netTransform/validation.d.ts +9 -0
  85. package/out/language-server/netTransform/validation.js +79 -0
  86. package/out/language-server/netTransform/validation.js.map +1 -0
  87. package/out/language-server/netTransformServer.d.ts +5 -6
  88. package/out/language-server/netTransformServer.js +149 -15
  89. package/out/language-server/netTransformServer.js.map +1 -1
  90. package/out/language-server/proxy-server.d.ts +1 -0
  91. package/out/language-server/proxy-server.js +16 -1
  92. package/out/language-server/proxy-server.js.map +1 -1
  93. package/out/language-server/securityScan/securityScanDiagnosticsProvider.js +10 -6
  94. package/out/language-server/securityScan/securityScanDiagnosticsProvider.js.map +1 -1
  95. package/out/language-server/securityScan/securityScanHandler.js +4 -0
  96. package/out/language-server/securityScan/securityScanHandler.js.map +1 -1
  97. package/out/language-server/session/sessionManager.js +35 -15
  98. package/out/language-server/session/sessionManager.js.map +1 -1
  99. package/out/language-server/telemetry/codeDiffTracker.js +69 -80
  100. package/out/language-server/telemetry/codeDiffTracker.js.map +1 -1
  101. package/out/language-server/telemetry/codePercentage.js +3 -0
  102. package/out/language-server/telemetry/codePercentage.js.map +1 -1
  103. package/out/language-server/telemetry/metric.js +8 -21
  104. package/out/language-server/telemetry/metric.js.map +1 -1
  105. package/out/language-server/telemetry/types.d.ts +38 -0
  106. package/out/language-server/telemetry/types.js.map +1 -1
  107. package/out/language-server/utils.d.ts +2 -5
  108. package/out/language-server/utils.js +25 -49
  109. package/out/language-server/utils.js.map +1 -1
  110. package/package.json +5 -2
  111. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/HISTORY.md +0 -395
  112. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/LICENSE +0 -201
  113. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/README.md +0 -530
  114. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/worker.js +0 -288
  115. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/worker.js.map +0 -1
  116. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/worker.min.js +0 -2
  117. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/worker.min.js.map +0 -1
  118. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/workerpool.js +0 -1737
  119. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/workerpool.js.map +0 -1
  120. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/workerpool.min.js +0 -3
  121. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/workerpool.min.js.LICENSE.txt +0 -24
  122. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/dist/workerpool.min.js.map +0 -1
  123. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/package.json +0 -57
  124. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/Pool.js +0 -476
  125. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/Promise.js +0 -293
  126. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/WorkerHandler.js +0 -547
  127. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/debug-port-allocator.js +0 -28
  128. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/environment.js +0 -30
  129. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/generated/embeddedWorker.js +0 -6
  130. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/header.js +0 -24
  131. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/index.js +0 -60
  132. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/requireFoolWebpack.js +0 -8
  133. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/transfer.js +0 -12
  134. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/types.js +0 -46
  135. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/validateOptions.js +0 -51
  136. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/src/worker.js +0 -256
  137. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/Pool.d.ts +0 -130
  138. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/Promise.d.ts +0 -125
  139. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/WorkerHandler.d.ts +0 -89
  140. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/debug-port-allocator.d.ts +0 -8
  141. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/environment.d.ts +0 -4
  142. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/generated/embeddedWorker.d.ts +0 -2
  143. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/index.d.ts +0 -43
  144. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/transfer.d.ts +0 -19
  145. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/types.d.ts +0 -99
  146. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/validateOptions.d.ts +0 -4
  147. package/node_modules/@aws/lsp-fqn/node_modules/workerpool/types/worker.d.ts +0 -8
  148. package/node_modules/@smithy/eventstream-serde-config-resolver/LICENSE +0 -201
  149. package/node_modules/@smithy/eventstream-serde-config-resolver/README.md +0 -10
  150. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-cjs/EventStreamSerdeConfig.js +0 -1
  151. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-cjs/index.js +0 -37
  152. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-es/EventStreamSerdeConfig.js +0 -4
  153. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-es/index.js +0 -1
  154. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-types/EventStreamSerdeConfig.d.ts +0 -24
  155. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-types/index.d.ts +0 -4
  156. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-types/ts3.4/EventStreamSerdeConfig.d.ts +0 -24
  157. package/node_modules/@smithy/eventstream-serde-config-resolver/dist-types/ts3.4/index.d.ts +0 -4
  158. package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +0 -61
  159. package/node_modules/bowser/CHANGELOG.md +0 -218
  160. package/node_modules/bowser/LICENSE +0 -39
  161. package/node_modules/bowser/README.md +0 -179
  162. package/node_modules/bowser/bundled.js +0 -1
  163. package/node_modules/bowser/es5.js +0 -1
  164. package/node_modules/bowser/index.d.ts +0 -250
  165. package/node_modules/bowser/package.json +0 -83
  166. package/node_modules/bowser/src/bowser.js +0 -77
  167. package/node_modules/bowser/src/constants.js +0 -116
  168. package/node_modules/bowser/src/parser-browsers.js +0 -700
  169. package/node_modules/bowser/src/parser-engines.js +0 -120
  170. package/node_modules/bowser/src/parser-os.js +0 -199
  171. package/node_modules/bowser/src/parser-platforms.js +0 -266
  172. package/node_modules/bowser/src/parser.js +0 -496
  173. package/node_modules/bowser/src/utils.js +0 -309
  174. package/node_modules/tslib/CopyrightNotice.txt +0 -15
  175. package/node_modules/tslib/LICENSE.txt +0 -12
  176. package/node_modules/tslib/README.md +0 -164
  177. package/node_modules/tslib/SECURITY.md +0 -41
  178. package/node_modules/tslib/modules/index.d.ts +0 -37
  179. package/node_modules/tslib/modules/index.js +0 -68
  180. package/node_modules/tslib/modules/package.json +0 -3
  181. package/node_modules/tslib/package.json +0 -47
  182. package/node_modules/tslib/tslib.d.ts +0 -453
  183. package/node_modules/tslib/tslib.es6.html +0 -1
  184. package/node_modules/tslib/tslib.es6.js +0 -374
  185. package/node_modules/tslib/tslib.es6.mjs +0 -373
  186. package/node_modules/tslib/tslib.html +0 -1
  187. package/node_modules/tslib/tslib.js +0 -424
  188. package/node_modules/uuid/CHANGELOG.md +0 -274
  189. package/node_modules/uuid/CONTRIBUTING.md +0 -18
  190. package/node_modules/uuid/LICENSE.md +0 -9
  191. package/node_modules/uuid/README.md +0 -466
  192. package/node_modules/uuid/dist/bin/uuid +0 -2
  193. package/node_modules/uuid/dist/commonjs-browser/index.js +0 -79
  194. package/node_modules/uuid/dist/commonjs-browser/md5.js +0 -223
  195. package/node_modules/uuid/dist/commonjs-browser/native.js +0 -11
  196. package/node_modules/uuid/dist/commonjs-browser/nil.js +0 -8
  197. package/node_modules/uuid/dist/commonjs-browser/parse.js +0 -45
  198. package/node_modules/uuid/dist/commonjs-browser/regex.js +0 -8
  199. package/node_modules/uuid/dist/commonjs-browser/rng.js +0 -25
  200. package/node_modules/uuid/dist/commonjs-browser/sha1.js +0 -104
  201. package/node_modules/uuid/dist/commonjs-browser/stringify.js +0 -44
  202. package/node_modules/uuid/dist/commonjs-browser/v1.js +0 -107
  203. package/node_modules/uuid/dist/commonjs-browser/v3.js +0 -16
  204. package/node_modules/uuid/dist/commonjs-browser/v35.js +0 -80
  205. package/node_modules/uuid/dist/commonjs-browser/v4.js +0 -43
  206. package/node_modules/uuid/dist/commonjs-browser/v5.js +0 -16
  207. package/node_modules/uuid/dist/commonjs-browser/validate.js +0 -17
  208. package/node_modules/uuid/dist/commonjs-browser/version.js +0 -21
  209. package/node_modules/uuid/dist/esm-browser/index.js +0 -9
  210. package/node_modules/uuid/dist/esm-browser/md5.js +0 -215
  211. package/node_modules/uuid/dist/esm-browser/native.js +0 -4
  212. package/node_modules/uuid/dist/esm-browser/nil.js +0 -1
  213. package/node_modules/uuid/dist/esm-browser/parse.js +0 -35
  214. package/node_modules/uuid/dist/esm-browser/regex.js +0 -1
  215. package/node_modules/uuid/dist/esm-browser/rng.js +0 -18
  216. package/node_modules/uuid/dist/esm-browser/sha1.js +0 -96
  217. package/node_modules/uuid/dist/esm-browser/stringify.js +0 -33
  218. package/node_modules/uuid/dist/esm-browser/v1.js +0 -95
  219. package/node_modules/uuid/dist/esm-browser/v3.js +0 -4
  220. package/node_modules/uuid/dist/esm-browser/v35.js +0 -66
  221. package/node_modules/uuid/dist/esm-browser/v4.js +0 -29
  222. package/node_modules/uuid/dist/esm-browser/v5.js +0 -4
  223. package/node_modules/uuid/dist/esm-browser/validate.js +0 -7
  224. package/node_modules/uuid/dist/esm-browser/version.js +0 -11
  225. package/node_modules/uuid/dist/esm-node/index.js +0 -9
  226. package/node_modules/uuid/dist/esm-node/md5.js +0 -13
  227. package/node_modules/uuid/dist/esm-node/native.js +0 -4
  228. package/node_modules/uuid/dist/esm-node/nil.js +0 -1
  229. package/node_modules/uuid/dist/esm-node/parse.js +0 -35
  230. package/node_modules/uuid/dist/esm-node/regex.js +0 -1
  231. package/node_modules/uuid/dist/esm-node/rng.js +0 -12
  232. package/node_modules/uuid/dist/esm-node/sha1.js +0 -13
  233. package/node_modules/uuid/dist/esm-node/stringify.js +0 -33
  234. package/node_modules/uuid/dist/esm-node/v1.js +0 -95
  235. package/node_modules/uuid/dist/esm-node/v3.js +0 -4
  236. package/node_modules/uuid/dist/esm-node/v35.js +0 -66
  237. package/node_modules/uuid/dist/esm-node/v4.js +0 -29
  238. package/node_modules/uuid/dist/esm-node/v5.js +0 -4
  239. package/node_modules/uuid/dist/esm-node/validate.js +0 -7
  240. package/node_modules/uuid/dist/esm-node/version.js +0 -11
  241. package/node_modules/uuid/dist/index.js +0 -79
  242. package/node_modules/uuid/dist/md5-browser.js +0 -223
  243. package/node_modules/uuid/dist/md5.js +0 -23
  244. package/node_modules/uuid/dist/native-browser.js +0 -11
  245. package/node_modules/uuid/dist/native.js +0 -15
  246. package/node_modules/uuid/dist/nil.js +0 -8
  247. package/node_modules/uuid/dist/parse.js +0 -45
  248. package/node_modules/uuid/dist/regex.js +0 -8
  249. package/node_modules/uuid/dist/rng-browser.js +0 -25
  250. package/node_modules/uuid/dist/rng.js +0 -24
  251. package/node_modules/uuid/dist/sha1-browser.js +0 -104
  252. package/node_modules/uuid/dist/sha1.js +0 -23
  253. package/node_modules/uuid/dist/stringify.js +0 -44
  254. package/node_modules/uuid/dist/uuid-bin.js +0 -85
  255. package/node_modules/uuid/dist/v1.js +0 -107
  256. package/node_modules/uuid/dist/v3.js +0 -16
  257. package/node_modules/uuid/dist/v35.js +0 -80
  258. package/node_modules/uuid/dist/v4.js +0 -43
  259. package/node_modules/uuid/dist/v5.js +0 -16
  260. package/node_modules/uuid/dist/validate.js +0 -17
  261. package/node_modules/uuid/dist/version.js +0 -21
  262. package/node_modules/uuid/package.json +0 -135
  263. package/node_modules/uuid/wrapper.mjs +0 -10
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransformHandler = void 0;
4
+ const codewhisperer_streaming_1 = require("@amzn/codewhisperer-streaming");
5
+ const fs = require("fs");
6
+ const got_1 = require("got");
7
+ const uuid_1 = require("uuid");
8
+ const artifactManager_1 = require("./artifactManager");
9
+ const converter_1 = require("./converter");
10
+ const models_1 = require("./models");
11
+ const validation = require("./validation");
12
+ const path = require("path");
13
+ const AdmZip = require("adm-zip");
14
+ const workspaceFolderName = 'artifactWorkspace';
15
+ class TransformHandler {
16
+ client;
17
+ workspace;
18
+ logging;
19
+ constructor(client, workspace, logging) {
20
+ this.client = client;
21
+ this.workspace = workspace;
22
+ this.logging = logging;
23
+ }
24
+ async startTransformation(userInputrequest) {
25
+ var unsupportedProjects = [];
26
+ const isProject = validation.isProject(userInputrequest);
27
+ const containsUnsupportedViews = await validation.checkForUnsupportedViews(userInputrequest, isProject);
28
+ /*
29
+ if (isProject) {
30
+ let isValid = validation.validateProject(userInputrequest)
31
+ if (!isValid) {
32
+ return {
33
+ Error: 'NotSupported',
34
+ IsSupported: false,
35
+ ContainsUnsupportedViews: containsUnsupportedViews,
36
+ } as StartTransformResponse
37
+ }
38
+ } else {
39
+ unsupportedProjects = validation.validateSolution(userInputrequest)
40
+ }
41
+ */
42
+ const artifactManager = new artifactManager_1.ArtifactManager(this.workspace, this.logging, this.getWorkspacePath(userInputrequest.SolutionRootPath));
43
+ try {
44
+ const payloadFilePath = await this.zipCodeAsync(userInputrequest, artifactManager);
45
+ this.logging.log('payload path: ' + payloadFilePath);
46
+ const uploadId = await this.preTransformationUploadCode(payloadFilePath);
47
+ const request = (0, converter_1.getCWStartTransformRequest)(userInputrequest, uploadId);
48
+ this.logging.log('send request to start transform api: ' + JSON.stringify(request));
49
+ const response = await this.client.codeModernizerStartCodeTransformation(request);
50
+ this.logging.log('response start transform api: ' + JSON.stringify(response));
51
+ return (0, converter_1.getCWStartTransformResponse)(response, uploadId, payloadFilePath, unsupportedProjects, containsUnsupportedViews);
52
+ }
53
+ catch (error) {
54
+ const errorMessage = error.message ?? 'Error in StartTransformation API call';
55
+ this.logging.log(errorMessage);
56
+ throw new Error(errorMessage);
57
+ }
58
+ finally {
59
+ artifactManager.cleanup();
60
+ }
61
+ }
62
+ async preTransformationUploadCode(payloadFilePath) {
63
+ try {
64
+ const uploadId = await this.uploadPayloadAsync(payloadFilePath);
65
+ this.logging.log('artifact successfully uploaded. upload tracking id: ' + uploadId);
66
+ return uploadId;
67
+ }
68
+ catch (error) {
69
+ const errorMessage = error.message ?? 'Failed to upload zip file';
70
+ throw new Error(errorMessage);
71
+ }
72
+ }
73
+ async uploadPayloadAsync(payloadFileName) {
74
+ const sha256 = artifactManager_1.ArtifactManager.getSha256(payloadFileName);
75
+ let response;
76
+ try {
77
+ response = await this.client.codeModernizerCreateUploadUrl({
78
+ contentChecksum: sha256,
79
+ contentChecksumType: 'SHA_256',
80
+ uploadIntent: 'TRANSFORMATION',
81
+ });
82
+ }
83
+ catch (e) {
84
+ const errorMessage = e.message ?? 'Error in CreateUploadUrl API call';
85
+ this.logging.log('Error when creating Upload url: ' + errorMessage);
86
+ throw new Error(errorMessage);
87
+ }
88
+ try {
89
+ await this.uploadArtifactToS3Async(payloadFileName, response, sha256);
90
+ }
91
+ catch (e) {
92
+ const errorMessage = e.message ?? 'Error in uploadArtifactToS3 call';
93
+ this.logging.log('Error when calling uploadArtifactToS3Async: ' + errorMessage);
94
+ throw new Error(errorMessage);
95
+ }
96
+ return response.uploadId;
97
+ }
98
+ async zipCodeAsync(request, artifactManager) {
99
+ try {
100
+ return await artifactManager.createZip(request);
101
+ }
102
+ catch (e) {
103
+ this.logging.log('cause:' + e);
104
+ }
105
+ return '';
106
+ }
107
+ async uploadArtifactToS3Async(fileName, resp, sha256) {
108
+ const headersObj = this.getHeadersObj(sha256, resp.kmsKeyArn);
109
+ try {
110
+ const response = await got_1.default.put(resp.uploadUrl, {
111
+ body: fs.readFileSync(fileName),
112
+ headers: headersObj,
113
+ });
114
+ this.logging.log(`CodeTransform: Response from S3 Upload = ${response.statusCode}`);
115
+ }
116
+ catch (e) {
117
+ const errorMessage = e.message ?? 'Error in S3 UploadZip API call';
118
+ this.logging.log(errorMessage);
119
+ }
120
+ }
121
+ getHeadersObj(sha256, kmsKeyArn) {
122
+ let headersObj = {};
123
+ if (kmsKeyArn === undefined || kmsKeyArn.length === 0) {
124
+ headersObj = {
125
+ 'x-amz-checksum-sha256': sha256,
126
+ 'Content-Type': 'application/zip',
127
+ };
128
+ }
129
+ else {
130
+ headersObj = {
131
+ 'x-amz-checksum-sha256': sha256,
132
+ 'Content-Type': 'application/zip',
133
+ 'x-amz-server-side-encryption': 'aws:kms',
134
+ 'x-amz-server-side-encryption-aws-kms-key-id': kmsKeyArn,
135
+ };
136
+ }
137
+ return headersObj;
138
+ }
139
+ async getTransformation(request) {
140
+ try {
141
+ const getCodeTransformationRequest = {
142
+ transformationJobId: request.TransformationJobId,
143
+ };
144
+ this.logging.log('send request to get transform api: ' + JSON.stringify(getCodeTransformationRequest));
145
+ const response = await this.client.codeModernizerGetCodeTransformation(getCodeTransformationRequest);
146
+ this.logging.log('response received from get transform api: ' + JSON.stringify(response));
147
+ return {
148
+ TransformationJob: response.transformationJob,
149
+ };
150
+ }
151
+ catch (e) {
152
+ const errorMessage = e.message ?? 'Error in GetTransformation API call';
153
+ this.logging.log('Error: ' + errorMessage);
154
+ return {
155
+ TransformationJob: { status: 'FAILED' },
156
+ };
157
+ }
158
+ }
159
+ async getTransformationPlan(request) {
160
+ const getCodeTransformationPlanRequest = {
161
+ transformationJobId: request.TransformationJobId,
162
+ };
163
+ this.logging.log('send request to get transform plan api: ' + JSON.stringify(getCodeTransformationPlanRequest));
164
+ const response = await this.client.codeModernizerGetCodeTransformationPlan(getCodeTransformationPlanRequest);
165
+ this.logging.log('received response from get transform plan api: ' + JSON.stringify(response));
166
+ return {
167
+ TransformationPlan: response.transformationPlan,
168
+ };
169
+ }
170
+ async cancelTransformation(request) {
171
+ try {
172
+ const stopCodeTransformationRequest = {
173
+ transformationJobId: request.TransformationJobId,
174
+ };
175
+ this.logging.log('send request to cancel transform plan api: ' + JSON.stringify(stopCodeTransformationRequest));
176
+ const response = await this.client.codeModernizerStopCodeTransformation(stopCodeTransformationRequest);
177
+ this.logging.log('received response from cancel transform plan api: ' + JSON.stringify(response));
178
+ let status;
179
+ switch (response.transformationStatus) {
180
+ case 'STOPPED':
181
+ status = models_1.CancellationJobStatus.SUCCESSFULLY_CANCELLED;
182
+ break;
183
+ default:
184
+ status = models_1.CancellationJobStatus.FAILED_TO_CANCEL;
185
+ break;
186
+ }
187
+ return {
188
+ TransformationJobStatus: status,
189
+ };
190
+ }
191
+ catch (e) {
192
+ const errorMessage = e.message ?? 'Error in CancelTransformation API call';
193
+ this.logging.log('Error: ' + errorMessage);
194
+ return {
195
+ TransformationJobStatus: models_1.CancellationJobStatus.FAILED_TO_CANCEL,
196
+ };
197
+ }
198
+ }
199
+ async sleep(duration = 0) {
200
+ return new Promise(r => setTimeout(r, Math.max(duration, 0)));
201
+ }
202
+ async pollTransformation(request, validExitStatus, failureStates) {
203
+ let timer = 0;
204
+ const getCodeTransformationRequest = {
205
+ transformationJobId: request.TransformationJobId,
206
+ };
207
+ this.logging.log('poll : send request to get transform api: ' + JSON.stringify(getCodeTransformationRequest));
208
+ let response = await this.client.codeModernizerGetCodeTransformation(getCodeTransformationRequest);
209
+ this.logging.log('poll : received response from get transform api: ' + JSON.stringify(response));
210
+ let status = response?.transformationJob?.status ?? 'NOT_FOUND';
211
+ this.logging.log('validExitStatus here are : ' + validExitStatus);
212
+ this.logging.log('failureStatus here are : ' + failureStates);
213
+ while (status != 'Timed_out' && !failureStates.includes(status)) {
214
+ try {
215
+ const apiStartTime = Date.now();
216
+ const getCodeTransformationRequest = {
217
+ transformationJobId: request.TransformationJobId,
218
+ };
219
+ this.logging.log('poll : send request to get transform api: ' + JSON.stringify(getCodeTransformationRequest));
220
+ response = await this.client.codeModernizerGetCodeTransformation(getCodeTransformationRequest);
221
+ this.logging.log('poll : received response from get transform api: ' + JSON.stringify(response));
222
+ this.logging.log('poll : job status here : ' + response.transformationJob.status);
223
+ if (response.transformationJob?.status) {
224
+ this.logging.log('status is included in validExitSTatus for poll ' +
225
+ validExitStatus.includes(response.transformationJob.status));
226
+ }
227
+ if (validExitStatus.includes(status)) {
228
+ this.logging.log('returning status as : ' + status);
229
+ break;
230
+ }
231
+ status = response.transformationJob.status;
232
+ await this.sleep(10 * 1000);
233
+ timer += 10;
234
+ this.logging.log('current polling timer ' + timer);
235
+ if (timer > 24 * 3600 * 1000) {
236
+ status = 'Timed_out';
237
+ break;
238
+ }
239
+ }
240
+ catch (e) {
241
+ const errorMessage = e.message ?? 'Error in GetTransformation API call';
242
+ this.logging.log('CodeTransformation: GetTransformation error = ' + errorMessage);
243
+ status = 'FAILED';
244
+ break;
245
+ }
246
+ }
247
+ this.logging.log('poll : returning response from server : ' + JSON.stringify(response));
248
+ return {
249
+ TransformationJob: response.transformationJob,
250
+ };
251
+ }
252
+ async downloadExportResultArchive(cwStreamingClient, exportId, saveToDir) {
253
+ let result;
254
+ try {
255
+ result = await cwStreamingClient.exportResultArchive({
256
+ exportId,
257
+ exportIntent: codewhisperer_streaming_1.ExportIntent.TRANSFORMATION,
258
+ });
259
+ const buffer = [];
260
+ this.logging.log('artifact downloaded successfully.');
261
+ if (result.body === undefined) {
262
+ throw new Error('Empty response from CodeWhisperer Streaming service.');
263
+ }
264
+ for await (const chunk of result.body) {
265
+ if (chunk.binaryPayloadEvent) {
266
+ const chunkData = chunk.binaryPayloadEvent;
267
+ if (chunkData.bytes) {
268
+ buffer.push(chunkData.bytes);
269
+ }
270
+ }
271
+ }
272
+ const pathContainingArchive = await this.archivePathGenerator(exportId, buffer, saveToDir);
273
+ this.logging.log('pathContainingArchive :' + pathContainingArchive);
274
+ return {
275
+ PathTosave: pathContainingArchive,
276
+ };
277
+ }
278
+ catch (error) {
279
+ const errorMessage = error.message ?? 'Failed to download the artifacts';
280
+ return {
281
+ Error: errorMessage,
282
+ };
283
+ }
284
+ }
285
+ async archivePathGenerator(exportId, buffer, saveToDir) {
286
+ const tempDir = path.join(saveToDir, exportId);
287
+ const pathToArchive = path.join(tempDir, 'ExportResultsArchive.zip');
288
+ await this.directoryExists(tempDir);
289
+ await fs.writeFileSync(pathToArchive, Buffer.concat(buffer));
290
+ let pathContainingArchive = '';
291
+ pathContainingArchive = path.dirname(pathToArchive);
292
+ const zip = new AdmZip(pathToArchive);
293
+ zip.extractAllTo(pathContainingArchive);
294
+ return pathContainingArchive;
295
+ }
296
+ async directoryExists(directoryPath) {
297
+ try {
298
+ await fs.accessSync(directoryPath);
299
+ }
300
+ catch (error) {
301
+ // Directory doesn't exist, create it
302
+ await fs.mkdirSync(directoryPath, { recursive: true });
303
+ }
304
+ }
305
+ getWorkspacePath(solutionRootPath) {
306
+ const randomPath = (0, uuid_1.v4)().substring(0, 8);
307
+ const workspacePath = path.join(solutionRootPath, workspaceFolderName, randomPath);
308
+ if (!fs.existsSync(workspacePath)) {
309
+ fs.mkdirSync(workspacePath, { recursive: true });
310
+ }
311
+ return workspacePath;
312
+ }
313
+ }
314
+ exports.TransformHandler = TransformHandler;
315
+ //# sourceMappingURL=transformHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformHandler.js","sourceRoot":"","sources":["../../../src/language-server/netTransform/transformHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { StartTransformRequest } from './models';
2
+ export declare function isProject(userInputrequest: StartTransformRequest): boolean;
3
+ export declare function isSolution(userInputrequest: StartTransformRequest): boolean;
4
+ export declare function validateProject(userInputrequest: StartTransformRequest): boolean;
5
+ export declare function validateSolution(userInputrequest: StartTransformRequest): string[];
6
+ export declare function checkForUnsupportedViews(userInputRequest: StartTransformRequest, isProject: boolean): Promise<boolean>;
7
+ export declare function findFilesWithExtension(userInputRequest: StartTransformRequest, isProject: boolean, ext?: string): string[];
8
+ export declare function readFile(filePath: string): Promise<string>;
9
+ export declare function parseAndCheckUnsupportedComponents(htmlString: string): boolean;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAndCheckUnsupportedComponents = exports.readFile = exports.findFilesWithExtension = exports.checkForUnsupportedViews = exports.validateSolution = exports.validateProject = exports.isSolution = exports.isProject = void 0;
4
+ const fs = require("fs");
5
+ const SupportedProjects_1 = require("./resources/SupportedProjects");
6
+ function isProject(userInputrequest) {
7
+ return userInputrequest.SelectedProjectPath.endsWith('.csproj');
8
+ }
9
+ exports.isProject = isProject;
10
+ function isSolution(userInputrequest) {
11
+ return userInputrequest.SelectedProjectPath.endsWith('.sln');
12
+ }
13
+ exports.isSolution = isSolution;
14
+ function validateProject(userInputrequest) {
15
+ var selectedProject = userInputrequest.ProjectMetadata.find(project => project.ProjectPath == userInputrequest.SelectedProjectPath);
16
+ if (selectedProject)
17
+ return SupportedProjects_1.supportedProjects.includes(selectedProject.ProjectType);
18
+ return false;
19
+ }
20
+ exports.validateProject = validateProject;
21
+ function validateSolution(userInputrequest) {
22
+ return userInputrequest.ProjectMetadata.filter(project => !SupportedProjects_1.supportedProjects.includes(project.ProjectType)).map(project => project.ProjectPath);
23
+ }
24
+ exports.validateSolution = validateSolution;
25
+ async function checkForUnsupportedViews(userInputRequest, isProject) {
26
+ var containsUnsupportedComponents = false;
27
+ var cshtmlFiles = findFilesWithExtension(userInputRequest, isProject);
28
+ for (const file of cshtmlFiles) {
29
+ let htmlString = await readFile(file);
30
+ containsUnsupportedComponents = parseAndCheckUnsupportedComponents(htmlString);
31
+ if (containsUnsupportedComponents)
32
+ return containsUnsupportedComponents;
33
+ }
34
+ return containsUnsupportedComponents;
35
+ }
36
+ exports.checkForUnsupportedViews = checkForUnsupportedViews;
37
+ function findFilesWithExtension(userInputRequest, isProject, ext = '.cshtml') {
38
+ var cshtmlFiles = [];
39
+ var projectMetaData;
40
+ if (isProject) {
41
+ let projectPath = userInputRequest.SelectedProjectPath;
42
+ projectMetaData = userInputRequest.ProjectMetadata.filter(projectMd => projectMd.ProjectPath == projectPath);
43
+ }
44
+ else {
45
+ projectMetaData = userInputRequest.ProjectMetadata;
46
+ }
47
+ projectMetaData.forEach(projectMd => {
48
+ projectMd.SourceCodeFilePaths.forEach(sourceCode => {
49
+ if (sourceCode.endsWith('.cshtml')) {
50
+ cshtmlFiles.push(sourceCode);
51
+ }
52
+ });
53
+ });
54
+ return cshtmlFiles;
55
+ }
56
+ exports.findFilesWithExtension = findFilesWithExtension;
57
+ async function readFile(filePath) {
58
+ try {
59
+ let fileContents = await fs.promises.readFile(filePath, 'utf-8');
60
+ return fileContents;
61
+ }
62
+ catch (err) {
63
+ console.error(`Error reading/parsing file ${filePath}: ${err}`);
64
+ return '';
65
+ }
66
+ }
67
+ exports.readFile = readFile;
68
+ function parseAndCheckUnsupportedComponents(htmlString) {
69
+ var containsUnsupportedComponents = false;
70
+ SupportedProjects_1.unsupportedViewComponents.forEach(component => {
71
+ if (htmlString.includes(component)) {
72
+ containsUnsupportedComponents = true;
73
+ return containsUnsupportedComponents;
74
+ }
75
+ });
76
+ return containsUnsupportedComponents;
77
+ }
78
+ exports.parseAndCheckUnsupportedComponents = parseAndCheckUnsupportedComponents;
79
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/language-server/netTransform/validation.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import { Server, CredentialsProvider } from '@aws/language-server-runtimes/server-interface';
1
+ import { CredentialsProvider, Server } from '@aws/language-server-runtimes/server-interface';
2
2
  import { CodeWhispererServiceToken } from './codeWhispererService';
3
+ export declare const validStatesForGettingPlan: string[];
4
+ export declare const validStatesForComplete: string[];
5
+ export declare const failureStates: string[];
3
6
  /**
4
7
  *
5
8
  * @param createService Inject service instance based on credentials provider.
6
9
  * @returns NetTransform server
7
10
  */
8
- export declare const NetTransformServerFactory: (createService: (credentialsProvider: CredentialsProvider) => CodeWhispererServiceToken) => Server;
9
- /**
10
- * Default NetTransformServer using Token authentication.
11
- */
12
- export declare const NetTransformServer: Server;
11
+ export declare const QNetTransformServerToken: (service: (credentialsProvider: CredentialsProvider) => CodeWhispererServiceToken) => Server;
@@ -1,27 +1,161 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NetTransformServer = exports.NetTransformServerFactory = void 0;
4
- const codeWhispererService_1 = require("./codeWhispererService");
3
+ exports.QNetTransformServerToken = exports.failureStates = exports.validStatesForComplete = exports.validStatesForGettingPlan = void 0;
4
+ const codewhispererStreamingClient_1 = require("../client/streamingClient/codewhispererStreamingClient");
5
+ const metrics_1 = require("./netTransform/metrics");
6
+ const transformHandler_1 = require("./netTransform/transformHandler");
7
+ exports.validStatesForGettingPlan = ['COMPLETED', 'PARTIALLY_COMPLETED', 'PLANNED', 'TRANSFORMING', 'TRANSFORMED'];
8
+ exports.validStatesForComplete = ['COMPLETED'];
9
+ exports.failureStates = ['FAILED', 'STOPPING', 'STOPPED', 'REJECTED'];
10
+ const StartTransformCommand = 'aws/qNetTransform/startTransform';
11
+ const GetTransformCommand = 'aws/qNetTransform/getTransform';
12
+ const PollTransformCommand = 'aws/qNetTransform/pollTransform';
13
+ const PollTransformForPlanCommand = 'aws/qNetTransform/pollTransformForPlan';
14
+ const GetTransformPlanCommand = 'aws/qNetTransform/getTransformPlan';
15
+ const CancelTransformCommand = 'aws/qNetTransform/cancelTransform';
16
+ const DownloadArtifactsCommand = 'aws/qNetTransform/downloadArtifacts';
5
17
  /**
6
18
  *
7
19
  * @param createService Inject service instance based on credentials provider.
8
20
  * @returns NetTransform server
9
21
  */
10
- const NetTransformServerFactory = createService => ({ credentialsProvider, lsp, workspace, telemetry, logging }) => {
11
- const service = createService(credentialsProvider);
22
+ const QNetTransformServerToken = (service) => ({ credentialsProvider, workspace, logging, lsp, telemetry }) => {
23
+ const codewhispererclient = service(credentialsProvider);
24
+ const transformHandler = new transformHandler_1.TransformHandler(codewhispererclient, workspace, logging);
25
+ const runTransformCommand = async (params, _token) => {
26
+ try {
27
+ switch (params.command) {
28
+ case StartTransformCommand: {
29
+ const request = params;
30
+ logging.log('Calling startTransformRequest: ' + request.SolutionRootPath);
31
+ const response = await transformHandler.startTransformation(request);
32
+ (0, metrics_1.emitTransformationJobStartedTelemetry)(telemetry, response);
33
+ return response;
34
+ }
35
+ case GetTransformCommand: {
36
+ const request = params;
37
+ logging.log('Calling getTransform request with job Id: ' + request.TransformationJobId);
38
+ const response = await transformHandler.getTransformation(request);
39
+ (0, metrics_1.emitTransformationJobReceivedTelemetry)(telemetry, response);
40
+ return response;
41
+ }
42
+ case PollTransformCommand: {
43
+ const request = params;
44
+ logging.log('Calling pollTransform request with job Id: ' + request.TransformationJobId);
45
+ const response = await transformHandler.pollTransformation(request, exports.validStatesForComplete, exports.failureStates);
46
+ logging.log('Transformation job for job Id' +
47
+ request.TransformationJobId +
48
+ ' is ' +
49
+ JSON.stringify(response));
50
+ (0, metrics_1.emitTransformationJobPolledTelemetry)(telemetry, response);
51
+ return response;
52
+ }
53
+ case PollTransformForPlanCommand: {
54
+ const request = params;
55
+ logging.log('Calling pollTransformForPlan request with job Id: ' + request.TransformationJobId);
56
+ const response = await transformHandler.pollTransformation(request, exports.validStatesForGettingPlan, exports.failureStates);
57
+ logging.log('Transformation job for job Id' +
58
+ request.TransformationJobId +
59
+ ' is ' +
60
+ JSON.stringify(response));
61
+ (0, metrics_1.emitTransformationJobPolledForPlanTelemetry)(telemetry, response);
62
+ return response;
63
+ }
64
+ case GetTransformPlanCommand: {
65
+ const request = params;
66
+ logging.log('Calling getTransformPlan request with job Id: ' + request.TransformationJobId);
67
+ const response = await transformHandler.getTransformationPlan(request);
68
+ logging.log('Transformation plan for job Id' +
69
+ request.TransformationJobId +
70
+ ' is ' +
71
+ JSON.stringify(response));
72
+ (0, metrics_1.emitTransformationPlanReceivedTelemetry)(telemetry, response, request.TransformationJobId);
73
+ return response;
74
+ }
75
+ case CancelTransformCommand: {
76
+ const request = params;
77
+ logging.log('request job ID: ' + request.TransformationJobId);
78
+ const response = await transformHandler.cancelTransformation(request);
79
+ (0, metrics_1.emitTransformationJobCancelledTelemetry)(telemetry, response, request.TransformationJobId);
80
+ return response;
81
+ }
82
+ case DownloadArtifactsCommand: {
83
+ const request = params;
84
+ const cwStreamingClientInstance = new codewhispererStreamingClient_1.StreamingClient();
85
+ const cwStreamingClient = await cwStreamingClientInstance.getStreamingClient(credentialsProvider);
86
+ logging.log('Calling Download Archive with job Id: ' + request.TransformationJobId);
87
+ const response = await transformHandler.downloadExportResultArchive(cwStreamingClient, request.TransformationJobId, request.SolutionRootPath);
88
+ (0, metrics_1.emitTransformationJobArtifactsDownloadedTelemetry)(telemetry, response, request.TransformationJobId);
89
+ return response;
90
+ }
91
+ }
92
+ return;
93
+ }
94
+ catch (e) {
95
+ logging.log('Server side error while executing transformer Command ' + e);
96
+ switch (params.command) {
97
+ case StartTransformCommand: {
98
+ const request = params;
99
+ (0, metrics_1.emitTransformationJobStartedFailure)(telemetry, request, e);
100
+ break;
101
+ }
102
+ case GetTransformCommand: {
103
+ const request = params;
104
+ (0, metrics_1.emitTransformationJobReceivedFailure)(telemetry, request, e);
105
+ break;
106
+ }
107
+ case PollTransformCommand: {
108
+ const request = params;
109
+ (0, metrics_1.emitTransformationJobPolledFailure)(telemetry, request, e);
110
+ break;
111
+ }
112
+ case PollTransformForPlanCommand: {
113
+ const request = params;
114
+ (0, metrics_1.emitTransformationJobPolledForPlanFailure)(telemetry, request, e);
115
+ break;
116
+ }
117
+ case GetTransformPlanCommand: {
118
+ const request = params;
119
+ (0, metrics_1.emitTransformationPlanReceivedFailure)(telemetry, request, e);
120
+ break;
121
+ }
122
+ case CancelTransformCommand: {
123
+ const request = params;
124
+ (0, metrics_1.emitTransformationJobCancelledFailure)(telemetry, request, e);
125
+ break;
126
+ }
127
+ case DownloadArtifactsCommand: {
128
+ const request = params;
129
+ (0, metrics_1.emitTransformationJobArtifactsDownloadedFailure)(telemetry, request, e);
130
+ break;
131
+ }
132
+ }
133
+ }
134
+ };
12
135
  const onExecuteCommandHandler = async (params, _token) => {
13
- //Placeholder for logic
136
+ logging.log(params.command);
137
+ return runTransformCommand(params, _token);
14
138
  };
15
- // Do the thing
16
- lsp.onExecuteCommand(onExecuteCommandHandler);
17
- // Disposable
18
- return () => {
19
- // Do nothing
139
+ const onInitializeHandler = () => {
140
+ return {
141
+ capabilities: {
142
+ executeCommandProvider: {
143
+ commands: [
144
+ StartTransformCommand,
145
+ GetTransformCommand,
146
+ PollTransformCommand,
147
+ PollTransformForPlanCommand,
148
+ GetTransformPlanCommand,
149
+ CancelTransformCommand,
150
+ DownloadArtifactsCommand,
151
+ ],
152
+ },
153
+ },
154
+ };
20
155
  };
156
+ lsp.addInitializer(onInitializeHandler);
157
+ lsp.onExecuteCommand(onExecuteCommandHandler);
158
+ return () => { };
21
159
  };
22
- exports.NetTransformServerFactory = NetTransformServerFactory;
23
- /**
24
- * Default NetTransformServer using Token authentication.
25
- */
26
- exports.NetTransformServer = (0, exports.NetTransformServerFactory)(credentialsProvider => new codeWhispererService_1.CodeWhispererServiceToken(credentialsProvider, {}));
160
+ exports.QNetTransformServerToken = QNetTransformServerToken;
27
161
  //# sourceMappingURL=netTransformServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"netTransformServer.js","sourceRoot":"","sources":["../../src/language-server/netTransformServer.ts"],"names":[],"mappings":";;;AAMA,iEAAkE;AAElE;;;;GAIG;AACI,MAAM,yBAAyB,GAGlC,aAAa,CAAC,EAAE,CAChB,CAAC,EAAE,mBAAmB,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAClD,MAAM,uBAAuB,GAAG,KAAK,EACjC,MAA4B,EAC5B,MAAyB,EACb,EAAE;QACd,uBAAuB;IAC3B,CAAC,CAAA;IAED,eAAe;IACf,GAAG,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAA;IAE7C,aAAa;IACb,OAAO,GAAG,EAAE;QACR,aAAa;IACjB,CAAC,CAAA;AACL,CAAC,CAAA;AApBQ,QAAA,yBAAyB,6BAoBjC;AAEL;;GAEG;AACU,QAAA,kBAAkB,GAAG,IAAA,iCAAyB,EACvD,mBAAmB,CAAC,EAAE,CAAC,IAAI,gDAAyB,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAChF,CAAA"}
1
+ {"version":3,"file":"netTransformServer.js","sourceRoot":"","sources":["../../src/language-server/netTransformServer.ts"],"names":[],"mappings":";;;AAMA,yGAAwF;AAExF,oDAe+B;AAQ/B,sEAAkE;AAErD,QAAA,yBAAyB,GAAG,CAAC,WAAW,EAAE,qBAAqB,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;AAC1G,QAAA,sBAAsB,GAAG,CAAC,WAAW,CAAC,CAAA;AACtC,QAAA,aAAa,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;AAC1E,MAAM,qBAAqB,GAAG,kCAAkC,CAAA;AAChE,MAAM,mBAAmB,GAAG,gCAAgC,CAAA;AAC5D,MAAM,oBAAoB,GAAG,iCAAiC,CAAA;AAC9D,MAAM,2BAA2B,GAAG,wCAAwC,CAAA;AAC5E,MAAM,uBAAuB,GAAG,oCAAoC,CAAA;AACpE,MAAM,sBAAsB,GAAG,mCAAmC,CAAA;AAClE,MAAM,wBAAwB,GAAG,qCAAqC,CAAA;AACtE;;;;GAIG;AACI,MAAM,wBAAwB,GACjC,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,gBAAgB,GAAG,IAAI,mCAAgB,CAAC,mBAAmB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;IACtF,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAA4B,EAAE,MAAyB,EAAE,EAAE;QAC1F,IAAI;YACA,QAAQ,MAAM,CAAC,OAAO,EAAE;gBACpB,KAAK,qBAAqB,CAAC,CAAC;oBACxB,MAAM,OAAO,GAAG,MAA+B,CAAA;oBAC/C,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;oBACzE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;oBACpE,IAAA,+CAAqC,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;oBAC1D,OAAO,QAAQ,CAAA;iBAClB;gBACD,KAAK,mBAAmB,CAAC,CAAC;oBACtB,MAAM,OAAO,GAAG,MAA6B,CAAA;oBAC7C,OAAO,CAAC,GAAG,CAAC,4CAA4C,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBACvF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;oBAClE,IAAA,gDAAsC,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;oBAC3D,OAAO,QAAQ,CAAA;iBAClB;gBACD,KAAK,oBAAoB,CAAC,CAAC;oBACvB,MAAM,OAAO,GAAG,MAA6B,CAAA;oBAC7C,OAAO,CAAC,GAAG,CAAC,6CAA6C,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBACxF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACtD,OAAO,EACP,8BAAsB,EACtB,qBAAa,CAChB,CAAA;oBACD,OAAO,CAAC,GAAG,CACP,+BAA+B;wBAC3B,OAAO,CAAC,mBAAmB;wBAC3B,MAAM;wBACN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC/B,CAAA;oBACD,IAAA,8CAAoC,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;oBACzD,OAAO,QAAQ,CAAA;iBAClB;gBACD,KAAK,2BAA2B,CAAC,CAAC;oBAC9B,MAAM,OAAO,GAAG,MAA6B,CAAA;oBAC7C,OAAO,CAAC,GAAG,CAAC,oDAAoD,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBAC/F,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACtD,OAAO,EACP,iCAAyB,EACzB,qBAAa,CAChB,CAAA;oBACD,OAAO,CAAC,GAAG,CACP,+BAA+B;wBAC3B,OAAO,CAAC,mBAAmB;wBAC3B,MAAM;wBACN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC/B,CAAA;oBACD,IAAA,qDAA2C,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;oBAChE,OAAO,QAAQ,CAAA;iBAClB;gBACD,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,MAAM,OAAO,GAAG,MAAiC,CAAA;oBACjD,OAAO,CAAC,GAAG,CAAC,gDAAgD,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBAC3F,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;oBACtE,OAAO,CAAC,GAAG,CACP,gCAAgC;wBAC5B,OAAO,CAAC,mBAAmB;wBAC3B,MAAM;wBACN,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAC/B,CAAA;oBACD,IAAA,iDAAuC,EAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBACzF,OAAO,QAAQ,CAAA;iBAClB;gBACD,KAAK,sBAAsB,CAAC,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAgC,CAAA;oBAChD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBAC7D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA;oBACrE,IAAA,iDAAuC,EAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBACzF,OAAO,QAAQ,CAAA;iBAClB;gBACD,KAAK,wBAAwB,CAAC,CAAC;oBAC3B,MAAM,OAAO,GAAG,MAAkC,CAAA;oBAClD,MAAM,yBAAyB,GAAG,IAAI,8CAAe,EAAE,CAAA;oBACvD,MAAM,iBAAiB,GACnB,MAAM,yBAAyB,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;oBAC3E,OAAO,CAAC,GAAG,CAAC,yCAAyC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;oBACpF,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,2BAA2B,CAC/D,iBAAiB,EACjB,OAAO,CAAC,mBAAmB,EAC3B,OAAO,CAAC,gBAAgB,CAC3B,CAAA;oBACD,IAAA,2DAAiD,EAC7C,SAAS,EACT,QAAQ,EACR,OAAO,CAAC,mBAAmB,CAC9B,CAAA;oBACD,OAAO,QAAQ,CAAA;iBAClB;aACJ;YACD,OAAM;SACT;QAAC,OAAO,CAAM,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,wDAAwD,GAAG,CAAC,CAAC,CAAA;YAEzE,QAAQ,MAAM,CAAC,OAAO,EAAE;gBACpB,KAAK,qBAAqB,CAAC,CAAC;oBACxB,MAAM,OAAO,GAAG,MAA+B,CAAA;oBAC/C,IAAA,6CAAmC,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBAC1D,MAAK;iBACR;gBACD,KAAK,mBAAmB,CAAC,CAAC;oBACtB,MAAM,OAAO,GAAG,MAA6B,CAAA;oBAC7C,IAAA,8CAAoC,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBAC3D,MAAK;iBACR;gBACD,KAAK,oBAAoB,CAAC,CAAC;oBACvB,MAAM,OAAO,GAAG,MAA6B,CAAA;oBAC7C,IAAA,4CAAkC,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBACzD,MAAK;iBACR;gBACD,KAAK,2BAA2B,CAAC,CAAC;oBAC9B,MAAM,OAAO,GAAG,MAA6B,CAAA;oBAC7C,IAAA,mDAAyC,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBAChE,MAAK;iBACR;gBACD,KAAK,uBAAuB,CAAC,CAAC;oBAC1B,MAAM,OAAO,GAAG,MAAiC,CAAA;oBACjD,IAAA,+CAAqC,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBAC5D,MAAK;iBACR;gBACD,KAAK,sBAAsB,CAAC,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAgC,CAAA;oBAChD,IAAA,+CAAqC,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBAC5D,MAAK;iBACR;gBACD,KAAK,wBAAwB,CAAC,CAAC;oBAC3B,MAAM,OAAO,GAAG,MAAkC,CAAA;oBAClD,IAAA,yDAA+C,EAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBACtE,MAAK;iBACR;aACJ;SACJ;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,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAA;IACD,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,OAAO;YACH,YAAY,EAAE;gBACV,sBAAsB,EAAE;oBACpB,QAAQ,EAAE;wBACN,qBAAqB;wBACrB,mBAAmB;wBACnB,oBAAoB;wBACpB,2BAA2B;wBAC3B,uBAAuB;wBACvB,sBAAsB;wBACtB,wBAAwB;qBAC3B;iBACJ;aACJ;SACJ,CAAA;IACL,CAAC,CAAA;IACD,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;IACvC,GAAG,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAA;IAE7C,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;AACnB,CAAC,CAAA;AAvKQ,QAAA,wBAAwB,4BAuKhC"}
@@ -1,4 +1,5 @@
1
1
  export declare const CodeWhispererServerTokenProxy: import("@aws/language-server-runtimes/server-interface").Server;
2
2
  export declare const CodeWhispererServerIAMProxy: import("@aws/language-server-runtimes/server-interface").Server;
3
3
  export declare const CodeWhispererSecurityScanServerTokenProxy: import("@aws/language-server-runtimes/server-interface").Server;
4
+ export declare const QNetTransformServerTokenProxy: import("@aws/language-server-runtimes/server-interface").Server;
4
5
  export declare const QChatServerProxy: import("@aws/language-server-runtimes/server-interface").Server;