@@ -42,6 +42,8 @@ import software.aws.toolkits.core.utils.debug
4242import software.aws.toolkits.core.utils.getLogger
4343import software.aws.toolkits.jetbrains.core.AwsClientManager
4444import software.aws.toolkits.jetbrains.core.awsClient
45+ import software.aws.toolkits.jetbrains.core.credentials.ToolkitConnectionManager
46+ import software.aws.toolkits.jetbrains.core.credentials.pinning.QConnection
4547import software.aws.toolkits.jetbrains.services.amazonq.codeWhispererUserContext
4648import software.aws.toolkits.jetbrains.services.codewhisperer.customization.CodeWhispererCustomization
4749import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManager
@@ -288,7 +290,10 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW
288290 return (getDelegate() as Lazy <* >).isInitialized()
289291 }
290292
291- private fun bearerClient (): CodeWhispererRuntimeClient = project.awsClient()
293+ private fun bearerClient (): CodeWhispererRuntimeClient =
294+ ToolkitConnectionManager .getInstance(project).activeConnectionForFeature(QConnection .getInstance())?.getConnectionSettings()
295+ ?.awsClient<CodeWhispererRuntimeClient >()
296+ ? : throw Exception (" attempt to get bearer client while there is no valid credential" )
292297
293298 override fun generateCompletionsPaginator (firstRequest : GenerateCompletionsRequest ) = sequence<GenerateCompletionsResponse > {
294299 var nextToken: String? = firstRequest.nextToken()
@@ -298,6 +303,7 @@ open class CodeWhispererClientAdaptorImpl(override val project: Project) : CodeW
298303 yield (response)
299304 } while (! nextToken.isNullOrEmpty())
300305 }
306+
301307 override fun generateCompletions (firstRequest : GenerateCompletionsRequest ): GenerateCompletionsResponse =
302308 bearerClient().generateCompletions(firstRequest)
303309
0 commit comments