Skip to content

Commit 9aee897

Browse files
authored
codewhisperer: add action to customization notification (#4095)
1 parent f3f1f6a commit 9aee897

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/customization/CodeWhispererModelConfigurator.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,21 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.credentials.CodeWh
2626
import software.aws.toolkits.jetbrains.services.codewhisperer.util.CodeWhispererConstants
2727
import software.aws.toolkits.jetbrains.services.codewhisperer.util.calculateIfIamIdentityCenterConnection
2828
import software.aws.toolkits.jetbrains.utils.notifyInfo
29+
import software.aws.toolkits.jetbrains.utils.notifyWarn
2930
import software.aws.toolkits.resources.message
3031
import java.util.Collections
3132
import java.util.concurrent.atomic.AtomicBoolean
3233

3334
private fun notifyInvalidSelectedCustomization(project: Project) {
34-
notifyInfo(
35+
notifyWarn(
3536
title = message("codewhisperer.custom.dialog.title"),
3637
content = message("codewhisperer.notification.custom.not_available"),
3738
project = project,
3839
notificationActions = listOf(
39-
NotificationAction.create(
40-
message("codewhisperer.notification.custom.simple.button.got_it")
41-
) { _, notification -> notification.expire() }
40+
NotificationAction.create(message("codewhisperer.notification.custom.simple.button.select_another_customization")) { _, notification ->
41+
CodeWhispererModelConfigurator.getInstance().showConfigDialog(project)
42+
notification.expire()
43+
}
4244
)
4345
)
4446
}

jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/service/CodeWhispererService.kt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ import software.aws.toolkits.jetbrains.services.codewhisperer.util.CrossFileStra
8080
import software.aws.toolkits.jetbrains.services.codewhisperer.util.FileContextProvider
8181
import software.aws.toolkits.jetbrains.services.codewhisperer.util.UtgStrategy
8282
import software.aws.toolkits.jetbrains.utils.isInjectedText
83-
import software.aws.toolkits.jetbrains.utils.notifyInfo
83+
import software.aws.toolkits.jetbrains.utils.notifyWarn
8484
import software.aws.toolkits.resources.message
8585
import software.aws.toolkits.telemetry.CodewhispererCompletionType
8686
import software.aws.toolkits.telemetry.CodewhispererSuggestionState
@@ -289,11 +289,18 @@ class CodeWhispererService {
289289
}
290290
logServiceInvocation(requestId, requestContext, responseContext, emptyList(), null, exceptionType)
291291

292-
notifyInfo(
292+
notifyWarn(
293293
title = "",
294294
content = message("codewhisperer.notification.custom.not_available"),
295295
project = requestContext.project,
296-
notificationActions = listOf(NotificationAction.create("Got it") { _, notification -> notification.expire() })
296+
notificationActions = listOf(
297+
NotificationAction.create(
298+
message("codewhisperer.notification.custom.simple.button.select_another_customization")
299+
) { _, notification ->
300+
CodeWhispererModelConfigurator.getInstance().showConfigDialog(requestContext.project)
301+
notification.expire()
302+
}
303+
)
297304
)
298305
CodeWhispererInvocationStatus.getInstance().finishInvocation()
299306
CodeWhispererInvocationStatus.getInstance().setInvocationComplete()

resources/resources/software/aws/toolkits/resources/MessagesBundle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -706,6 +706,7 @@ codewhisperer.notification.accountless.warn.message=To continue using CodeWhispe
706706
codewhisperer.notification.custom.new_customization=You have access to new CodeWhisperer customizations
707707
codewhisperer.notification.custom.not_available=Selected CodeWhisperer customization is not available. Contact your administrator. Your instance of CodeWhisperer is using the foundation model.
708708
codewhisperer.notification.custom.simple.button.got_it=Got it
709+
codewhisperer.notification.custom.simple.button.select_another_customization=Select another customization
709710
codewhisperer.notification.custom.simple.button.select_customization=Select customization
710711
codewhisperer.notification.usage_limit.codescan.warn.content=You have reached the monthly quota of code scans.
711712
codewhisperer.notification.usage_limit.codesuggestion.warn.content=You have reached the monthly fair use limit of code recommendations.

0 commit comments

Comments
 (0)