Skip to content

Commit 6948478

Browse files
committed
pr comment
1 parent fef927b commit 6948478

File tree

7 files changed

+29
-89
lines changed

7 files changed

+29
-89
lines changed

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.Encry
7272
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.EncryptedQuickActionChatParams
7373
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.GET_SERIALIZED_CHAT_REQUEST_METHOD
7474
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.GetSerializedChatResponse
75+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LIST_MCP_SERVERS_REQUEST_METHOD
76+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.MCP_SERVER_CLICK_REQUEST_METHOD
7577
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.OPEN_SETTINGS
7678
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.OPEN_WORKSPACE_SETTINGS_KEY
7779
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.OpenSettingsNotification
@@ -83,8 +85,6 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.PROMP
8385
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.QuickChatActionRequest
8486
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.SEND_CHAT_COMMAND_PROMPT
8587
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.STOP_CHAT_RESPONSE
86-
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LIST_MCP_SERVERS_REQUEST_METHOD
87-
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.MCP_SERVER_CLICK_REQUEST_METHOD
8888
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.SendChatPromptRequest
8989
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.StopResponseMessage
9090
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.TELEMETRY_EVENT
@@ -570,7 +570,6 @@ class BrowserConnector(
570570
}
571571
}
572572
}
573-
574573
} as () -> CompletableFuture<Response>
575574
serverAction(requestFromUi, invokeService)
576575
} ?: CompletableFuture.failedFuture<Response>(IllegalStateException("LSP Server not running"))

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

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package software.aws.toolkits.jetbrains.services.amazonq.lsp
55

66
import org.eclipse.lsp4j.jsonrpc.json.JsonRpcMethodProvider
7+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.LSPAny
78
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ButtonClickParams
89
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ButtonClickResult
910
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_BUTTON_CLICK
@@ -40,9 +41,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.Inser
4041
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LIST_MCP_SERVERS_REQUEST_METHOD
4142
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LinkClickParams
4243
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ListConversationsParams
43-
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ListMcpServersParams
4444
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.MCP_SERVER_CLICK_REQUEST_METHOD
45-
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.McpServerClickParams
4645
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.PROMPT_INPUT_OPTIONS_CHANGE
4746
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.PromptInputOptionChangeParams
4847
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.SEND_CHAT_COMMAND_PROMPT
@@ -180,14 +179,14 @@ object AmazonQChatServer : JsonRpcMethodProvider {
180179

181180
val listMcpServers = JsonRpcRequest(
182181
LIST_MCP_SERVERS_REQUEST_METHOD,
183-
ListMcpServersParams::class.java,
184-
Any::class.java
182+
LSPAny::class.java,
183+
LSPAny::class.java
185184
)
186185

187186
val mcpServerClick = JsonRpcRequest(
188187
MCP_SERVER_CLICK_REQUEST_METHOD,
189-
McpServerClickParams::class.java,
190-
Any::class.java
188+
LSPAny::class.java,
189+
LSPAny::class.java
191190
)
192191

193192
val conversationClick = JsonRpcRequest(

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ import software.aws.toolkits.telemetry.LanguageServerSetupStage
2323
import software.aws.toolkits.telemetry.Telemetry
2424
import java.nio.file.Files
2525
import java.nio.file.Path
26-
import java.nio.file.Paths
2726
import java.util.concurrent.atomic.AtomicInteger
2827

29-
class ArtifactHelper(private val lspArtifactsPath: Path = DEFAULT_ARTIFACT_PATH, private val maxDownloadAttempts: Int = MAX_DOWNLOAD_ATTEMPTS) {
28+
class ArtifactHelper(private val lspArtifactsPath: Path = getArtifactPath(), private val maxDownloadAttempts: Int = MAX_DOWNLOAD_ATTEMPTS) {
3029

3130
companion object {
32-
private val DEFAULT_ARTIFACT_PATH = getToolkitsCommonCacheRoot().resolve(Paths.get("aws", "toolkits", "language-servers", "AmazonQ-JetBrains-temp"))
31+
// private val DEFAULT_ARTIFACT_PATH =
3332
private val logger = getLogger<ArtifactHelper>()
3433
private const val MAX_DOWNLOAD_ATTEMPTS = 3
3534
}

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import software.aws.toolkits.core.utils.ZIP_PROPERTY_POSIX
1212
import software.aws.toolkits.core.utils.createParentDirectories
1313
import software.aws.toolkits.core.utils.exists
1414
import software.aws.toolkits.core.utils.hasPosixFilePermissions
15+
import software.aws.toolkits.jetbrains.AwsPlugin
16+
import software.aws.toolkits.jetbrains.AwsToolkit
1517
import java.io.FileNotFoundException
1618
import java.net.URI
1719
import java.nio.file.FileSystems
@@ -101,3 +103,17 @@ fun extractZipFile(zipFilePath: Path, destDir: Path) {
101103
throw LspException("Failed to extract zip file: ${e.message}", LspException.ErrorCode.UNZIP_FAILED, cause = e)
102104
}
103105
}
106+
107+
fun isReleaseVersion(): Boolean {
108+
val info = AwsToolkit.PLUGINS_INFO.get(AwsPlugin.Q)
109+
val version = info?.version ?: return true
110+
return !version.contains("SNAPSHOT", ignoreCase = true)
111+
}
112+
113+
fun getArtifactPath(): Path = if (isReleaseVersion()) {
114+
getToolkitsCommonCacheRoot().resolve(
115+
Paths.get("aws", "toolkits", "language-servers", "AmazonQ-JetBrains-temp")
116+
)
117+
} else {
118+
getToolkitsCommonCacheRoot().resolve(Paths.get("aws", "toolkits", "language-servers", "AmazonQ-JetBrains-temp-beta"))
119+
}

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,18 @@ data class TextBasedFilterOption(
1717
val description: String?,
1818
)
1919

20-
2120
data class FilterOption(
2221
val id: String,
2322
val placeholder: String? = null,
2423
val title: String? = null,
2524
val description: String? = null,
2625
val icon: IconType? = null,
2726
val type: String,
28-
val options: List<Option>? = null
27+
val options: List<Option>? = null,
2928
) {
3029
data class Option(
3130
val value: String,
32-
val label: String
31+
val label: String,
3332
)
3433
}
3534

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,6 @@ const val STOP_CHAT_RESPONSE = "stopChatResponse"
5252
const val SEND_TO_PROMPT = "sendToPrompt"
5353
const val TELEMETRY_EVENT = "telemetry/event"
5454

55-
//https://github.com/aws/language-server-runtimes/blob/112feba70219a98a12f13727d67c540205fa9c9f/types/chat.ts#L32
55+
// https://github.com/aws/language-server-runtimes/blob/112feba70219a98a12f13727d67c540205fa9c9f/types/chat.ts#L32
5656
const val LIST_MCP_SERVERS_REQUEST_METHOD = "aws/chat/listMcpServers"
5757
const val MCP_SERVER_CLICK_REQUEST_METHOD = "aws/chat/mcpServerClick"

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

Lines changed: 1 addition & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -13,77 +13,5 @@ enum class McpServerStatus(@JsonValue val repr: String) {
1313
INITIALIZING("textarea"),
1414
ENABLED("textinput"),
1515
FAILED("failed"),
16-
DISABLED("disabled");
16+
DISABLED("disabled"),
1717
}
18-
19-
// List MCP Servers Parameters
20-
data class ListMcpServersParams(
21-
val filter: Map<String, FilterValue>? = null
22-
)
23-
24-
// List MCP Servers Result
25-
data class ListMcpServersResult(
26-
val header: Header? = null,
27-
val list: List<DetailedListGroup>,
28-
val filterOptions: List<FilterOption>? = null
29-
) {
30-
data class Header(
31-
val title: String,
32-
val description: String? = null
33-
)
34-
}
35-
36-
37-
// MCP Server Click Parameters
38-
data class McpServerClickParams(
39-
val id: String,
40-
val title: String? = null,
41-
// here Any is sufficient to serialize/deserialze complex objects
42-
val optionsValues: Map<String, Any>? = null
43-
)
44-
45-
46-
47-
48-
// MCP Server Click Result
49-
data class McpServerClickResult(
50-
val id: String,
51-
val title: String? = null,
52-
val optionsValues: Map<String, String>? = null,
53-
val filterOptions: List<FilterOption>? = null,
54-
val filterActions: List<Button>? = null,
55-
val list: List<DetailedListGroup>? = null,
56-
val header: Header? = null
57-
) {
58-
data class Header(
59-
val title: String? = null,
60-
val icon: IconType? = null,
61-
val status: Status? = null,
62-
val description: String? = null,
63-
val actions: List<Action>? = null
64-
) {
65-
data class Status(
66-
val icon: IconType? = null,
67-
val title: String? = null,
68-
val description: String? = null,
69-
val status: ResultStatus? = null
70-
)
71-
}
72-
}
73-
74-
75-
data class DetailedListGroup(
76-
val groupName: String? = null,
77-
val children: List<DetailedListItem>? = null,
78-
val actions: List<Action>? = null,
79-
val icon: IconType? = null
80-
)
81-
82-
data class DetailedListItem(
83-
val title: String,
84-
val description: String? = null,
85-
val groupActions: Boolean? = null,
86-
val children: List<DetailedListGroup>? = null
87-
)
88-
89-

0 commit comments

Comments
 (0)