@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.
- package/CHANGELOG.md +28 -0
- package/CONTRIBUTING.md +28 -0
- package/README.md +1 -1
- package/out/client/streamingClient/codewhispererStreamingClient.js +1 -0
- package/out/client/streamingClient/codewhispererStreamingClient.js.map +1 -1
- package/out/index.d.ts +5 -5
- package/out/index.js +5 -5
- package/out/index.js.map +1 -1
- package/out/language-server/agenticChat/agenticChatController.d.ts +9 -6
- package/out/language-server/agenticChat/agenticChatController.js +79 -26
- package/out/language-server/agenticChat/agenticChatController.js.map +1 -1
- package/out/language-server/agenticChat/qAgenticChatServer.js +12 -8
- package/out/language-server/agenticChat/qAgenticChatServer.js.map +1 -1
- package/out/language-server/agenticChat/tools/fsRead.d.ts +38 -0
- package/out/language-server/agenticChat/tools/fsRead.js +96 -0
- package/out/language-server/agenticChat/tools/fsRead.js.map +1 -0
- package/out/language-server/agenticChat/tools/fsWrite.d.ts +73 -0
- package/out/language-server/agenticChat/tools/fsWrite.js +128 -0
- package/out/language-server/agenticChat/tools/fsWrite.js.map +1 -0
- package/out/language-server/agenticChat/tools/toolServer.d.ts +2 -0
- package/out/language-server/agenticChat/tools/toolServer.js +14 -0
- package/out/language-server/agenticChat/tools/toolServer.js.map +1 -0
- package/out/language-server/agenticChat/tools/toolShared.d.ts +7 -0
- package/out/language-server/agenticChat/tools/toolShared.js +5 -0
- package/out/language-server/agenticChat/tools/toolShared.js.map +1 -0
- package/out/language-server/chat/chatController.d.ts +9 -6
- package/out/language-server/chat/chatController.js +74 -27
- package/out/language-server/chat/chatController.js.map +1 -1
- package/out/language-server/chat/chatEventParser.d.ts +2 -2
- package/out/language-server/chat/chatSessionManagementService.d.ts +1 -1
- package/out/language-server/chat/chatSessionService.d.ts +1 -1
- package/out/language-server/chat/chatSessionService.js +1 -3
- package/out/language-server/chat/chatSessionService.js.map +1 -1
- package/out/language-server/chat/contexts/documentContext.js +1 -1
- package/out/language-server/chat/contexts/documentContext.js.map +1 -1
- package/out/language-server/chat/contexts/triggerContext.d.ts +5 -5
- package/out/language-server/chat/contexts/triggerContext.js +2 -2
- package/out/language-server/chat/contexts/triggerContext.js.map +1 -1
- package/out/language-server/{qChatServer.js → chat/qChatServer.js} +15 -11
- package/out/language-server/chat/qChatServer.js.map +1 -0
- package/out/language-server/chat/telemetry/chatTelemetryController.d.ts +3 -3
- package/out/language-server/chat/telemetry/chatTelemetryController.js +3 -3
- package/out/language-server/chat/telemetry/chatTelemetryController.js.map +1 -1
- package/out/language-server/chat/telemetry/clientTelemetry.js +1 -1
- package/out/language-server/chat/telemetry/clientTelemetry.js.map +1 -1
- package/out/language-server/chat/utils.js +1 -1
- package/out/language-server/chat/utils.js.map +1 -1
- package/out/language-server/configuration/qConfigurationServer.d.ts +2 -2
- package/out/language-server/configuration/qConfigurationServer.js +2 -2
- package/out/language-server/configuration/qConfigurationServer.js.map +1 -1
- package/out/language-server/{auto-trigger → inline-completion/auto-trigger}/autoTrigger.d.ts +1 -1
- package/out/language-server/inline-completion/auto-trigger/autoTrigger.js.map +1 -0
- package/out/language-server/{telemetry → inline-completion}/codeDiffTracker.js +1 -1
- package/out/language-server/inline-completion/codeDiffTracker.js.map +1 -0
- package/out/language-server/{telemetry → inline-completion}/codePercentage.d.ts +1 -1
- package/out/language-server/inline-completion/codePercentage.js.map +1 -0
- package/out/language-server/inline-completion/codeWhispererServer.d.ts +7 -0
- package/out/language-server/{codeWhispererServer.js → inline-completion/codeWhispererServer.js} +37 -76
- package/out/language-server/inline-completion/codeWhispererServer.js.map +1 -0
- package/out/language-server/inline-completion/mergeRightUtils.js.map +1 -0
- package/out/language-server/{session → inline-completion/session}/sessionManager.d.ts +3 -3
- package/out/language-server/inline-completion/session/sessionManager.js.map +1 -0
- package/out/language-server/netTransform/artifactManager.d.ts +7 -7
- package/out/language-server/netTransform/artifactManager.js +86 -46
- package/out/language-server/netTransform/artifactManager.js.map +1 -1
- package/out/language-server/netTransform/metrics.js +1 -1
- package/out/language-server/netTransform/metrics.js.map +1 -1
- package/out/language-server/netTransform/models.d.ts +12 -0
- package/out/language-server/netTransform/models.js.map +1 -1
- package/out/language-server/{netTransformServer.d.ts → netTransform/netTransformServer.d.ts} +1 -1
- package/out/language-server/{netTransformServer.js → netTransform/netTransformServer.js} +5 -5
- package/out/language-server/netTransform/netTransformServer.js.map +1 -0
- package/out/language-server/netTransform/tests/mockData.d.ts +2 -21
- package/out/language-server/netTransform/tests/mockData.js +16 -13
- package/out/language-server/netTransform/tests/mockData.js.map +1 -1
- package/out/language-server/netTransform/transformHandler.d.ts +3 -1
- package/out/language-server/netTransform/transformHandler.js +49 -15
- package/out/language-server/netTransform/transformHandler.js.map +1 -1
- package/out/language-server/{codeWhispererSecurityScanServer.js → securityScan/codeWhispererSecurityScanServer.js} +5 -5
- package/out/language-server/securityScan/codeWhispererSecurityScanServer.js.map +1 -0
- package/out/language-server/securityScan/dependencyGraph/commonUtil.js.map +1 -0
- package/out/language-server/securityScan/dependencyGraph/constants.js.map +1 -0
- package/out/language-server/securityScan/dependencyGraph/csharpDependencyGraph.js.map +1 -0
- package/out/language-server/securityScan/dependencyGraph/dependencyGraph.js.map +1 -0
- package/out/language-server/securityScan/dependencyGraph/dependencyGraphFactory.js.map +1 -0
- package/out/language-server/securityScan/securityScanHandler.d.ts +1 -1
- package/out/language-server/securityScan/securityScanHandler.js +1 -1
- package/out/language-server/securityScan/securityScanHandler.js.map +1 -1
- package/out/{language-server → shared}/amazonQServiceManager/AmazonQTokenServiceManager.d.ts +6 -3
- package/out/{language-server → shared}/amazonQServiceManager/AmazonQTokenServiceManager.js +48 -84
- package/out/shared/amazonQServiceManager/AmazonQTokenServiceManager.js.map +1 -0
- package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.d.ts +7 -0
- package/out/shared/amazonQServiceManager/BaseAmazonQServiceManager.js.map +1 -0
- package/out/shared/amazonQServiceManager/configurationUtils.d.ts +45 -0
- package/out/shared/amazonQServiceManager/configurationUtils.js +130 -0
- package/out/shared/amazonQServiceManager/configurationUtils.js.map +1 -0
- package/out/shared/amazonQServiceManager/errors.js.map +1 -0
- package/out/shared/amazonQServiceManager/factories.d.ts +15 -0
- package/out/shared/amazonQServiceManager/factories.js +47 -0
- package/out/shared/amazonQServiceManager/factories.js.map +1 -0
- package/out/{language-server → shared}/amazonQServiceManager/qDeveloperProfiles.d.ts +1 -3
- package/out/{language-server → shared}/amazonQServiceManager/qDeveloperProfiles.js +2 -2
- package/out/shared/amazonQServiceManager/qDeveloperProfiles.js.map +1 -0
- package/out/shared/codeWhispererService.js.map +1 -0
- package/out/{language-server → shared}/constants.d.ts +5 -0
- package/out/shared/constants.js +16 -0
- package/out/shared/constants.js.map +1 -0
- package/out/shared/languageDetection.js.map +1 -0
- package/out/shared/models/constants.js.map +1 -0
- package/out/shared/models/model.js.map +1 -0
- package/out/{language-server → shared}/proxy-server.js +9 -12
- package/out/shared/proxy-server.js.map +1 -0
- package/out/shared/streamingClientService.d.ts +10 -0
- package/out/shared/streamingClientService.js +42 -0
- package/out/shared/streamingClientService.js.map +1 -0
- package/out/shared/supplementalContextUtil/codeParsingUtil.js.map +1 -0
- package/out/{language-server/utilities → shared}/supplementalContextUtil/crossFileContextUtil.d.ts +1 -1
- package/out/{language-server/utilities → shared}/supplementalContextUtil/crossFileContextUtil.js +1 -1
- package/out/shared/supplementalContextUtil/crossFileContextUtil.js.map +1 -0
- package/out/shared/supplementalContextUtil/rankBm25.js.map +1 -0
- package/out/{language-server/utilities → shared}/supplementalContextUtil/supplementalContextUtil.d.ts +1 -1
- package/out/shared/supplementalContextUtil/supplementalContextUtil.js.map +1 -0
- package/out/shared/telemetry/metric.js.map +1 -0
- package/out/{language-server → shared/telemetry}/telemetryService.d.ts +5 -5
- package/out/{language-server → shared/telemetry}/telemetryService.js +4 -4
- package/out/shared/telemetry/telemetryService.js.map +1 -0
- package/out/{language-server → shared}/telemetry/types.d.ts +2 -2
- package/out/shared/telemetry/types.js.map +1 -0
- package/out/{language-server/utilities → shared}/telemetryUtils.d.ts +1 -1
- package/out/shared/telemetryUtils.js.map +1 -0
- package/out/shared/testUtils.js.map +1 -0
- package/out/shared/utils.js.map +1 -0
- package/package.json +4 -4
- package/out/constants.d.ts +0 -8
- package/out/constants.js +0 -12
- package/out/constants.js.map +0 -1
- package/out/language-server/amazonQServiceManager/AmazonQTokenServiceManager.js.map +0 -1
- package/out/language-server/amazonQServiceManager/BaseAmazonQServiceManager.d.ts +0 -5
- package/out/language-server/amazonQServiceManager/BaseAmazonQServiceManager.js.map +0 -1
- package/out/language-server/amazonQServiceManager/errors.js.map +0 -1
- package/out/language-server/amazonQServiceManager/qDeveloperProfiles.js.map +0 -1
- package/out/language-server/auto-trigger/autoTrigger.js.map +0 -1
- package/out/language-server/codeWhispererSecurityScanServer.js.map +0 -1
- package/out/language-server/codeWhispererServer.d.ts +0 -6
- package/out/language-server/codeWhispererServer.js.map +0 -1
- package/out/language-server/codeWhispererService.js.map +0 -1
- package/out/language-server/constants.js +0 -8
- package/out/language-server/constants.js.map +0 -1
- package/out/language-server/dependencyGraph/commonUtil.js.map +0 -1
- package/out/language-server/dependencyGraph/constants.js.map +0 -1
- package/out/language-server/dependencyGraph/csharpDependencyGraph.js.map +0 -1
- package/out/language-server/dependencyGraph/dependencyGraph.js.map +0 -1
- package/out/language-server/dependencyGraph/dependencyGraphFactory.js.map +0 -1
- package/out/language-server/languageDetection.js.map +0 -1
- package/out/language-server/mergeRightUtils.js.map +0 -1
- package/out/language-server/models/constants.js.map +0 -1
- package/out/language-server/models/model.js.map +0 -1
- package/out/language-server/netTransformServer.js.map +0 -1
- package/out/language-server/proxy-server.js.map +0 -1
- package/out/language-server/qChatServer.js.map +0 -1
- package/out/language-server/session/sessionManager.js.map +0 -1
- package/out/language-server/telemetry/codeDiffTracker.js.map +0 -1
- package/out/language-server/telemetry/codePercentage.js.map +0 -1
- package/out/language-server/telemetry/metric.js.map +0 -1
- package/out/language-server/telemetry/types.js.map +0 -1
- package/out/language-server/telemetryService.js.map +0 -1
- package/out/language-server/testUtils.js.map +0 -1
- package/out/language-server/utilities/supplementalContextUtil/codeParsingUtil.js.map +0 -1
- package/out/language-server/utilities/supplementalContextUtil/crossFileContextUtil.js.map +0 -1
- package/out/language-server/utilities/supplementalContextUtil/rankBm25.js.map +0 -1
- package/out/language-server/utilities/supplementalContextUtil/supplementalContextUtil.js.map +0 -1
- package/out/language-server/utilities/telemetryUtils.js.map +0 -1
- package/out/language-server/utils.js.map +0 -1
- /package/out/language-server/{qChatServer.d.ts → chat/qChatServer.d.ts} +0 -0
- /package/out/language-server/{auto-trigger → inline-completion/auto-trigger}/autoTrigger.js +0 -0
- /package/out/language-server/{auto-trigger → inline-completion/auto-trigger}/coefficients.json +0 -0
- /package/out/language-server/{telemetry → inline-completion}/codeDiffTracker.d.ts +0 -0
- /package/out/language-server/{telemetry → inline-completion}/codePercentage.js +0 -0
- /package/out/language-server/{mergeRightUtils.d.ts → inline-completion/mergeRightUtils.d.ts} +0 -0
- /package/out/language-server/{mergeRightUtils.js → inline-completion/mergeRightUtils.js} +0 -0
- /package/out/language-server/{session → inline-completion/session}/sessionManager.js +0 -0
- /package/out/language-server/{codeWhispererSecurityScanServer.d.ts → securityScan/codeWhispererSecurityScanServer.d.ts} +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/commonUtil.d.ts +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/commonUtil.js +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/constants.d.ts +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/constants.js +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/csharpDependencyGraph.d.ts +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/csharpDependencyGraph.js +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/dependencyGraph.d.ts +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/dependencyGraph.js +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/dependencyGraphFactory.d.ts +0 -0
- /package/out/language-server/{dependencyGraph → securityScan/dependencyGraph}/dependencyGraphFactory.js +0 -0
- /package/out/{language-server → shared}/amazonQServiceManager/BaseAmazonQServiceManager.js +0 -0
- /package/out/{language-server → shared}/amazonQServiceManager/errors.d.ts +0 -0
- /package/out/{language-server → shared}/amazonQServiceManager/errors.js +0 -0
- /package/out/{language-server → shared}/codeWhispererService.d.ts +0 -0
- /package/out/{language-server → shared}/codeWhispererService.js +0 -0
- /package/out/{language-server → shared}/languageDetection.d.ts +0 -0
- /package/out/{language-server → shared}/languageDetection.js +0 -0
- /package/out/{language-server → shared}/models/constants.d.ts +0 -0
- /package/out/{language-server → shared}/models/constants.js +0 -0
- /package/out/{language-server → shared}/models/model.d.ts +0 -0
- /package/out/{language-server → shared}/models/model.js +0 -0
- /package/out/{language-server → shared}/proxy-server.d.ts +0 -0
- /package/out/{language-server/utilities → shared}/supplementalContextUtil/codeParsingUtil.d.ts +0 -0
- /package/out/{language-server/utilities → shared}/supplementalContextUtil/codeParsingUtil.js +0 -0
- /package/out/{language-server/utilities → shared}/supplementalContextUtil/rankBm25.d.ts +0 -0
- /package/out/{language-server/utilities → shared}/supplementalContextUtil/rankBm25.js +0 -0
- /package/out/{language-server/utilities → shared}/supplementalContextUtil/supplementalContextUtil.js +0 -0
- /package/out/{language-server → shared}/telemetry/metric.d.ts +0 -0
- /package/out/{language-server → shared}/telemetry/metric.js +0 -0
- /package/out/{language-server → shared}/telemetry/types.js +0 -0
- /package/out/{language-server/utilities → shared}/telemetryUtils.js +0 -0
- /package/out/{language-server → shared}/testUtils.d.ts +0 -0
- /package/out/{language-server → shared}/testUtils.js +0 -0
- /package/out/{language-server → shared}/utils.d.ts +0 -0
- /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
|
|
package/CONTRIBUTING.md
ADDED
|
@@ -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/
|
|
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":";;;
|
|
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 './
|
|
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("./
|
|
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,
|
|
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 '
|
|
10
|
-
|
|
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: () =>
|
|
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("
|
|
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("
|
|
17
|
-
const utils_2 = require("
|
|
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
|
|
21
|
-
const
|
|
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
|
-
|
|
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
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
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
|
-
|
|
353
|
-
|
|
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":";AAAA;;;GAGG;;;AAGH,qEAQ+C;AAC/C,qFAYuD;AACvD,+BAAiC;AACjC,8CAK2B;AAE3B,6DAAiF;AACjF,yCAAqG;AAErG,uFAAmF;AACnF,uDAAkD;AAClD,gDAA4C;AAC5C,oCAA2E;AAC3E,oEAAqF;AACrF,iDAAgD;AAChD,gFAA+E;AAC/E,4CAAyC;AAEzC,4DAAqH;AACrH,oGAAgG;AAIhG,MAAa,qBAAqB;IAC9B,SAAS,CAAU;IACnB,6BAA6B,CAA8B;IAC3D,oBAAoB,CAAyB;IAC7C,eAAe,CAAqB;IACpC,iBAAiB,CAAS;IAC1B,iBAAiB,CAAkB;IAEnC,YACI,4BAA0D,EAC1D,QAAkB,EAClB,gBAAkC;QAElC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,6BAA6B,GAAG,4BAA4B,CAAA;QACjE,IAAI,CAAC,eAAe,GAAG,IAAI,oCAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QACpF,IAAI,CAAC,oBAAoB,GAAG,IAAI,iDAAuB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;QACnF,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;IAC7C,CAAC;IAED,OAAO;QACH,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,CAAA;QAC5C,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAkB,EAAE,KAAwB;QAC3D,MAAM,oBAAoB,GAAG,IAAA,8BAAsB,EAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAEzE,IAAI,oBAAoB,EAAE,CAAC;YACvB,OAAO,oBAAoB,CAAA;QAC/B,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEjF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,aAAa,CAAA;QAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,IAAI,gCAAa,CAAa,qBAAU,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;QACvF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAM,CAA4B;YACjD,yBAAyB,EAAE,MAAM;SACpC,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACpE,MAAM,iBAAiB,GAAG,CAAC,OAAO,CAAC,cAAc,CAAA;QAEjD,KAAK,CAAC,uBAAuB,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;YACnC,OAAO,CAAC,YAAY,EAAE,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEF,IAAI,QAAkC,CAAA;QACtC,IAAI,YAAqC,CAAA;QAEzC,MAAM,sBAAsB,GAAG,OAAO,EAAE,cAAc,IAAI,kBAAkB,CAAA;QAC5E,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,sBAAsB,CAAC,CAAA;YACjE,MAAM,UAAU,GAAG,uDAA0B,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,mBAAmB,EAAE,CAAA;YAC/F,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CACxD,MAAM,EACN,cAAc,EACd,IAAI,CAAC,iBAAiB,EACtB,UAAU,CACb,CAAA;YAED,MAAM,CAAC,WAAW,EAAE,CAAA;YACpB,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;YAClD,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,sBAAsB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;QAC1G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,IAAA,kBAAU,EAAC,GAAG,CAAC,IAAI,CAAC,IAAA,gBAAQ,EAAC,GAAG,CAAC,IAAI,YAAY,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAClG,MAAM,CAAC,YAAY,CAAC,uBAAuB,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,CAAA;gBACnE,IAAI,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YACnF,CAAC;YAED,IAAI,GAAG,YAAY,yCAAgC,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,CAAC,gCAAgC,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAEjE,OAAO,IAAA,gCAAwB,EAAC,WAAW,CAAC,CAAA;YAChD,CAAC;YAED,IAAI,GAAG,YAAY,0CAAiC,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,gCAAgC,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAEjE,MAAM,cAAc,GAAG,IAAA,gCAAwB,EAAC,oBAAoB,CAAC,CAAA;gBACrE,gCAAgC;gBAChC,IAAI,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;oBACnC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,4BAA4B,CAAA;gBAC9E,CAAC;gBAED,OAAO,cAAc,CAAA;YACzB,CAAC;YAED,MAAM,cAAc,GAAG,IAAA,2BAAmB,EAAC,GAAG,CAAC,CAAA;YAE/C,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAElD,OAAO,IAAA,gCAAwB,EAAC,cAAc,CAAC,CAAA;YACnD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAA;YAClF,OAAO,IAAI,gCAAa,CACpB,gCAAa,CAAC,aAAa,EAC3B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAC/D,CAAA;QACL,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACjD,QAAQ,EACR,MAAM,CAAC,SAAS,CAAC;gBACb,qBAAqB,EAAE,QAAQ,CAAC,SAAS,CAAC,cAAc;gBACxD,kBAAkB,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS;aACnD,CAAC,EACF,MAAM,CAAC,kBAAkB,CAC5B,CAAA;YAED,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,CAAA;YACpD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;YAEnE,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;gBAEjF,IAAI,iBAAiB,EAAE,CAAC;oBACpB,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE;wBACtD,YAAY,EAAE;4BACV,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,IAAI,KAAK;4BAC9D,WAAW,EAAE,cAAc,CAAC,WAAW;yBAC1C;qBACJ,CAAC,CAAA;oBAEF,IAAI,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;gBACtF,CAAC;YACL,CAAC;YAED,MAAM,CAAC,YAAY,CAAC,+BAA+B,EAAE,YAAY,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAA;YACtG,MAAM,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAEjF,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE;gBACtD,kBAAkB,EAAE;oBAChB,GAAG,cAAc;oBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS;oBACvC,eAAe,EAAE,IAAI,GAAG,CACpB,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO;wBACrC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;yBACnC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAC3C;iBACJ;aACJ,CAAC,CAAA;YAEF,OAAO,MAAM,CAAC,OAAO;gBACjB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU;gBACxB,CAAC,CAAC,IAAI,gCAAa,CAAa,gCAAa,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QAClF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,8CAA8C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;YAEzG,OAAO,IAAI,gCAAa,CACpB,gCAAa,CAAC,aAAa,EAC3B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,8CAA8C,CACtF,CAAA;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAoC;QACnE,yLAAyL;QACzL,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,aAAa,GAAG,EAAE,CAAA;YAExB,IAAI,CAAC,MAAM,CAAC,YAAY;gBAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC5D,IAAI,CAAC,MAAM,CAAC,cAAc;gBAAE,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAChE,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAE5C,IAAI,CAAC,IAAI,CACL,qFAAqF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClH,CAAA;YAED,OAAM;QACV,CAAC;QAED,IAAI,cAAc,GAAG,MAAM,CAAC,cAAc,CAAA;QAE1C,MAAM,WAAW,GAAG;YAChB,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YAClD,GAAG,EAAE,cAAc;SACtB,CAAA;QACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC/F,mGAAmG;QACnG,IAAI,UAAU,GAAG,eAAe,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACtD,wGAAwG;QACxG,IAAI,gBAAgB,GAAG,EAAE,CAAA;QACzB,IAAI,eAAe,GAAG,KAAK,CAAA;QAE3B,IAAI,UAAU,EAAE,CAAC;YACb,kEAAkE;YAClE,iGAAiG;YACjG,qIAAqI;YACrI,gBAAgB;gBACZ,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC;oBACzB,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAA;QAC3E,CAAC;aAAM,IAAI,eAAe,IAAI,cAAc,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACzD,qHAAqH;YACrH,sEAAsE;YACtE,oEAAoE;YACpE,IAAI,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAA;YAChG,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;YACvD,eAAe,GAAG,IAAI,CAAA;YACtB,cAAc,CAAC,SAAS,GAAG,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI;aAC7B,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACjB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACd,OAAO,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;YACnE,CAAC;YACD,8BAA8B;YAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9C,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEf,MAAM,aAAa,GAA6B;YAC5C,IAAI,EAAE;gBACF,eAAe,EAAE;oBACb,2BAAgB,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;wBAClE,mBAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC;qBAClD,CAAC;iBACL;aACJ;SACJ,CAAA;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;QAExF,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;YACrD,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;QACvF,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CACL,wCAAwC,WAAW,CAAC,aAAa,IAAI,4BAA4B,EAAE,CACtG,CAAA;QACL,CAAC;IACL,CAAC;IACD,qBAAqB,KAAI,CAAC;IAE1B,SAAS,CAAC,MAAqB,EAAE,MAAyB;QACtD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAElF,OAAO,OAAO,CAAA;IAClB,CAAC;IAED,iBAAiB,KAAI,CAAC;IAEtB,eAAe,KAAI,CAAC;IAEpB,WAAW,KAAI,CAAC;IAEhB,OAAO,KAAI,CAAC;IAEZ,cAAc,CAAC,EAAE,KAAK,EAAE,eAAe,EAAkB;QACrD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC;YAChC,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE;gBACF,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;oBACpB,IAAI,EAAE,oCAAoC;oBAC1C,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE;oBACxE,SAAS,EAAE,eAAe,CAAC,SAAS;oBACpC,MAAM,EAAE,eAAe,CAAC,cAAc;oBACtC,WAAW,EAAE,eAAe,CAAC,OAAO;iBACvC,CAAC;gBACF,8DAA8D;gBAC9D,SAAS,EAAE,UAAU;aACxB;SACJ,CAAC,CAAA;IACN,CAAC;IAED,iBAAiB,KAAI,CAAC;IAEtB,QAAQ,CAAC,MAAoB;QACzB,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;QAEpD,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClE,CAAC;IAED,WAAW,CAAC,MAAuB;QAC/B,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,8BAAsB,CAAC,qBAAqB;YAClD,IAAI,EAAE,EAAE;SACX,CAAC,CAAA;QAEF,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;QAEpD,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;YAC7C,IAAI,EAAE,8BAAsB,CAAC,sBAAsB;YACnD,IAAI,EAAE,EAAE;SACX,CAAC,CAAA;IACN,CAAC;IAED,WAAW,CAAC,MAAuB;QAC/B,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YACzD,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,CAAC;gBAC7C,IAAI,EAAE,8BAAsB,CAAC,qBAAqB;gBAClD,IAAI,EAAE,EAAE;aACX,CAAC,CAAA;YACF,IAAI,CAAC,oBAAoB,CAAC,WAAW,GAAG,SAAS,CAAA;QACrD,CAAC;QAED,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9D,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9D,CAAC;IAED,aAAa,CAAC,MAAyB,EAAE,kBAAqC;QAC1E,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC;YACzB,KAAK,0BAAW,CAAC,KAAK,CAAC,CAAC,CAAC;gBACrB,MAAM,aAAa,GAAG,IAAI,CAAC,6BAA6B,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAEjF,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;oBACrC,IAAI,EAAE,8BAAsB,CAAC,UAAU;oBACvC,IAAI,EAAE;wBACF,oBAAoB,EAAE,MAAM,CAAC,WAAW;qBAC3C;iBACJ,CAAC,CAAA;gBAEF,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBAE1D,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA;gBAE3B,OAAO,EAAE,CAAA;YACb,CAAC;YAED,KAAK,0BAAW,CAAC,IAAI;gBACjB,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;oBACrC,IAAI,EAAE,8BAAsB,CAAC,UAAU;oBACvC,IAAI,EAAE;wBACF,oBAAoB,EAAE,MAAM,CAAC,WAAW;qBAC3C;iBACJ,CAAC,CAAA;gBACF,OAAO;oBACH,SAAS,EAAE,IAAA,SAAI,GAAE;oBACjB,IAAI,EAAE,wBAAY;iBACrB,CAAA;YACL;gBACI,OAAO,EAAE,CAAA;QACjB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAkB,EAAE,MAAyC;QAClF,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAExF,IAAI,cAA8B,CAAA;QAElC,wDAAwD;QACxD,4CAA4C;QAC5C,IAAI,kBAAkB,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,MAAM,CAAC,KAAK,EAAE;gBACxE,kBAAkB,EAAE,kBAAkB,CAAC,SAAU;gBACjD,wBAAwB,EAAE,2BAAmB,CAAC,aAAa;aAC9D,CAAC,CAAA;YAEF,cAAc,GAAG,kBAAkB,CAAA;QACvC,CAAC;aAAM,CAAC;YACJ,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;YACxE,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAA;QACrG,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACb,mBAAmB,EAAE,cAAc,EAAE,UAAU;YAC/C,4BAA4B,EAAE,cAAc,EAAE,mBAAmB,EAAE,YAAY;YAC/E,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;YAC1D,2BAA2B,EAAE,cAAc,EAAE,WAAW;YACxD,uBAAuB,EAAE,cAAc,CAAC,cAAc,IAAI,KAAK;YAC/D,oCAAoC,EAAE,cAAc,CAAC,qBAAqB,IAAI,CAAC;SAClF,CAAC,CAAA;QAEF,OAAO,cAAc,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC7B,QAAkC,EAClC,MAA+B,EAC/B,kBAAoC;QAEpC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAU,CAAA;QAC/C,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAE9D,IAAI,KAAK,EAAE,MAAM,SAAS,IAAI,QAAQ,CAAC,mBAAoB,EAAE,CAAC;YAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;YAE7D,yCAAyC;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAA;YACjB,CAAC;YAED,IAAI,CAAC,IAAA,iBAAS,EAAC,kBAAkB,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,0BAAe,EAAE,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACtG,CAAC;QACL,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;YACb,4BAA4B,EAAE,MAAM,CAAC,cAAc,EAAE;YACrD,sBAAsB,EAAE,eAAe,CAAC,WAAW,CAAC,mBAAmB;YACvE,wBAAwB,EAAE,eAAe,CAAC,WAAW,CAAC,kBAAkB;YACxE,wBAAwB,EAAE,eAAe,CAAC,WAAW,CAAC,0BAA0B;YAChF,uBAAuB,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;SAC7D,CAAC,CAAA;QAEF,OAAO,eAAe,CAAC,SAAS,EAAE,CAAA;IACtC,CAAC;IAED,mBAAmB,GAAG,KAAK,IAAI,EAAE;QAC7B,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,8CAAuB,CAAC,CAAA;YAC5F,IAAI,OAAO,EAAE,CAAC;gBACV,IAAI,CAAC,iBAAiB,GAAG,oBAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;gBAC1E,IAAI,CAAC,IAAI,CAAC,qCAAqC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;gBACxE;;;kBAGE;gBACF,kDAAkD;gBAClD,sGAAsG;gBACtG,MAAM,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;gBAC1F,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,yBAAyB,CAAC,CAAA;YAC5E,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAA;QACpD,CAAC;IACL,CAAC,CAAA;IAED,IAAI,CAAC,GAAG,QAAkB;QACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAClD,CAAC;CACJ;AA/aD,sDA+aC"}
|
|
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("
|
|
12
|
-
const telemetryUtils_1 = require("
|
|
13
|
-
const AmazonQTokenServiceManager_1 = require("
|
|
14
|
-
const
|
|
15
|
-
const
|
|
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
|
-
|
|
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":";AAAA;;;GAGG;;;AAGH,mEAA+D;AAC/D,uFAAmF;AACnF,uDAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"qAgenticChatServer.js","sourceRoot":"","sources":["../../../src/language-server/agenticChat/qAgenticChatServer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,mEAA+D;AAC/D,uFAAmF;AACnF,uDAA4E;AAC5E,8EAA0E;AAC1E,gEAAmE;AACnE,8GAA0G;AAC1G,8CAA4C;AAC5C,sEAA6F;AAEtF,MAAM,kBAAkB;AAC3B,kBAAkB;AAClB,GAAW,EAAE,CAAC,QAAQ,CAAC,EAAE;IACrB,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAA;IAEhF,IAAI,qBAAiD,CAAA;IACrD,IAAI,cAAqC,CAAA;IACzC,IAAI,4BAA0D,CAAA;IAC9D,IAAI,gBAAkC,CAAC;IAEvC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAwB,EAAE,EAAE;QAC5C,OAAO;YACH,YAAY,EAAE,EAAE;YAChB,qBAAqB,EAAE;gBACnB,WAAW,EAAE;oBACT,YAAY,EAAE;wBACV,yBAAyB,EAAE;4BACvB;gCACI,QAAQ,EAAE,CAAC,gCAAiB,EAAE,iCAAkB,CAAC;6BACpD;yBACJ;qBACJ;iBACJ;aACJ;SACJ,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,MAAM,0BAA0B,GAAG,KAAK,IAAI,EAAE;QAC1C,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,4BAA4B,EAAE,CAAA;QAChF,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;IACrD,CAAC,CAAA;IAED,GAAG,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;QACzB,2FAA2F;QAC3F,qBAAqB,GAAG,uDAA0B,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;QACxE,4BAA4B,GAAG,2DAA4B;aACtD,WAAW,EAAE;aACb,yBAAyB,CAAC,qBAAqB,CAAC,CAAA;QAErD,gBAAgB,GAAG,IAAI,mCAAgB,CACnC,qBAAqB,EACrB,mBAAmB,EACnB,SAAS,EACT,OAAO,CACV,CAAA;QAED,MAAM,YAAY,GAAG,IAAA,eAAO,EAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,IAAI,0CAAiC,CAC/F,qEAAqE,CAAC,CAAC,CAAA;QAE3E,gBAAgB,CAAC,iBAAiB,CAAC,IAAA,sCAAqB,EAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;QAEjG,cAAc,GAAG,IAAI,6CAAqB,CAAC,4BAA4B,EAAE,QAAQ,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAA;QAE3H,MAAM,0BAA0B,EAAE,CAAA;IACtC,CAAC,CAAC,CAAA;IACF,GAAG,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,CAAA;IAEtD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACnB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE1C,OAAO,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE/C,OAAO,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE5C,OAAO,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;QACxC,OAAO,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAA;IAC9C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACnC,OAAO,cAAc,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAClC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;QAC1C,OAAO,cAAc,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE;QAC7B,OAAO,cAAc,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;QACzB,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,EAAE;QACvC,OAAO,cAAc,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;IAEjD,OAAO,GAAG,EAAE;QACR,cAAc,EAAE,OAAO,EAAE,CAAA;IAC7B,CAAC,CAAA;AACL,CAAC,CAAA;AA3GQ,QAAA,kBAAkB,sBA2G1B"}
|
|
@@ -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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"}
|