@aws/lsp-codewhisperer 0.0.30 → 0.0.31

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 (217) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/CONTRIBUTING.md +28 -0
  3. package/README.md +1 -1
  4. package/out/client/streamingClient/codewhispererStreamingClient.js +1 -0
  5. package/out/client/streamingClient/codewhispererStreamingClient.js.map +1 -1
  6. package/out/index.d.ts +5 -5
  7. package/out/index.js +5 -5
  8. package/out/index.js.map +1 -1
  9. package/out/language-server/agenticChat/agenticChatController.d.ts +9 -6
  10. package/out/language-server/agenticChat/agenticChatController.js +79 -26
  11. package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
  12. package/out/language-server/agenticChat/qAgenticChatServer.js +12 -8
  13. package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
  14. package/out/language-server/agenticChat/tools/fsRead.d.ts +38 -0
  15. package/out/language-server/agenticChat/tools/fsRead.js +96 -0
  16. package/out/language-server/agenticChat/tools/fsRead.js.map +1 -0
  17. package/out/language-server/agenticChat/tools/fsWrite.d.ts +73 -0
  18. package/out/language-server/agenticChat/tools/fsWrite.js +128 -0
  19. package/out/language-server/agenticChat/tools/fsWrite.js.map +1 -0
  20. package/out/language-server/agenticChat/tools/toolServer.d.ts +2 -0
  21. package/out/language-server/agenticChat/tools/toolServer.js +14 -0
  22. package/out/language-server/agenticChat/tools/toolServer.js.map +1 -0
  23. package/out/language-server/agenticChat/tools/toolShared.d.ts +7 -0
  24. package/out/language-server/agenticChat/tools/toolShared.js +5 -0
  25. package/out/language-server/agenticChat/tools/toolShared.js.map +1 -0
  26. package/out/language-server/chat/chatController.d.ts +9 -6
  27. package/out/language-server/chat/chatController.js +74 -27
  28. package/out/language-server/chat/chatController.js.map +1 -1
  29. package/out/language-server/chat/chatEventParser.d.ts +2 -2
  30. package/out/language-server/chat/chatSessionManagementService.d.ts +1 -1
  31. package/out/language-server/chat/chatSessionService.d.ts +1 -1
  32. package/out/language-server/chat/chatSessionService.js +1 -3
  33. package/out/language-server/chat/chatSessionService.js.map +1 -1
  34. package/out/language-server/chat/contexts/documentContext.js +1 -1
  35. package/out/language-server/chat/contexts/documentContext.js.map +1 -1
  36. package/out/language-server/chat/contexts/triggerContext.d.ts +5 -5
  37. package/out/language-server/chat/contexts/triggerContext.js +2 -2
  38. package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
  39. package/out/language-server/{qChatServer.js → chat/qChatServer.js} +15 -11
  40. package/out/language-server/chat/qChatServer.js.map +1 -0
  41. package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +3 -3
  42. package/out/language-server/chat/telemetry/chatTelemetryController.js +3 -3
  43. package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
  44. package/out/language-server/chat/telemetry/clientTelemetry.js +1 -1
  45. package/out/language-server/chat/telemetry/clientTelemetry.js.map +1 -1
  46. package/out/language-server/chat/utils.js +1 -1
  47. package/out/language-server/chat/utils.js.map +1 -1
  48. package/out/language-server/configuration/qConfigurationServer.d.ts +2 -2
  49. package/out/language-server/configuration/qConfigurationServer.js +2 -2
  50. package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
  51. package/out/language-server/{auto-trigger → inline-completion/auto-trigger}/autoTrigger.d.ts +1 -1
  52. package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -0
  53. package/out/language-server/{telemetry → inline-completion}/codeDiffTracker.js +1 -1
  54. package/out/language-server/inline-completion/codeDiffTracker.js.map +1 -0
  55. package/out/language-server/{telemetry → inline-completion}/codePercentage.d.ts +1 -1
  56. package/out/language-server/inline-completion/codePercentage.js.map +1 -0
  57. package/out/language-server/inline-completion/codeWhispererServer.d.ts +7 -0
  58. package/out/language-server/{codeWhispererServer.js → inline-completion/codeWhispererServer.js} +37 -76
  59. package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -0
  60. package/out/language-server/inline-completion/mergeRightUtils.js.map +1 -0
  61. package/out/language-server/{session → inline-completion/session}/sessionManager.d.ts +3 -3
  62. package/out/language-server/inline-completion/session/sessionManager.js.map +1 -0
  63. package/out/language-server/netTransform/artifactManager.d.ts +7 -7
  64. package/out/language-server/netTransform/artifactManager.js +86 -46
  65. package/out/language-server/netTransform/artifactManager.js.map +1 -1
  66. package/out/language-server/netTransform/metrics.js +1 -1
  67. package/out/language-server/netTransform/metrics.js.map +1 -1
  68. package/out/language-server/netTransform/models.d.ts +12 -0
  69. package/out/language-server/netTransform/models.js.map +1 -1
  70. package/out/language-server/{netTransformServer.d.ts → netTransform/netTransformServer.d.ts} +1 -1
  71. package/out/language-server/{netTransformServer.js → netTransform/netTransformServer.js} +5 -5
  72. package/out/language-server/netTransform/netTransformServer.js.map +1 -0
  73. package/out/language-server/netTransform/tests/mockData.d.ts +2 -21
  74. package/out/language-server/netTransform/tests/mockData.js +16 -13
  75. package/out/language-server/netTransform/tests/mockData.js.map +1 -1
  76. package/out/language-server/netTransform/transformHandler.d.ts +3 -1
  77. package/out/language-server/netTransform/transformHandler.js +49 -15
  78. package/out/language-server/netTransform/transformHandler.js.map +1 -1
  79. package/out/language-server/{codeWhispererSecurityScanServer.js → securityScan/codeWhispererSecurityScanServer.js} +5 -5
  80. package/out/language-server/securityScan/codeWhispererSecurityScanServer.js.map +1 -0
  81. package/out/language-server/securityScan/dependencyGraph/commonUtil.js.map +1 -0
  82. package/out/language-server/securityScan/dependencyGraph/constants.js.map +1 -0
  83. package/out/language-server/securityScan/dependencyGraph/csharpDependencyGraph.js.map +1 -0
  84. package/out/language-server/securityScan/dependencyGraph/dependencyGraph.js.map +1 -0
  85. package/out/language-server/securityScan/dependencyGraph/dependencyGraphFactory.js.map +1 -0
  86. package/out/language-server/securityScan/securityScanHandler.d.ts +1 -1
  87. package/out/language-server/securityScan/securityScanHandler.js +1 -1
  88. package/out/language-server/securityScan/securityScanHandler.js.map +1 -1
  89. package/out/{language-server → shared}/amazonQServiceManager/AmazonQTokenServiceManager.d.ts +6 -3
  90. package/out/{language-server → shared}/amazonQServiceManager/AmazonQTokenServiceManager.js +48 -84
  91. package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js.map +1 -0
  92. package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.d.ts +7 -0
  93. package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.js.map +1 -0
  94. package/out/shared/amazonQServiceManager/configurationUtils.d.ts +45 -0
  95. package/out/shared/amazonQServiceManager/configurationUtils.js +130 -0
  96. package/out/shared/amazonQServiceManager/configurationUtils.js.map +1 -0
  97. package/out/shared/amazonQServiceManager/errors.js.map +1 -0
  98. package/out/shared/amazonQServiceManager/factories.d.ts +15 -0
  99. package/out/shared/amazonQServiceManager/factories.js +47 -0
  100. package/out/shared/amazonQServiceManager/factories.js.map +1 -0
  101. package/out/{language-server → shared}/amazonQServiceManager/qDeveloperProfiles.d.ts +1 -3
  102. package/out/{language-server → shared}/amazonQServiceManager/qDeveloperProfiles.js +2 -2
  103. package/out/shared/amazonQServiceManager/qDeveloperProfiles.js.map +1 -0
  104. package/out/shared/codeWhispererService.js.map +1 -0
  105. package/out/{language-server → shared}/constants.d.ts +5 -0
  106. package/out/shared/constants.js +16 -0
  107. package/out/shared/constants.js.map +1 -0
  108. package/out/shared/languageDetection.js.map +1 -0
  109. package/out/shared/models/constants.js.map +1 -0
  110. package/out/shared/models/model.js.map +1 -0
  111. package/out/{language-server → shared}/proxy-server.js +9 -12
  112. package/out/shared/proxy-server.js.map +1 -0
  113. package/out/shared/streamingClientService.d.ts +10 -0
  114. package/out/shared/streamingClientService.js +42 -0
  115. package/out/shared/streamingClientService.js.map +1 -0
  116. package/out/shared/supplementalContextUtil/codeParsingUtil.js.map +1 -0
  117. package/out/{language-server/utilities → shared}/supplementalContextUtil/crossFileContextUtil.d.ts +1 -1
  118. package/out/{language-server/utilities → shared}/supplementalContextUtil/crossFileContextUtil.js +1 -1
  119. package/out/shared/supplementalContextUtil/crossFileContextUtil.js.map +1 -0
  120. package/out/shared/supplementalContextUtil/rankBm25.js.map +1 -0
  121. package/out/{language-server/utilities → shared}/supplementalContextUtil/supplementalContextUtil.d.ts +1 -1
  122. package/out/shared/supplementalContextUtil/supplementalContextUtil.js.map +1 -0
  123. package/out/shared/telemetry/metric.js.map +1 -0
  124. package/out/{language-server → shared/telemetry}/telemetryService.d.ts +5 -5
  125. package/out/{language-server → shared/telemetry}/telemetryService.js +4 -4
  126. package/out/shared/telemetry/telemetryService.js.map +1 -0
  127. package/out/{language-server → shared}/telemetry/types.d.ts +2 -2
  128. package/out/shared/telemetry/types.js.map +1 -0
  129. package/out/{language-server/utilities → shared}/telemetryUtils.d.ts +1 -1
  130. package/out/shared/telemetryUtils.js.map +1 -0
  131. package/out/shared/testUtils.js.map +1 -0
  132. package/out/shared/utils.js.map +1 -0
  133. package/package.json +4 -4
  134. package/out/constants.d.ts +0 -8
  135. package/out/constants.js +0 -12
  136. package/out/constants.js.map +0 -1
  137. package/out/language-server/amazonQServiceManager/AmazonQTokenServiceManager.js.map +0 -1
  138. package/out/language-server/amazonQServiceManager/BaseAmazonQServiceManager.d.ts +0 -5
  139. package/out/language-server/amazonQServiceManager/BaseAmazonQServiceManager.js.map +0 -1
  140. package/out/language-server/amazonQServiceManager/errors.js.map +0 -1
  141. package/out/language-server/amazonQServiceManager/qDeveloperProfiles.js.map +0 -1
  142. package/out/language-server/auto-trigger/autoTrigger.js.map +0 -1
  143. package/out/language-server/codeWhispererSecurityScanServer.js.map +0 -1
  144. package/out/language-server/codeWhispererServer.d.ts +0 -6
  145. package/out/language-server/codeWhispererServer.js.map +0 -1
  146. package/out/language-server/codeWhispererService.js.map +0 -1
  147. package/out/language-server/constants.js +0 -8
  148. package/out/language-server/constants.js.map +0 -1
  149. package/out/language-server/dependencyGraph/commonUtil.js.map +0 -1
  150. package/out/language-server/dependencyGraph/constants.js.map +0 -1
  151. package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +0 -1
  152. package/out/language-server/dependencyGraph/dependencyGraph.js.map +0 -1
  153. package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +0 -1
  154. package/out/language-server/languageDetection.js.map +0 -1
  155. package/out/language-server/mergeRightUtils.js.map +0 -1
  156. package/out/language-server/models/constants.js.map +0 -1
  157. package/out/language-server/models/model.js.map +0 -1
  158. package/out/language-server/netTransformServer.js.map +0 -1
  159. package/out/language-server/proxy-server.js.map +0 -1
  160. package/out/language-server/qChatServer.js.map +0 -1
  161. package/out/language-server/session/sessionManager.js.map +0 -1
  162. package/out/language-server/telemetry/codeDiffTracker.js.map +0 -1
  163. package/out/language-server/telemetry/codePercentage.js.map +0 -1
  164. package/out/language-server/telemetry/metric.js.map +0 -1
  165. package/out/language-server/telemetry/types.js.map +0 -1
  166. package/out/language-server/telemetryService.js.map +0 -1
  167. package/out/language-server/testUtils.js.map +0 -1
  168. package/out/language-server/utilities/supplementalContextUtil/codeParsingUtil.js.map +0 -1
  169. package/out/language-server/utilities/supplementalContextUtil/crossFileContextUtil.js.map +0 -1
  170. package/out/language-server/utilities/supplementalContextUtil/rankBm25.js.map +0 -1
  171. package/out/language-server/utilities/supplementalContextUtil/supplementalContextUtil.js.map +0 -1
  172. package/out/language-server/utilities/telemetryUtils.js.map +0 -1
  173. package/out/language-server/utils.js.map +0 -1
  174. /package/out/language-server/{qChatServer.d.ts → chat/qChatServer.d.ts} +0 -0
  175. /package/out/language-server/{auto-trigger → inline-completion/auto-trigger}/autoTrigger.js +0 -0
  176. /package/out/language-server/{auto-trigger → inline-completion/auto-trigger}/coefficients.json +0 -0
  177. /package/out/language-server/{telemetry → inline-completion}/codeDiffTracker.d.ts +0 -0
  178. /package/out/language-server/{telemetry → inline-completion}/codePercentage.js +0 -0
  179. /package/out/language-server/{mergeRightUtils.d.ts → inline-completion/mergeRightUtils.d.ts} +0 -0
  180. /package/out/language-server/{mergeRightUtils.js → inline-completion/mergeRightUtils.js} +0 -0
  181. /package/out/language-server/{session → inline-completion/session}/sessionManager.js +0 -0
  182. /package/out/language-server/{codeWhispererSecurityScanServer.d.ts → securityScan/codeWhispererSecurityScanServer.d.ts} +0 -0
  183. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/commonUtil.d.ts +0 -0
  184. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/commonUtil.js +0 -0
  185. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/constants.d.ts +0 -0
  186. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/constants.js +0 -0
  187. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/csharpDependencyGraph.d.ts +0 -0
  188. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/csharpDependencyGraph.js +0 -0
  189. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/dependencyGraph.d.ts +0 -0
  190. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/dependencyGraph.js +0 -0
  191. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/dependencyGraphFactory.d.ts +0 -0
  192. /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/dependencyGraphFactory.js +0 -0
  193. /package/out/{language-server → shared}/amazonQServiceManager/BaseAmazonQServiceManager.js +0 -0
  194. /package/out/{language-server → shared}/amazonQServiceManager/errors.d.ts +0 -0
  195. /package/out/{language-server → shared}/amazonQServiceManager/errors.js +0 -0
  196. /package/out/{language-server → shared}/codeWhispererService.d.ts +0 -0
  197. /package/out/{language-server → shared}/codeWhispererService.js +0 -0
  198. /package/out/{language-server → shared}/languageDetection.d.ts +0 -0
  199. /package/out/{language-server → shared}/languageDetection.js +0 -0
  200. /package/out/{language-server → shared}/models/constants.d.ts +0 -0
  201. /package/out/{language-server → shared}/models/constants.js +0 -0
  202. /package/out/{language-server → shared}/models/model.d.ts +0 -0
  203. /package/out/{language-server → shared}/models/model.js +0 -0
  204. /package/out/{language-server → shared}/proxy-server.d.ts +0 -0
  205. /package/out/{language-server/utilities → shared}/supplementalContextUtil/codeParsingUtil.d.ts +0 -0
  206. /package/out/{language-server/utilities → shared}/supplementalContextUtil/codeParsingUtil.js +0 -0
  207. /package/out/{language-server/utilities → shared}/supplementalContextUtil/rankBm25.d.ts +0 -0
  208. /package/out/{language-server/utilities → shared}/supplementalContextUtil/rankBm25.js +0 -0
  209. /package/out/{language-server/utilities → shared}/supplementalContextUtil/supplementalContextUtil.js +0 -0
  210. /package/out/{language-server → shared}/telemetry/metric.d.ts +0 -0
  211. /package/out/{language-server → shared}/telemetry/metric.js +0 -0
  212. /package/out/{language-server → shared}/telemetry/types.js +0 -0
  213. /package/out/{language-server/utilities → shared}/telemetryUtils.js +0 -0
  214. /package/out/{language-server → shared}/testUtils.d.ts +0 -0
  215. /package/out/{language-server → shared}/testUtils.js +0 -0
  216. /package/out/{language-server → shared}/utils.d.ts +0 -0
  217. /package/out/{language-server → shared}/utils.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.31](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.30...lsp-codewhisperer/v0.0.31) (2025-04-07)
4
+
5
+
6
+ ### Features
7
+
8
+ * Add support for inline chat ([#897](https://github.com/aws/language-servers/issues/897)) ([9fd97ea](https://github.com/aws/language-servers/commit/9fd97ea946712dbbd4490752d41c395d508c8d0c))
9
+ * **amazonq:** add streaming client caching and inflight-request cancellation ([#901](https://github.com/aws/language-servers/issues/901)) ([ecb323d](https://github.com/aws/language-servers/commit/ecb323dbd3835193c1f8478d797b6a37d89b5961))
10
+ * **amazonq:** optimize service manager reuse ([#886](https://github.com/aws/language-servers/issues/886)) ([84f46ef](https://github.com/aws/language-servers/commit/84f46ef88fbae72a246c3e966ee525124eb8915a))
11
+ * context data selection support in chat-client ([#902](https://github.com/aws/language-servers/issues/902)) ([a22dea5](https://github.com/aws/language-servers/commit/a22dea51c0039f198a403e88f774ad7769b15d29))
12
+ * port fs related tools from VSC. ([#894](https://github.com/aws/language-servers/issues/894)) ([a368acc](https://github.com/aws/language-servers/commit/a368accfcd0b5c88b81f407d4cd7b73be2782b9b))
13
+ * update artifact manager for qct .net to include private package support ([#872](https://github.com/aws/language-servers/issues/872)) ([9c86cac](https://github.com/aws/language-servers/commit/9c86caceb2ebaf803d3e47ad257d49c8ab87bded))
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **amazonq:** do not throw when receiving null profile while client not connected ([#908](https://github.com/aws/language-servers/issues/908)) ([a04eed1](https://github.com/aws/language-servers/commit/a04eed1d3527009d848c4d00d0860dc0adf70d80))
19
+ * **amazonq:** reduce noisy logging from Q Service Manager ([7ef13b5](https://github.com/aws/language-servers/commit/7ef13b585130e264f4fa9a2ba4fae2e923fb940a))
20
+ * for transformation failure with incorrect filePath while extracting ([#875](https://github.com/aws/language-servers/issues/875)) ([54310cc](https://github.com/aws/language-servers/commit/54310cc15a8cfb3d0eb44559f0d560bdd70581e5))
21
+ * handle large file uploads using streams ([#874](https://github.com/aws/language-servers/issues/874)) ([b5999aa](https://github.com/aws/language-servers/commit/b5999aa7c54addd4e6b92483a2bb28c2fe70ffa6))
22
+ * update null check for net core compatibility version and path for private package support ([#914](https://github.com/aws/language-servers/issues/914)) ([30a0d80](https://github.com/aws/language-servers/commit/30a0d80591dbe73fd54ad3783e0d75526d994af8))
23
+
24
+
25
+ ### Dependencies
26
+
27
+ * The following workspace dependencies were updated
28
+ * dependencies
29
+ * @aws/lsp-core bumped from ^0.0.2 to ^0.0.3
30
+
3
31
  ## [0.0.30](https://github.com/aws/language-servers/compare/lsp-codewhisperer/v0.0.29...lsp-codewhisperer/v0.0.30) (2025-03-27)
4
32
 
5
33
 
@@ -0,0 +1,28 @@
1
+ # Contribution Guide to @aws/lsp-codewhisperer
2
+
3
+
4
+ ## Code structure
5
+
6
+ ### Servers
7
+
8
+ The code whisperer capability is consist of the following [LSP servers](https://github.com/aws/language-server-runtimes/blob/main/runtimes/server-interface/server.ts):
9
+
10
+ - `agenticChat`
11
+ - `chat`
12
+ - `inline-completion`
13
+ - `netTransform`
14
+ - `securityScan`
15
+
16
+ New server should always be created in their own directory under [`./src/language-server/`](./src/language-server/).
17
+
18
+ Please make sure:
19
+
20
+ 1. servers must be in a self-contained directory and not import files from each other.
21
+ 1. shared code should be in `shared` directory to be used by more than one server.
22
+
23
+
24
+ ### Client
25
+
26
+ `client` directory contains the AWS SDK for JavaScript client to call CodeWhisperer service using either [AWS Signature Version 4 (SigV4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) or [Builder ID (bearer token)](https://docs.aws.amazon.com/signin/latest/userguide/sign-in-aws_builder_id.html), which are two different ways to access Amazon Q Developer.
27
+
28
+
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  ## Guides
4
4
 
5
5
  ### Proxy
6
- To use the CodeWhisperer server behind a proxy, import the [`CodeWhispererServerTokenProxy`](./src/language-server/proxy-server.ts) as the server and set up the environment variable `HTTPS_PROXY` or `https_proxy` to the proxy URL you are using.
6
+ To use the CodeWhisperer server behind a proxy, import the [`CodeWhispererServerTokenProxy`](./src/shared/proxy-server.ts) as the server and set up the environment variable `HTTPS_PROXY` or `https_proxy` to the proxy URL you are using.
7
7
  You can pass the environment variable to the process or just set it up globally on your system.
8
8
 
9
9
  ```
@@ -4,6 +4,7 @@ exports.StreamingClient = void 0;
4
4
  exports.createStreamingClient = createStreamingClient;
5
5
  const codewhisperer_streaming_1 = require("@amzn/codewhisperer-streaming");
6
6
  const util_retry_1 = require("@aws-sdk/util-retry");
7
+ // TODO: refactor and combine with language-server/streamingClientService.ts when no longer in use
7
8
  class StreamingClient {
8
9
  async getStreamingClient(credentialsProvider, codeWhispererRegion, codeWhispererEndpoint, sdkInitializator, config) {
9
10
  return await createStreamingClient(credentialsProvider, codeWhispererRegion, codeWhispererEndpoint, sdkInitializator, config);
@@ -1 +1 @@
1
- {"version":3,"file":"codewhispererStreamingClient.js","sourceRoot":"","sources":["../../../src/client/streamingClient/codewhispererStreamingClient.ts"],"names":[],"mappings":";;;AAqBA,sDAiBC;AAtCD,2EAA0G;AAC1G,oDAA6D;AAG7D,MAAa,eAAe;IACjB,KAAK,CAAC,kBAAkB,CAC3B,mBAAwB,EACxB,mBAA2B,EAC3B,qBAA6B,EAC7B,gBAAkC,EAClC,MAA2C;QAE3C,OAAO,MAAM,qBAAqB,CAC9B,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,CACT,CAAA;IACL,CAAC;CACJ;AAhBD,0CAgBC;AACM,KAAK,UAAU,qBAAqB,CACvC,mBAAwB,EACxB,mBAA2B,EAC3B,qBAA6B,EAC7B,gBAAkC,EAClC,MAA2C;IAE3C,MAAM,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE1D,MAAM,eAAe,GAAG,gBAAgB,CAAC,gDAAsB,EAAE;QAC7D,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,qBAAqB;QAC/B,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;QAC7B,aAAa,EAAE,IAAI,oCAAuB,CAAC,CAAC,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,IAAI,EAAE,CAAC;QACvF,GAAG,MAAM;KACZ,CAAC,CAAA;IACF,OAAO,eAAe,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"codewhispererStreamingClient.js","sourceRoot":"","sources":["../../../src/client/streamingClient/codewhispererStreamingClient.ts"],"names":[],"mappings":";;;AAsBA,sDAiBC;AAvCD,2EAA0G;AAC1G,oDAA6D;AAG7D,kGAAkG;AAClG,MAAa,eAAe;IACjB,KAAK,CAAC,kBAAkB,CAC3B,mBAAwB,EACxB,mBAA2B,EAC3B,qBAA6B,EAC7B,gBAAkC,EAClC,MAA2C;QAE3C,OAAO,MAAM,qBAAqB,CAC9B,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,MAAM,CACT,CAAA;IACL,CAAC;CACJ;AAhBD,0CAgBC;AACM,KAAK,UAAU,qBAAqB,CACvC,mBAAwB,EACxB,mBAA2B,EAC3B,qBAA6B,EAC7B,gBAAkC,EAClC,MAA2C;IAE3C,MAAM,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE1D,MAAM,eAAe,GAAG,gBAAgB,CAAC,gDAAsB,EAAE;QAC7D,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,qBAAqB;QAC/B,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;QAC7B,aAAa,EAAE,IAAI,oCAAuB,CAAC,CAAC,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,IAAI,EAAE,CAAC;QACvF,GAAG,MAAM;KACZ,CAAC,CAAA;IACF,OAAO,eAAe,CAAA;AAC1B,CAAC"}
package/out/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export * from './language-server/codeWhispererSecurityScanServer';
2
- export * from './language-server/codeWhispererServer';
3
- export * from './language-server/qChatServer';
1
+ export * from './language-server/securityScan/codeWhispererSecurityScanServer';
2
+ export * from './language-server/inline-completion/codeWhispererServer';
3
+ export * from './language-server/chat/qChatServer';
4
4
  export * as QAgenticChatServer from './language-server/agenticChat/qAgenticChatServer';
5
- export * from './language-server/proxy-server';
6
- export * from './language-server/netTransformServer';
5
+ export * from './shared/proxy-server';
6
+ export * from './language-server/netTransform/netTransformServer';
package/out/index.js CHANGED
@@ -15,10 +15,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.QAgenticChatServer = void 0;
18
- __exportStar(require("./language-server/codeWhispererSecurityScanServer"), exports);
19
- __exportStar(require("./language-server/codeWhispererServer"), exports);
20
- __exportStar(require("./language-server/qChatServer"), exports);
18
+ __exportStar(require("./language-server/securityScan/codeWhispererSecurityScanServer"), exports);
19
+ __exportStar(require("./language-server/inline-completion/codeWhispererServer"), exports);
20
+ __exportStar(require("./language-server/chat/qChatServer"), exports);
21
21
  exports.QAgenticChatServer = require("./language-server/agenticChat/qAgenticChatServer");
22
- __exportStar(require("./language-server/proxy-server"), exports);
23
- __exportStar(require("./language-server/netTransformServer"), exports);
22
+ __exportStar(require("./shared/proxy-server"), exports);
23
+ __exportStar(require("./language-server/netTransform/netTransformServer"), exports);
24
24
  //# sourceMappingURL=index.js.map
package/out/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oFAAiE;AACjE,wEAAqD;AACrD,gEAA6C;AAC7C,yFAAsF;AACtF,iEAA8C;AAC9C,uEAAoD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iGAA8E;AAC9E,0FAAuE;AACvE,qEAAkD;AAClD,yFAAsF;AACtF,wDAAqC;AACrC,oFAAiE"}
@@ -2,17 +2,20 @@
2
2
  * Copied from ../chat/chatController.ts for the purpose of developing a divergent implementation.
3
3
  * Will be deleted or merged.
4
4
  */
5
- import { FeedbackParams, InsertToCursorPositionParams } from '@aws/language-server-runtimes/protocol';
6
- import { CancellationToken, Chat, ChatParams, ChatResult, EndChatParams, QuickActionParams, ResponseError, TabAddParams, TabRemoveParams, TabChangeParams } from '@aws/language-server-runtimes/server-interface';
5
+ import { FeedbackParams, InsertToCursorPositionParams, InlineChatParams } from '@aws/language-server-runtimes/protocol';
6
+ import { CancellationToken, Chat, ChatParams, ChatResult, EndChatParams, QuickActionParams, ResponseError, TabAddParams, TabRemoveParams, TabChangeParams, InlineChatResult } from '@aws/language-server-runtimes/server-interface';
7
7
  import { Features, LspHandlers } from '../types';
8
8
  import { ChatSessionManagementService } from '../chat/chatSessionManagementService';
9
- import { TelemetryService } from '../telemetryService';
10
- type ChatHandlers = Omit<LspHandlers<Chat>, 'openTab' | 'sendChatUpdate' | 'onFileClicked'>;
9
+ import { TelemetryService } from '../../shared/telemetry/telemetryService';
10
+ import { AmazonQTokenServiceManager } from '../../shared/amazonQServiceManager/AmazonQTokenServiceManager';
11
+ import { AmazonQWorkspaceConfig } from '../../shared/amazonQServiceManager/configurationUtils';
12
+ type ChatHandlers = Omit<LspHandlers<Chat>, 'openTab' | 'sendChatUpdate' | 'onFileClicked' | 'onInlineChatPrompt' | 'sendContextCommands' | 'onCreatePrompt'>;
11
13
  export declare class AgenticChatController implements ChatHandlers {
12
14
  #private;
13
- constructor(chatSessionManagementService: ChatSessionManagementService, features: Features, telemetryService: TelemetryService);
15
+ constructor(chatSessionManagementService: ChatSessionManagementService, features: Features, telemetryService: TelemetryService, amazonQServiceManager?: AmazonQTokenServiceManager);
14
16
  dispose(): void;
15
17
  onChatPrompt(params: ChatParams, token: CancellationToken): Promise<ChatResult | ResponseError<ChatResult>>;
18
+ onInlineChatPrompt(params: InlineChatParams, token: CancellationToken): Promise<InlineChatResult | ResponseError<InlineChatResult>>;
16
19
  onCodeInsertToCursorPosition(params: InsertToCursorPositionParams): Promise<void>;
17
20
  onCopyCodeToClipboard(): void;
18
21
  onEndChat(params: EndChatParams, _token: CancellationToken): boolean;
@@ -32,6 +35,6 @@ export declare class AgenticChatController implements ChatHandlers {
32
35
  messageId: string;
33
36
  body: string;
34
37
  };
35
- updateConfiguration: () => Promise<void>;
38
+ updateConfiguration: (newConfig: AmazonQWorkspaceConfig) => void;
36
39
  }
37
40
  export {};
@@ -5,22 +5,21 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.AgenticChatController = void 0;
8
+ const codewhisperer_streaming_1 = require("@amzn/codewhisperer-streaming");
8
9
  const protocol_1 = require("@aws/language-server-runtimes/protocol");
9
10
  const server_interface_1 = require("@aws/language-server-runtimes/server-interface");
10
11
  const uuid_1 = require("uuid");
11
- const types_1 = require("../telemetry/types");
12
+ const types_1 = require("../../shared/telemetry/types");
12
13
  const chatEventParser_1 = require("../chat/chatEventParser");
13
14
  const utils_1 = require("../chat/utils");
14
15
  const chatTelemetryController_1 = require("../chat/telemetry/chatTelemetryController");
15
16
  const quickActions_1 = require("../chat/quickActions");
16
- const metric_1 = require("../telemetry/metric");
17
- const utils_2 = require("../utils");
17
+ const metric_1 = require("../../shared/telemetry/metric");
18
+ const utils_2 = require("../../shared/utils");
18
19
  const triggerContext_1 = require("../chat/contexts/triggerContext");
19
20
  const constants_1 = require("../chat/constants");
20
- const qConfigurationServer_1 = require("../configuration/qConfigurationServer");
21
- const lsp_core_1 = require("@aws/lsp-core");
22
- const errors_1 = require("../amazonQServiceManager/errors");
23
- const AmazonQTokenServiceManager_1 = require("../amazonQServiceManager/AmazonQTokenServiceManager");
21
+ const errors_1 = require("../../shared/amazonQServiceManager/errors");
22
+ const AmazonQTokenServiceManager_1 = require("../../shared/amazonQServiceManager/AmazonQTokenServiceManager");
24
23
  class AgenticChatController {
25
24
  #features;
26
25
  #chatSessionManagementService;
@@ -28,12 +27,14 @@ class AgenticChatController {
28
27
  #triggerContext;
29
28
  #customizationArn;
30
29
  #telemetryService;
31
- constructor(chatSessionManagementService, features, telemetryService) {
30
+ #amazonQServiceManager;
31
+ constructor(chatSessionManagementService, features, telemetryService, amazonQServiceManager) {
32
32
  this.#features = features;
33
33
  this.#chatSessionManagementService = chatSessionManagementService;
34
34
  this.#triggerContext = new triggerContext_1.QChatTriggerContext(features.workspace, features.logging);
35
35
  this.#telemetryController = new chatTelemetryController_1.ChatTelemetryController(features, telemetryService);
36
36
  this.#telemetryService = telemetryService;
37
+ this.#amazonQServiceManager = amazonQServiceManager;
37
38
  }
38
39
  dispose() {
39
40
  this.#chatSessionManagementService.dispose();
@@ -64,7 +65,7 @@ class AgenticChatController {
64
65
  try {
65
66
  this.#log('Request for conversation id:', conversationIdentifier);
66
67
  const profileArn = AmazonQTokenServiceManager_1.AmazonQTokenServiceManager.getInstance(this.#features).getActiveProfileArn();
67
- requestInput = this.#triggerContext.getChatParamsFromTrigger(params, triggerContext, this.#customizationArn, profileArn);
68
+ requestInput = this.#triggerContext.getChatParamsFromTrigger(params, triggerContext, codewhisperer_streaming_1.ChatTriggerType.MANUAL, this.#customizationArn, profileArn);
68
69
  metric.recordStart();
69
70
  response = await session.sendMessage(requestInput);
70
71
  this.#log('Response for conversation id:', conversationIdentifier, JSON.stringify(response.$metadata));
@@ -134,6 +135,46 @@ class AgenticChatController {
134
135
  return new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, err instanceof Error ? err.message : 'Unknown error occured during response stream');
135
136
  }
136
137
  }
138
+ async onInlineChatPrompt(params, token) {
139
+ // TODO: This metric needs to be removed later, just added for now to be able to create a ChatEventParser object
140
+ const metric = new metric_1.Metric({
141
+ cwsprChatConversationType: 'Chat',
142
+ });
143
+ const triggerContext = await this.#getInlineChatTriggerContext(params);
144
+ let response;
145
+ let requestInput;
146
+ try {
147
+ const profileArn = AmazonQTokenServiceManager_1.AmazonQTokenServiceManager.getInstance(this.#features).getActiveProfileArn();
148
+ requestInput = this.#triggerContext.getChatParamsFromTrigger(params, triggerContext, codewhisperer_streaming_1.ChatTriggerType.INLINE_CHAT, this.#customizationArn, profileArn);
149
+ if (!this.#amazonQServiceManager) {
150
+ throw new Error('amazonQServiceManager is not initialized');
151
+ }
152
+ const client = this.#amazonQServiceManager.getStreamingClient();
153
+ response = await client.sendMessage(requestInput);
154
+ this.#log('Response for inline chat', JSON.stringify(response.$metadata), JSON.stringify(response));
155
+ }
156
+ catch (err) {
157
+ if (err instanceof errors_1.AmazonQServicePendingSigninError || err instanceof errors_1.AmazonQServicePendingProfileError) {
158
+ this.#log(`Q Inline Chat SSO Connection error: ${(0, utils_2.getErrorMessage)(err)}`);
159
+ return new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, err.message);
160
+ }
161
+ this.#log(`Q api request error ${err instanceof Error ? err.message : 'unknown'}`);
162
+ return new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, err instanceof Error ? err.message : 'Unknown request error');
163
+ }
164
+ try {
165
+ const result = await this.#processSendMessageResponseForInlineChat(response, metric, params.partialResultToken);
166
+ return result.success
167
+ ? {
168
+ ...result.data.chatResult,
169
+ requestId: response.$metadata.requestId,
170
+ }
171
+ : new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, result.error);
172
+ }
173
+ catch (err) {
174
+ this.#log('Error encountered during inline chat response streaming:', err instanceof Error ? err.message : 'unknown');
175
+ return new server_interface_1.ResponseError(server_interface_1.LSPErrorCodes.RequestFailed, err instanceof Error ? err.message : 'Unknown error occurred during inline chat response stream');
176
+ }
177
+ }
137
178
  async onCodeInsertToCursorPosition(params) {
138
179
  // Implementation based on https://github.com/aws/aws-toolkit-vscode/blob/1814cc84228d4bf20270574c5980b91b227f31cf/packages/core/src/amazonq/commons/controllers/contentController.ts#L38
139
180
  if (!params.textDocument || !params.cursorPosition || !params.code) {
@@ -285,6 +326,10 @@ class AgenticChatController {
285
326
  return {};
286
327
  }
287
328
  }
329
+ async #getInlineChatTriggerContext(params) {
330
+ let triggerContext = await this.#triggerContext.getNewTriggerContext(params);
331
+ return triggerContext;
332
+ }
288
333
  async #getTriggerContext(params, metric) {
289
334
  const lastMessageTrigger = this.#telemetryController.getLastMessageTrigger(params.tabId);
290
335
  let triggerContext;
@@ -333,25 +378,33 @@ class AgenticChatController {
333
378
  });
334
379
  return chatEventParser.getResult();
335
380
  }
336
- updateConfiguration = async () => {
337
- try {
338
- const qConfig = await this.#features.lsp.workspace.getConfiguration(qConfigurationServer_1.Q_CONFIGURATION_SECTION);
339
- if (qConfig) {
340
- this.#customizationArn = lsp_core_1.textUtils.undefinedIfEmpty(qConfig.customization);
341
- this.#log(`Chat configuration updated to use ${this.#customizationArn}`);
342
- /*
343
- The flag enableTelemetryEventsToDestination is set to true temporarily. It's value will be determined through destination
344
- configuration post all events migration to STE. It'll be replaced by qConfig['enableTelemetryEventsToDestination'] === true
345
- */
346
- // const enableTelemetryEventsToDestination = true
347
- // this.#telemetryService.updateEnableTelemetryEventsToDestination(enableTelemetryEventsToDestination)
348
- const optOutTelemetryPreference = qConfig['optOutTelemetry'] === true ? 'OPTOUT' : 'OPTIN';
349
- this.#telemetryService.updateOptOutPreference(optOutTelemetryPreference);
381
+ async #processSendMessageResponseForInlineChat(response, metric, partialResultToken) {
382
+ const requestId = response.$metadata.requestId;
383
+ const chatEventParser = new chatEventParser_1.ChatEventParser(requestId, metric);
384
+ for await (const chatEvent of response.sendMessageResponse) {
385
+ const result = chatEventParser.processPartialEvent(chatEvent);
386
+ // terminate early when there is an error
387
+ if (!result.success) {
388
+ return result;
389
+ }
390
+ if (!(0, utils_2.isNullish)(partialResultToken)) {
391
+ await this.#features.lsp.sendProgress(protocol_1.chatRequestType, partialResultToken, result.data.chatResult);
350
392
  }
351
393
  }
352
- catch (error) {
353
- this.#log(`Error in GetConfiguration: ${error}`);
354
- }
394
+ return chatEventParser.getResult();
395
+ }
396
+ updateConfiguration = (newConfig) => {
397
+ this.#customizationArn = newConfig.customizationArn;
398
+ this.#log(`Chat configuration updated to use ${this.#customizationArn}`);
399
+ /*
400
+ The flag enableTelemetryEventsToDestination is set to true temporarily. It's value will be determined through destination
401
+ configuration post all events migration to STE. It'll be replaced by qConfig['enableTelemetryEventsToDestination'] === true
402
+ */
403
+ // const enableTelemetryEventsToDestination = true
404
+ // this.#telemetryService.updateEnableTelemetryEventsToDestination(enableTelemetryEventsToDestination)
405
+ const updatedOptOutPreference = newConfig.optOutTelemetryPreference;
406
+ this.#telemetryService.updateOptOutPreference(updatedOptOutPreference);
407
+ this.#log(`Chat configuration telemetry preference to ${updatedOptOutPreference}`);
355
408
  };
356
409
  #log(...messages) {
357
410
  this.#features.logging.log(messages.join(' '));
@@ -1 +1 @@
1
- {"version":3,"file":"agenticChatController.js","sourceRoot":"","sources":["../../../src/language-server/agenticChat/agenticChatController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agenticChatController.js","sourceRoot":"","sources":["../../../src/language-server/agenticChat/agenticChatController.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,11 @@ exports.QAgenticChatServer = void 0;
8
8
  const agenticChatController_1 = require("./agenticChatController");
9
9
  const chatSessionManagementService_1 = require("../chat/chatSessionManagementService");
10
10
  const quickActions_1 = require("../chat/quickActions");
11
- const telemetryService_1 = require("../telemetryService");
12
- const telemetryUtils_1 = require("../utilities/telemetryUtils");
13
- const AmazonQTokenServiceManager_1 = require("../amazonQServiceManager/AmazonQTokenServiceManager");
14
- const errors_1 = require("../amazonQServiceManager/errors");
15
- const utils_1 = require("../utils");
11
+ const telemetryService_1 = require("../../shared/telemetry/telemetryService");
12
+ const telemetryUtils_1 = require("../../shared/telemetryUtils");
13
+ const AmazonQTokenServiceManager_1 = require("../../shared/amazonQServiceManager/AmazonQTokenServiceManager");
14
+ const utils_1 = require("../../shared/utils");
15
+ const errors_1 = require("../../shared/amazonQServiceManager/errors");
16
16
  const QAgenticChatServer =
17
17
  // prettier-ignore
18
18
  () => features => {
@@ -38,8 +38,8 @@ const QAgenticChatServer =
38
38
  };
39
39
  });
40
40
  const updateConfigurationHandler = async () => {
41
- await amazonQServiceManager.handleDidChangeConfiguration();
42
- await chatController.updateConfiguration();
41
+ const amazonQConfig = await amazonQServiceManager.handleDidChangeConfiguration();
42
+ chatController.updateConfiguration(amazonQConfig);
43
43
  };
44
44
  lsp.onInitialized(async () => {
45
45
  // Initialize service manager and inject it to chatSessionManagementService to pass it down
@@ -50,7 +50,7 @@ const QAgenticChatServer =
50
50
  telemetryService = new telemetryService_1.TelemetryService(amazonQServiceManager, credentialsProvider, telemetry, logging);
51
51
  const clientParams = (0, utils_1.safeGet)(lsp.getClientInitializeParams(), new errors_1.AmazonQServiceInitializationError('TelemetryService initialized before LSP connection was initialized.'));
52
52
  telemetryService.updateUserContext((0, telemetryUtils_1.makeUserContextObject)(clientParams, runtime.platform, 'CHAT'));
53
- chatController = new agenticChatController_1.AgenticChatController(chatSessionManagementService, features, telemetryService);
53
+ chatController = new agenticChatController_1.AgenticChatController(chatSessionManagementService, features, telemetryService, amazonQServiceManager);
54
54
  await updateConfigurationHandler();
55
55
  });
56
56
  lsp.didChangeConfiguration(updateConfigurationHandler);
@@ -74,6 +74,10 @@ const QAgenticChatServer =
74
74
  logging.log('Received chat prompt');
75
75
  return chatController.onChatPrompt(...params);
76
76
  });
77
+ chat.onInlineChatPrompt((...params) => {
78
+ logging.log('Received inline chat prompt');
79
+ return chatController.onInlineChatPrompt(...params);
80
+ });
77
81
  chat.onQuickAction((...params) => {
78
82
  return chatController.onQuickAction(...params);
79
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"qAgenticChatServer.js","sourceRoot":"","sources":["../../../src/language-server/agenticChat/qAgenticChatServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qAgenticChatServer.js","sourceRoot":"","sources":["../../../src/language-server/agenticChat/qAgenticChatServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { InvokeOutput } from './toolShared';
2
+ import { Features } from '@aws/language-server-runtimes/server-interface/server';
3
+ export interface FsReadParams {
4
+ path: string;
5
+ readRange?: number[];
6
+ }
7
+ export declare class FsRead {
8
+ private readonly logging;
9
+ private readonly workspace;
10
+ constructor(features: Pick<Features, 'workspace' | 'logging'> & Partial<Features>);
11
+ invoke(params: FsReadParams): Promise<InvokeOutput>;
12
+ private readFile;
13
+ private handleFileRange;
14
+ private parseLineRange;
15
+ private enforceMaxSize;
16
+ private createOutput;
17
+ getSpec(): {
18
+ readonly name: "fsRead";
19
+ readonly description: "A tool for reading a file. \n* This tool returns the contents of a file, and the optional `readRange` determines what range of lines will be read from the specified file.";
20
+ readonly inputSchema: {
21
+ readonly type: "object";
22
+ readonly parameters: {
23
+ readonly path: {
24
+ readonly description: "Absolute path to a file, e.g. `/repo/file.py`.";
25
+ readonly type: "string";
26
+ };
27
+ readonly readRange: {
28
+ readonly description: "Optional parameter when reading files.\n* If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[startLine, -1]` shows all lines from `startLine` to the end of the file.";
29
+ readonly items: {
30
+ readonly type: "integer";
31
+ };
32
+ readonly type: "array";
33
+ };
34
+ };
35
+ readonly required: readonly ["path"];
36
+ };
37
+ };
38
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FsRead = void 0;
4
+ /*!
5
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ const path_1 = require("@aws/lsp-core/out/util/path");
9
+ const toolShared_1 = require("./toolShared");
10
+ class FsRead {
11
+ logging;
12
+ workspace;
13
+ constructor(features) {
14
+ this.logging = features.logging;
15
+ this.workspace = features.workspace;
16
+ }
17
+ async invoke(params) {
18
+ const path = (0, path_1.sanitize)(params.path);
19
+ const fileContents = await this.readFile(path);
20
+ this.logging.info(`Read file: ${path}, size: ${fileContents.length}`);
21
+ return this.handleFileRange(params, fileContents);
22
+ }
23
+ async readFile(filePath) {
24
+ this.logging.info(`Reading file: ${filePath}`);
25
+ return await this.workspace.fs.readFile(filePath);
26
+ }
27
+ handleFileRange(params, fullText) {
28
+ if (!params.readRange || params.readRange.length === 0) {
29
+ this.logging.log('No range provided. returning entire file.');
30
+ return this.createOutput(this.enforceMaxSize(fullText));
31
+ }
32
+ const lines = fullText.split('\n');
33
+ const [start, end] = this.parseLineRange(lines.length, params.readRange);
34
+ if (start > end) {
35
+ this.logging.error(`Invalid range: ${params.readRange.join('-')}`);
36
+ return this.createOutput('');
37
+ }
38
+ this.logging.log(`Reading file: ${params.path}, lines ${start + 1}-${end + 1}`);
39
+ const slice = lines.slice(start, end + 1).join('\n');
40
+ return this.createOutput(this.enforceMaxSize(slice));
41
+ }
42
+ parseLineRange(lineCount, range) {
43
+ const startIdx = range[0];
44
+ let endIdx = range.length >= 2 ? range[1] : undefined;
45
+ if (endIdx === undefined) {
46
+ endIdx = -1;
47
+ }
48
+ const convert = (i) => {
49
+ return i < 0 ? lineCount + i : i - 1;
50
+ };
51
+ const finalStart = Math.max(0, Math.min(lineCount - 1, convert(startIdx)));
52
+ const finalEnd = Math.max(0, Math.min(lineCount - 1, convert(endIdx)));
53
+ return [finalStart, finalEnd];
54
+ }
55
+ enforceMaxSize(content) {
56
+ const byteCount = Buffer.byteLength(content, 'utf8');
57
+ if (byteCount > toolShared_1.maxToolResponseSize) {
58
+ throw new Error(`This tool only supports reading ${toolShared_1.maxToolResponseSize} bytes at a time.
59
+ You tried to read ${byteCount} bytes. Try executing with fewer lines specified.`);
60
+ }
61
+ return content;
62
+ }
63
+ createOutput(content) {
64
+ return {
65
+ output: {
66
+ kind: 'text',
67
+ content: content,
68
+ },
69
+ };
70
+ }
71
+ getSpec() {
72
+ return {
73
+ name: 'fsRead',
74
+ description: 'A tool for reading a file. \n* This tool returns the contents of a file, and the optional `readRange` determines what range of lines will be read from the specified file.',
75
+ inputSchema: {
76
+ type: 'object',
77
+ parameters: {
78
+ path: {
79
+ description: 'Absolute path to a file, e.g. `/repo/file.py`.',
80
+ type: 'string',
81
+ },
82
+ readRange: {
83
+ description: 'Optional parameter when reading files.\n* If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[startLine, -1]` shows all lines from `startLine` to the end of the file.',
84
+ items: {
85
+ type: 'integer',
86
+ },
87
+ type: 'array',
88
+ },
89
+ },
90
+ required: ['path'],
91
+ },
92
+ };
93
+ }
94
+ }
95
+ exports.FsRead = FsRead;
96
+ //# sourceMappingURL=fsRead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fsRead.js","sourceRoot":"","sources":["../../../../src/language-server/agenticChat/tools/fsRead.ts"],"names":[],"mappings":"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"}