@@ -21,6 +21,7 @@ import { getClientId, getOperatingSystem } from './telemetry/util'
2121import { extensionVersion } from './vscode/env'
2222import { telemetry } from './telemetry'
2323import { Commands } from './vscode/commands2'
24+ import { setSelectedCustomization } from '../codewhisperer'
2425
2526const localize = nls . loadMessageBundle ( )
2627
@@ -148,7 +149,7 @@ export class FeatureConfigProvider {
148149 if ( isBuilderIdConnection ( AuthUtil . instance . conn ) ) {
149150 this . featureConfigs . delete ( Features . customizationArnOverride )
150151 } else if ( isIdcSsoConnection ( AuthUtil . instance . conn ) ) {
151- let availableCustomizations = undefined
152+ let availableCustomizations : Customization [ ] = [ ]
152153 try {
153154 const items : Customization [ ] = [ ]
154155 const response = await client . listAvailableCustomizations ( )
@@ -157,17 +158,20 @@ export class FeatureConfigProvider {
157158 ) ) {
158159 items . push ( ...customizations )
159160 }
160- availableCustomizations = items . map ( ( c ) => c . arn )
161+ availableCustomizations = items
161162 } catch ( e ) {
162163 getLogger ( ) . debug ( 'amazonq: Failed to list available customizations' )
163164 }
164165
165166 // If customizationArn from A/B is not available in listAvailableCustomizations response, don't use this value
166- if ( ! availableCustomizations ?. includes ( customizationArnOverride ) ) {
167+ const targetCustomization = availableCustomizations ?. find ( ( c ) => c . arn === customizationArnOverride )
168+ if ( ! targetCustomization ) {
167169 getLogger ( ) . debug (
168170 `Customization arn ${ customizationArnOverride } not available in listAvailableCustomizations, not using`
169171 )
170172 this . featureConfigs . delete ( Features . customizationArnOverride )
173+ } else {
174+ await setSelectedCustomization ( targetCustomization )
171175 }
172176
173177 await vscode . commands . executeCommand ( 'aws.amazonq.refreshStatusBar' )
0 commit comments