Skip to content

Commit a0673fd

Browse files
committed
init mynahUI with featCfg
1 parent 43c1c65 commit a0673fd

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import com.intellij.openapi.project.Project
99
import com.intellij.openapi.util.Disposer
1010
import com.intellij.ui.jcef.JBCefJSQuery
1111
import org.cef.CefApp
12+
import software.aws.toolkits.jetbrains.services.amazonq.CodeWhispererFeatureConfigService
13+
import software.aws.toolkits.jetbrains.services.amazonq.FeatureContext
1214
import software.aws.toolkits.jetbrains.services.amazonq.lsp.AmazonQLspService
1315
import software.aws.toolkits.jetbrains.services.amazonq.lsp.flareChat.AwsServerCapabilitiesProvider
1416
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfile
@@ -154,7 +156,7 @@ class Browser(parent: Disposable, private val webUri: URI, val project: Project)
154156
pairProgrammingAcknowledged: ${!MeetQSettings.getInstance().amazonQChatPairProgramming}
155157
},
156158
hybridChatConnector,
157-
{}
159+
${CodeWhispererFeatureConfigService.getInstance().getFeatureConfigJsonString()}
158160
159161
);
160162
}

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
1717
import software.aws.toolkits.jetbrains.services.amazonq.profile.QRegionProfileManager
1818
import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererCustomization
1919
import software.aws.toolkits.jetbrains.utils.isQExpired
20-
20+
import com.google.gson.Gson
2121
@Service
2222
class CodeWhispererFeatureConfigService {
2323
private val featureConfigs = mutableMapOf<String, FeatureContext>()
@@ -82,6 +82,17 @@ class CodeWhispererFeatureConfigService {
8282

8383
fun getChatWSContext(): Boolean = getFeatureValueForKey(CHAT_WS_CONTEXT).stringValue() == "TREATMENT"
8484

85+
// convert into mynahUI parsable string
86+
// format: '[["key1", {"name":"Feature1","variation":"A","value":true}]]'
87+
fun getFeatureConfigJsonString(): String {
88+
val jsonString = featureConfigs.entries.map { (key, value) ->
89+
"[\"$key\",${Gson().toJson(value)}]"
90+
}
91+
return """
92+
'$jsonString'
93+
""".trimIndent()
94+
}
95+
8596
// Get the feature value for the given key.
8697
// In case of a misconfiguration, it will return a default feature value of Boolean false.
8798
private fun getFeatureValueForKey(name: String): FeatureValue =

0 commit comments

Comments
 (0)