Skip to content

Commit 7c2ca19

Browse files
authored
fix(amazonq): fix lsp warning about unsupported 'aws/chat/sendContextCommands' (#5692)
1 parent 5bc64af commit 7c2ca19

File tree

4 files changed

+48
-37
lines changed

4 files changed

+48
-37
lines changed

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp
66
import org.eclipse.lsp4j.jsonrpc.services.JsonNotification
77
import org.eclipse.lsp4j.jsonrpc.services.JsonRequest
88
import org.eclipse.lsp4j.services.LanguageClient
9+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.LSPAny
10+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SEND_CONTEXT_COMMANDS
911
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SEND_UPDATE
1012
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatUpdateParams
1113
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.GET_SERIALIZED_CHAT_REQUEST_METHOD
@@ -43,4 +45,7 @@ interface AmazonQLanguageClient : LanguageClient {
4345

4446
@JsonNotification(OPEN_FILE_DIFF)
4547
fun openFileDiff(params: OpenFileDiffParams): CompletableFuture<Unit>
48+
49+
@JsonNotification(CHAT_SEND_CONTEXT_COMMANDS)
50+
fun sendContextCommands(params: LSPAny): CompletableFuture<Unit>
4651
}

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
3333
import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
3434
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AsyncChatUiListener
3535
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.ChatCommunicationManager
36+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.LSPAny
3637
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_OPEN_TAB
38+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SEND_CONTEXT_COMMANDS
3739
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SEND_UPDATE
3840
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ChatUpdateParams
3941
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.GET_SERIALIZED_CHAT_REQUEST_METHOD
@@ -340,6 +342,19 @@ class AmazonQLanguageClientImpl(private val project: Project) : AmazonQLanguageC
340342
ApplicationManager.getApplication()::invokeLater
341343
)
342344

345+
override fun sendContextCommands(params: LSPAny): CompletableFuture<Unit> {
346+
val showContextCommands = """
347+
{
348+
"command":"$CHAT_SEND_CONTEXT_COMMANDS",
349+
"params": ${Gson().toJson(params)}
350+
}
351+
""".trimIndent()
352+
353+
AsyncChatUiListener.notifyPartialMessageUpdate(showContextCommands)
354+
355+
return CompletableFuture.completedFuture(Unit)
356+
}
357+
343358
companion object {
344359
private val LOG = getLogger<AmazonQLanguageClientImpl>()
345360
}

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

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
@file:Suppress("BannedImports")
44
package software.aws.toolkits.jetbrains.services.amazonq.lsp
55

6-
import com.google.gson.Gson
76
import com.google.gson.ToNumberPolicy
87
import com.intellij.execution.configurations.GeneralCommandLine
98
import com.intellij.execution.impl.ExecutionManagerImpl
@@ -43,7 +42,6 @@ import org.eclipse.lsp4j.WorkspaceClientCapabilities
4342
import org.eclipse.lsp4j.jsonrpc.Launcher
4443
import org.eclipse.lsp4j.jsonrpc.Launcher.Builder
4544
import org.eclipse.lsp4j.jsonrpc.MessageConsumer
46-
import org.eclipse.lsp4j.jsonrpc.messages.NotificationMessage
4745
import org.eclipse.lsp4j.jsonrpc.messages.ResponseMessage
4846
import org.eclipse.lsp4j.launch.LSPLauncher
4947
import org.slf4j.event.Level
@@ -56,7 +54,6 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.auth.DefaultAuthCred
5654
import software.aws.toolkits.jetbrains.services.amazonq.lsp.dependencies.DefaultModuleDependenciesService
5755
import software.aws.toolkits.jetbrains.services.amazonq.lsp.encryption.JwtEncryptionManager
5856
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AmazonQLspTypeAdapterFactory
59-
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AsyncChatUiListener
6057
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AwsExtendedInitializeResult
6158
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AwsServerCapabilitiesProvider
6259
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.createExtendedClientMetadata
@@ -281,23 +278,12 @@ private class AmazonQServerInstance(private val project: Project, private val cs
281278

282279
launcher = LSPLauncher.Builder<AmazonQLanguageServer>()
283280
.wrapMessages { consumer ->
284-
MessageConsumer {
285-
message ->
281+
MessageConsumer { message ->
286282
if (message is ResponseMessage && message.result is AwsExtendedInitializeResult) {
287283
val result = message.result as AwsExtendedInitializeResult
288284
AwsServerCapabilitiesProvider.getInstance(project).setAwsServerCapabilities(result.getAwsServerCapabilities())
289285
AmazonQLspService.getInstance(project).notifyInitializeMessageReceived()
290286
}
291-
if (message is NotificationMessage && message.method == "aws/chat/sendContextCommands") {
292-
val showContextCommands = """
293-
{
294-
"command":"aws/chat/sendContextCommands",
295-
"params": ${Gson().toJson(message.params)}
296-
}
297-
""".trimIndent()
298-
299-
AsyncChatUiListener.notifyPartialMessageUpdate(showContextCommands)
300-
}
301287
consumer?.consume(message)
302288
}
303289
}

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

Lines changed: 27 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,40 @@
33

44
package software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat
55

6-
const val SEND_CHAT_COMMAND_PROMPT = "aws/chat/sendChatPrompt"
7-
const val CHAT_QUICK_ACTION = "aws/chat/sendChatQuickAction"
8-
const val CHAT_READY = "aws/chat/ready"
9-
const val CHAT_LINK_CLICK = "aws/chat/linkClick"
10-
const val CHAT_INFO_LINK_CLICK = "aws/chat/infoLinkClick"
11-
const val CHAT_SOURCE_LINK_CLICK = "aws/chat/sourceLinkClick"
12-
const val PROMPT_INPUT_OPTIONS_CHANGE = "aws/chat/promptInputOptionChange"
13-
const val CHAT_PROMPT_OPTION_ACKNOWLEDGED = "chatPromptOptionAcknowledged"
14-
const val CHAT_FEEDBACK = "aws/chat/feedback"
15-
const val CHAT_FOLLOW_UP_CLICK = "aws/chat/followUpClick"
16-
const val CHAT_LIST_CONVERSATIONS = "aws/chat/listConversations"
17-
const val CHAT_CONVERSATION_CLICK = "aws/chat/conversationClick"
18-
const val CHAT_FILE_CLICK = "aws/chat/fileClick"
19-
const val CHAT_TAB_ADD = "aws/chat/tabAdd"
20-
const val CHAT_TAB_CHANGE = "aws/chat/tabChange"
21-
const val CHAT_TAB_REMOVE = "aws/chat/tabRemove"
22-
const val CHAT_OPEN_TAB = "aws/chat/openTab"
236
const val CHAT_BUTTON_CLICK = "aws/chat/buttonClick"
24-
const val CHAT_DISCLAIMER_ACKNOWLEDGED = "disclaimerAcknowledged"
7+
const val CHAT_CONVERSATION_CLICK = "aws/chat/conversationClick"
258
const val CHAT_COPY_CODE_TO_CLIPBOARD = "copyToClipboard"
269
const val CHAT_COPY_CODE_TO_CLIPBOARD_NOTIFICATION = "aws/chat/copyCodeToClipboard"
10+
const val CHAT_CREATE_PROMPT = "aws/chat/createPrompt"
11+
const val CHAT_DISCLAIMER_ACKNOWLEDGED = "disclaimerAcknowledged"
12+
const val CHAT_ERROR_PARAMS = "errorMessage"
13+
const val CHAT_FEEDBACK = "aws/chat/feedback"
14+
const val CHAT_FILE_CLICK = "aws/chat/fileClick"
15+
const val CHAT_FOLLOW_UP_CLICK = "aws/chat/followUpClick"
16+
const val CHAT_INFO_LINK_CLICK = "aws/chat/infoLinkClick"
2717
const val CHAT_INSERT_TO_CURSOR = "insertToCursorPosition"
2818
const val CHAT_INSERT_TO_CURSOR_NOTIFICATION = "aws/chat/insertToCursorPosition"
29-
const val CHAT_TAB_BAR_ACTIONS = "aws/chat/tabBarAction"
19+
const val CHAT_LINK_CLICK = "aws/chat/linkClick"
20+
const val CHAT_LIST_CONVERSATIONS = "aws/chat/listConversations"
21+
const val CHAT_OPEN_TAB = "aws/chat/openTab"
22+
const val CHAT_PROMPT_OPTION_ACKNOWLEDGED = "chatPromptOptionAcknowledged"
23+
const val CHAT_QUICK_ACTION = "aws/chat/sendChatQuickAction"
24+
const val CHAT_READY = "aws/chat/ready"
25+
const val CHAT_SEND_CONTEXT_COMMANDS = "aws/chat/sendContextCommands"
3026
const val CHAT_SEND_UPDATE = "aws/chat/sendChatUpdate"
31-
const val CHAT_CREATE_PROMPT = "aws/chat/createPrompt"
32-
const val SHOW_SAVE_FILE_DIALOG_REQUEST_METHOD = "aws/showSaveFileDialog"
27+
const val CHAT_SOURCE_LINK_CLICK = "aws/chat/sourceLinkClick"
28+
const val CHAT_TAB_ADD = "aws/chat/tabAdd"
29+
const val CHAT_TAB_BAR_ACTIONS = "aws/chat/tabBarAction"
30+
const val CHAT_TAB_CHANGE = "aws/chat/tabChange"
31+
const val CHAT_TAB_REMOVE = "aws/chat/tabRemove"
32+
3333
const val GET_SERIALIZED_CHAT_REQUEST_METHOD = "aws/chat/getSerializedChat"
34+
3435
const val OPEN_FILE_DIFF = "aws/openFileDiff"
35-
const val CHAT_ERROR_PARAMS = "errorMessage"
36+
37+
const val PROMPT_INPUT_OPTIONS_CHANGE = "aws/chat/promptInputOptionChange"
38+
39+
const val SEND_CHAT_COMMAND_PROMPT = "aws/chat/sendChatPrompt"
40+
const val SHOW_SAVE_FILE_DIALOG_REQUEST_METHOD = "aws/showSaveFileDialog"
3641
const val STOP_CHAT_RESPONSE = "stopChatResponse"
3742
const val OPEN_SETTINGS = "openSettings"

0 commit comments

Comments
 (0)