Skip to content

Commit 80b8765

Browse files
committed
add feedback message
1 parent 98a43b5 commit 80b8765

File tree

4 files changed

+35
-0
lines changed

4 files changed

+35
-0
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,11 +29,13 @@ 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_QUICK_ACTION
32+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_FEEDBACK
3233
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatParams
3334
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatPrompt
3435
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CursorState
3536
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedChatParams
3637
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedQuickActionChatParams
38+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FeedbackNotification
3739
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.QuickChatActionRequest
3840
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.SEND_CHAT_COMMAND_PROMPT
3941
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.SendChatPromptRequest
@@ -205,6 +207,12 @@ class BrowserConnector(
205207

206208
showResult(result, partialResultToken, tabId, encryptionManager, browser)
207209
}
210+
CHAT_FEEDBACK -> {
211+
val requestFromUi = serializer.deserializeChatMessages(node, FeedbackNotification::class.java)
212+
AmazonQLspService.executeIfRunning(project) { server ->
213+
server.feedback(requestFromUi.params)
214+
} ?: CompletableFuture.failedFuture<Unit>(IllegalStateException("LSP Server not running"))
215+
}
208216
}
209217
}
210218

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
@@ -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.chat.EncryptedChatParams
1313
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedQuickActionChatParams
14+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.FeedbackParams
1415
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.credentials.UpdateCredentialsPayload
1516
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.dependencies.DidChangeDependencyPathsParams
1617
import java.util.concurrent.CompletableFuture
@@ -37,4 +38,7 @@ interface AmazonQLanguageServer : LanguageServer {
3738

3839
@JsonRequest("aws/chat/sendChatQuickAction")
3940
fun sendQuickAction(params: EncryptedQuickActionChatParams): CompletableFuture<String>
41+
42+
@JsonNotification("aws/chat/feedback")
43+
fun feedback(params: FeedbackParams): CompletableFuture<Unit>
4044
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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 FeedbackNotification(
7+
val command: String,
8+
val params: FeedbackParams
9+
)
10+
11+
data class FeedbackParams(
12+
val tabId: String,
13+
val feedbackPayload: FeedbackPayload,
14+
val eventId: String?
15+
)
16+
17+
data class FeedbackPayload(
18+
val messageId: String,
19+
val tabId: String,
20+
val selectedOption: String,
21+
val comment: String? = null,
22+
)

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,3 +5,4 @@ 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_FEEDBACK = "aws/chat/feedback"

0 commit comments

Comments
 (0)