Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import com.fasterxml.jackson.databind.JsonNode
import com.google.gson.Gson
import com.intellij.ide.BrowserUtil
import com.intellij.ide.util.RunOnceUtil
import com.intellij.openapi.application.runInEdt
import com.intellij.openapi.options.ShowSettingsUtil
import com.intellij.openapi.project.Project
import com.intellij.ui.jcef.JBCefJSQuery.Response
import kotlinx.coroutines.CompletableDeferred
Expand Down Expand Up @@ -85,6 +87,9 @@ import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.Inser
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LinkClickNotification
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.LinkClickParams
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.ListConversationsRequest
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.OPEN_SETTINGS
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.OPEN_WORKSPACE_SETTINGS_KEY
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.OpenSettingsNotification
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.OpenTabResponse
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.PROMPT_INPUT_OPTIONS_CHANGE
import software.aws.toolkits.jetbrains.services.amazonq.lsp.model.aws.chat.PromptInputOptionChangeNotification
Expand All @@ -104,6 +109,7 @@ import software.aws.toolkits.jetbrains.services.amazonq.util.command
import software.aws.toolkits.jetbrains.services.amazonq.util.tabType
import software.aws.toolkits.jetbrains.services.amazonq.webview.theme.AmazonQTheme
import software.aws.toolkits.jetbrains.services.amazonq.webview.theme.ThemeBrowserAdapter
import software.aws.toolkits.jetbrains.services.codewhisperer.settings.CodeWhispererConfigurable
import software.aws.toolkits.jetbrains.settings.MeetQSettings
import software.aws.toolkits.resources.AwsCoreBundle
import software.aws.toolkits.telemetry.MetricResult
Expand Down Expand Up @@ -470,6 +476,13 @@ class BrowserConnector(
)
browser.postChat(uiMessage)
}
OPEN_SETTINGS -> {
val openSettingsNotification = serializer.deserializeChatMessages<OpenSettingsNotification>(node)
if (openSettingsNotification.params.settingKey != OPEN_WORKSPACE_SETTINGS_KEY) return
runInEdt {
ShowSettingsUtil.getInstance().showSettingsDialog(browser.project, CodeWhispererConfigurable::class.java)
}
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,4 @@ const val GET_SERIALIZED_CHAT_REQUEST_METHOD = "aws/chat/getSerializedChat"
const val OPEN_FILE_DIFF = "aws/openFileDiff"
const val CHAT_ERROR_PARAMS = "errorMessage"
const val STOP_CHAT_RESPONSE = "stopChatResponse"
const val OPEN_SETTINGS = "openSettings"
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

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

data class OpenSettingsParams(
val settingKey: String,
)

data class OpenSettingsNotification(
override val command: String,
override val params: OpenSettingsParams,
) : ChatNotification<OpenSettingsParams>

const val OPEN_WORKSPACE_SETTINGS_KEY = "amazonQ.workspaceIndex"
Loading