Skip to content

Commit 6348f5e

Browse files
committed
add endChat message
1 parent e259071 commit 6348f5e

File tree

4 files changed

+37
-0
lines changed

4 files changed

+37
-0
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/BrowserConnector.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatP
3232
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatPrompt
3333
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CursorState
3434
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedChatParams
35+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EndChatParams
36+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LspCommands
3537
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.SendChatPromptRequest
3638
import software.aws.toolkits.jetbrains.services.amazonq.util.command
3739
import software.aws.toolkits.jetbrains.services.amazonq.util.tabType
@@ -193,6 +195,17 @@ class BrowserConnector(
193195
browser.postChat(messageToChat)
194196
}
195197
}
198+
199+
LspCommands.END_CHAT -> {
200+
val requestFromUi = jacksonObjectMapper().readValue(node.toString(), EndChatParams::class.java)
201+
202+
val endChatParams = EndChatParams(requestFromUi.tabId)
203+
val result = AmazonQLspService.executeIfRunning(project) { server ->
204+
server.endChat(endChatParams)
205+
} ?: CompletableFuture.failedFuture(IllegalStateException("LSP Server not running"))
206+
207+
println(result)
208+
}
196209
}
197210
}
198211
}

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/AmazonQLanguageServer.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import org.eclipse.lsp4j.services.LanguageServer
1010
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.GetConfigurationFromServerParams
1111
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.LspServerConfigurations
1212
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedChatParams
13+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EndChatParams
1314
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.credentials.UpdateCredentialsPayload
1415
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies.DidChangeDependencyPathsParams
1516
import java.util.concurrent.CompletableFuture
@@ -33,4 +34,7 @@ interface AmazonQLanguageServer : LanguageServer {
3334

3435
@JsonRequest("aws/chat/sendChatPrompt")
3536
fun sendChatPrompt(params: EncryptedChatParams): CompletableFuture<String>
37+
38+
@JsonRequest("aws/chat/endChat")
39+
fun endChat(params: EndChatParams) : CompletableFuture<Boolean>
3640
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat
5+
6+
data class EndChatParams(
7+
val tabId: String
8+
)
9+
10+
data class EndChatResult(
11+
val status: Boolean
12+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat
5+
6+
object LspCommands{
7+
const val END_CHAT = "aws/chat/endChat"
8+
}

0 commit comments

Comments
 (0)