From 79ea537868583d95c2fad71ec7d27caf872284dd Mon Sep 17 00:00:00 2001 From: Andrew Yu Date: Tue, 6 May 2025 14:46:52 -0700 Subject: [PATCH 1/2] fix context transparency list to make it work --- .../amazonq/webview/BrowserConnector.kt | 1 + .../AwsServerCapabilitiesProvider.kt | 36 +++++++++++++++---- .../amazonq/lsp/model/aws/chat/ChatPrompt.kt | 6 ++-- .../lsp/model/aws/chat/SendChatPrompt.kt | 2 ++ 4 files changed, 36 insertions(+), 9 deletions(-) diff --git a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/BrowserConnector.kt b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/BrowserConnector.kt index ebe5858d97e..ce1b52fea82 100644 --- a/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/BrowserConnector.kt +++ b/plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/webview/BrowserConnector.kt @@ -239,6 +239,7 @@ class BrowserConnector( chatPrompt, textDocumentIdentifier, cursorState, + context = requestFromUi.params.context ) val tabId = requestFromUi.params.tabId diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt index 07f7ed1f2f4..24212e471e9 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt @@ -6,6 +6,7 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat import com.intellij.openapi.components.Service import com.intellij.openapi.components.service import com.intellij.openapi.project.Project +import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.IconType @Service(Service.Level.PROJECT) class AwsServerCapabilitiesProvider { @@ -25,8 +26,8 @@ class AwsServerCapabilitiesProvider { listOf( QuickActionsCommandGroups( listOf( - Command("/help", "Learn more about Amazon Q then"), - Command("/clear", "Clear this session") + QuickActionCommand("/help", "Learn more about Amazon Q then"), + QuickActionCommand("/clear", "Clear this session") ) ) ) @@ -52,10 +53,33 @@ data class QuickActions( ) data class QuickActionsCommandGroups( - val commands: List, + val commands: List, ) -data class Command( - val command: String, - val description: String?, +open class QuickActionCommand( + open val command: String, + open val description: String, + open val placeholder: String? = null, + open val icon: IconType? = null, +) + +data class ContextCommand( + val id: String?, + val route: List?, + val label: String?, + val children: ContextCommandGroup?, + override val command: String, + override val description: String, + override val placeholder: String? = null, + override val icon: IconType? = null, +) : QuickActionCommand( + command = command, + description = description, + placeholder = placeholder, + icon = icon +) + +data class ContextCommandGroup( + val groupName: String?, + val commands: List, ) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/ChatPrompt.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/ChatPrompt.kt index 3e5f430c17a..e01c9fdff37 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/ChatPrompt.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/ChatPrompt.kt @@ -4,7 +4,7 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat import com.fasterxml.jackson.annotation.JsonProperty -import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.Command +import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.ContextCommand data class ChatPrompt( val prompt: String, @@ -20,13 +20,13 @@ data class SendChatPromptRequest( data class MidChatPrompt( val prompt: InnerChatPrompt, val tabId: String, - val context: List?, + val context: List?, ) data class InnerChatPrompt( val prompt: String, val escapedPrompt: String, - val context: List? = null, + val context: List? = null, val options: InnerChatOptions?, ) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/SendChatPrompt.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/SendChatPrompt.kt index 4eb32d622d5..ae58bf8c45d 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/SendChatPrompt.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/model/aws/chat/SendChatPrompt.kt @@ -4,12 +4,14 @@ package software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat import org.eclipse.lsp4j.TextDocumentIdentifier +import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.ContextCommand data class ChatParams( val tabId: String, val prompt: ChatPrompt, val textDocument: TextDocumentIdentifier, val cursorState: CursorState, + val context: List?, ) data class EncryptedChatParams( From 26728b9975e9695c7684d658ae3e31d471e48405 Mon Sep 17 00:00:00 2001 From: Andrew Yu Date: Tue, 6 May 2025 15:28:18 -0700 Subject: [PATCH 2/2] make description fields nullable --- .../amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt index 24212e471e9..ad867d062e5 100644 --- a/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt +++ b/plugins/amazonq/shared/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonq/lsp/flareChat/AwsServerCapabilitiesProvider.kt @@ -58,7 +58,7 @@ data class QuickActionsCommandGroups( open class QuickActionCommand( open val command: String, - open val description: String, + open val description: String?, open val placeholder: String? = null, open val icon: IconType? = null, ) @@ -69,7 +69,7 @@ data class ContextCommand( val label: String?, val children: ContextCommandGroup?, override val command: String, - override val description: String, + override val description: String?, override val placeholder: String? = null, override val icon: IconType? = null, ) : QuickActionCommand(