Skip to content

Commit 9bb3719

Browse files
committed
feat: Add model selection for agentic chat
1 parent d9ced68 commit 9bb3719

File tree

7 files changed

+25
-0
lines changed

7 files changed

+25
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "feature",
3+
"description" : "Add model selection feature"
4+
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ class Browser(parent: Disposable, private val webUri: URI, val project: Project)
149149
{
150150
agenticMode: true,
151151
quickActionCommands: commands,
152+
modelSelectionEnabled: true,
152153
disclaimerAcknowledged: ${MeetQSettings.getInstance().disclaimerAcknowledged},
153154
pairProgrammingAcknowledged: ${MeetQSettings.getInstance().pairProgrammingAcknowledged}
154155
},

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_
5959
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_LINK_CLICK
6060
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_LIST_CONVERSATIONS
6161
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_OPEN_TAB
62+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_OPTIONS_UPDATE_NOTIFICATION
6263
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_PROMPT_OPTION_ACKNOWLEDGED
6364
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_QUICK_ACTION
6465
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_READY

plugins/amazonq/mynah-ui/src/mynah-ui/ui/quickActions/handler.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,8 @@ private handleDocCommand(chatPrompt: ChatPrompt, tabID: string, taskName: string
394394
loadingChat: true,
395395
cancelButtonWhenLoading: false,
396396
})
397+
} else {
398+
this.mynahUI?.updateStore(affectedTabId, { promptInputOptions: [] })
397399
}
398400

399401
if (affectedTabId && this.isHybridChatEnabled) {

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import org.eclipse.lsp4j.services.LanguageClient
99
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.LSPAny
1010
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_OPEN_TAB
1111
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SEND_CONTEXT_COMMANDS
12+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_OPTIONS_UPDATE_NOTIFICATION
1213
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SEND_UPDATE
1314
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CopyFileParams
1415
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.DID_APPEND_FILE
@@ -67,4 +68,7 @@ interface AmazonQLanguageClient : LanguageClient {
6768

6869
@JsonNotification(DID_CREATE_DIRECTORY)
6970
fun createDirectory(params: FileParams)
71+
72+
@JsonNotification(CHAT_OPTIONS_UPDATE_NOTIFICATION)
73+
fun chatOptionsUpdate(params: LSPAny): CompletableFuture<Unit>
7074
}

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.ChatCommun
4141
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.FlareUiMessage
4242
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.LSPAny
4343
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_OPEN_TAB
44+
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_OPTIONS_UPDATE_NOTIFICATION
4445
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SEND_CONTEXT_COMMANDS
4546
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CHAT_SEND_UPDATE
4647
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.CopyFileParams
@@ -400,6 +401,17 @@ class AmazonQLanguageClientImpl(private val project: Project) : AmazonQLanguageC
400401
return CompletableFuture.completedFuture(Unit)
401402
}
402403

404+
override fun chatOptionsUpdate(params: LSPAny): CompletableFuture<Unit> {
405+
val chatManager = ChatCommunicationManager.getInstance(project)
406+
chatManager.notifyUi(
407+
FlareUiMessage(
408+
command = CHAT_OPTIONS_UPDATE_NOTIFICATION,
409+
params = params,
410+
)
411+
)
412+
return CompletableFuture.completedFuture(Unit)
413+
}
414+
403415
override fun appendFile(params: FileParams) = refreshVfs(params.path)
404416

405417
override fun createDirectory(params: FileParams) = refreshVfs(params.path)

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
@@ -21,6 +21,7 @@ const val CHAT_LINK_CLICK = "aws/chat/linkClick"
2121
const val CHAT_LIST_CONVERSATIONS = "aws/chat/listConversations"
2222
const val CHAT_OPEN_TAB = "aws/chat/openTab"
2323
const val CHAT_PROMPT_OPTION_ACKNOWLEDGED = "chatPromptOptionAcknowledged"
24+
const val CHAT_OPTIONS_UPDATE_NOTIFICATION = "aws/chat/chatOptionsUpdate"
2425
const val CHAT_QUICK_ACTION = "aws/chat/sendChatQuickAction"
2526
const val CHAT_READY = "aws/chat/ready"
2627
const val CHAT_SEND_CONTEXT_COMMANDS = "aws/chat/sendContextCommands"

0 commit comments

Comments
 (0)