Skip to content

Commit f1842bf

Browse files
feat(amazonq): client emits ready message when Q chat is ready (#5597)
* Set up Flare chat connection * Partial chat results * feedback * detekt * syntax error * detekt * detekt * Add quick actions to chat * adding commands from initialize result * added trace logging * add aws/chat/ready * feedback * detekt --------- Co-authored-by: Manodnya Bhoite <[email protected]> Co-authored-by: manodnyab <[email protected]>
1 parent d215249 commit f1842bf

File tree

4 files changed

+21
-0
lines changed

4 files changed

+21
-0
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.getTextDoc
3131
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_INFO_LINK_CLICK
3232
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_LINK_CLICK
3333
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_QUICK_ACTION
34+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_READY
3435
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SOURCE_LINK_CLICK
3536
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatNotification
3637
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatParams
3738
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatPrompt
39+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatReadyNotification
3840
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CursorState
3941
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedChatParams
4042
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedQuickActionChatParams
@@ -215,6 +217,11 @@ class BrowserConnector(
215217

216218
showResult(result, partialResultToken, tabId, encryptionManager, browser)
217219
}
220+
CHAT_READY -> {
221+
handleChatNotification<ChatReadyNotification, Unit>(node) { server, _ ->
222+
server.chatReady()
223+
}
224+
}
218225
CHAT_LINK_CLICK -> {
219226
handleChatNotification<LinkClickNotification, LinkClickParams>(node) { server, params ->
220227
server.linkClick(params)

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
@@ -13,6 +13,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.UpdateConf
1313
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_INFO_LINK_CLICK
1414
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_LINK_CLICK
1515
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_QUICK_ACTION
16+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_READY
1617
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SOURCE_LINK_CLICK
1718
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedChatParams
1819
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedQuickActionChatParams
@@ -50,6 +51,9 @@ interface AmazonQLanguageServer : LanguageServer {
5051
@JsonRequest(CHAT_QUICK_ACTION)
5152
fun sendQuickAction(params: EncryptedQuickActionChatParams): CompletableFuture<String>
5253

54+
@JsonNotification(CHAT_READY)
55+
fun chatReady(): CompletableFuture<Unit>
56+
5357
@JsonNotification(CHAT_LINK_CLICK)
5458
fun linkClick(params: LinkClickParams): CompletableFuture<Unit>
5559

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
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 ChatReadyNotification(
7+
override val command: String,
8+
override val params: Unit = Unit,
9+
) : ChatNotification<Unit>

plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/FlareChatCommands.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat
55

66
const val SEND_CHAT_COMMAND_PROMPT = "aws/chat/sendChatPrompt"
77
const val CHAT_QUICK_ACTION = "aws/chat/sendChatQuickAction"
8+
const val CHAT_READY = "aws/chat/ready"
89
const val CHAT_LINK_CLICK = "aws/chat/linkClick"
910
const val CHAT_INFO_LINK_CLICK = "aws/chat/infoLinkClick"
1011
const val CHAT_SOURCE_LINK_CLICK = "aws/chat/sourceLinkClick"

0 commit comments

Comments
 (0)