Skip to content

Commit 78f1d42

Browse files
feat(amazonq): client emits followUpClick when chat follow up is selected (#5596)
* 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 followUpClick handling * fix deserialization bug * line not needed * feedback * remove showResult call --------- Co-authored-by: Manodnya Bhoite <[email protected]> Co-authored-by: manodnyab <[email protected]>
1 parent a50abba commit 78f1d42

File tree

6 files changed

+34
-5
lines changed

6 files changed

+34
-5
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.encryption.JwtEncryp
2929
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.ChatCommunicationManager
3030
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.getTextDocumentIdentifier
3131
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_FEEDBACK
32+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_FOLLOW_UP_CLICK
3233
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_INFO_LINK_CLICK
3334
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_LINK_CLICK
3435
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_QUICK_ACTION
@@ -43,6 +44,8 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.Encry
4344
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedQuickActionChatParams
4445
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FeedbackNotification
4546
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FeedbackParams
47+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FollowUpClickNotification
48+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FollowUpClickParams
4649
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.InfoLinkClickNotification
4750
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.InfoLinkClickParams
4851
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LinkClickNotification
@@ -247,6 +250,11 @@ class BrowserConnector(
247250
server.sourceLinkClick(params)
248251
}
249252
}
253+
CHAT_FOLLOW_UP_CLICK -> {
254+
handleChatNotification<FollowUpClickNotification, FollowUpClickParams>(node) { server, params ->
255+
server.followUpClick(params)
256+
}
257+
}
250258
}
251259
}
252260

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.GetConfigu
1111
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.LspServerConfigurations
1212
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.UpdateConfigurationParams
1313
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_FEEDBACK
14+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_FOLLOW_UP_CLICK
1415
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_INFO_LINK_CLICK
1516
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_LINK_CLICK
1617
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_QUICK_ACTION
@@ -19,6 +20,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_
1920
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedChatParams
2021
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedQuickActionChatParams
2122
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FeedbackParams
23+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FollowUpClickParams
2224
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.InfoLinkClickParams
2325
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LinkClickParams
2426
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.SEND_CHAT_COMMAND_PROMPT
@@ -67,4 +69,7 @@ interface AmazonQLanguageServer : LanguageServer {
6769

6870
@JsonNotification(CHAT_SOURCE_LINK_CLICK)
6971
fun sourceLinkClick(params: SourceLinkClickParams): CompletableFuture<Unit>
72+
73+
@JsonNotification(CHAT_FOLLOW_UP_CLICK)
74+
fun followUpClick(params: FollowUpClickParams): CompletableFuture<Unit>
7075
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ data class MidChatPrompt(
2222
data class InnerChatPrompt(
2323
val prompt: String,
2424
val escapedPrompt: String,
25-
val context: List<String>,
25+
val context: List<String>? = null,
2626
)

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ data class SourceLink(
3838

3939
data class ChatItemAction(
4040
val pillText: String,
41-
val prompt: String,
42-
val disabled: Boolean,
43-
val description: String,
44-
val type: String,
41+
val prompt: String? = null,
42+
val disabled: Boolean? = null,
43+
val description: String? = null,
44+
val type: String? = null,
4545
)
4646

4747
data class RecommendationContentSpan(

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
@@ -10,3 +10,4 @@ const val CHAT_LINK_CLICK = "aws/chat/linkClick"
1010
const val CHAT_INFO_LINK_CLICK = "aws/chat/infoLinkClick"
1111
const val CHAT_SOURCE_LINK_CLICK = "aws/chat/sourceLinkClick"
1212
const val CHAT_FEEDBACK = "aws/chat/feedback"
13+
const val CHAT_FOLLOW_UP_CLICK = "aws/chat/followUpClick"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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 FollowUpClickNotification(
7+
override val command: String,
8+
override val params: FollowUpClickParams,
9+
) : ChatNotification<FollowUpClickParams>
10+
11+
data class FollowUpClickParams(
12+
val tabId: String,
13+
val messageId: String,
14+
val followUp: ChatItemAction,
15+
)

0 commit comments

Comments
 (0)