@@ -69,7 +69,7 @@ pub const X_AMZN_CODEWHISPERER_OPT_OUT_HEADER: &str = "x-amzn-codewhisperer-opto
6969// TODO(bskiser): confirm timeout is updated to an appropriate value?
7070const DEFAULT_TIMEOUT_DURATION : Duration = Duration :: from_secs ( 60 * 5 ) ;
7171
72- type ModelListResult = ( Vec < Model > , Option < Model > ) ;
72+ type ModelListResult = ( Vec < Model > , Model ) ;
7373type ModelCache = Arc < RwLock < Option < ModelListResult > > > ;
7474
7575#[ derive( Clone , Debug ) ]
@@ -241,7 +241,7 @@ impl ApiClient {
241241 Ok ( profiles)
242242 }
243243
244- pub async fn list_available_models ( & self ) -> Result < ( Vec < Model > , Option < Model > ) , ApiClientError > {
244+ pub async fn list_available_models ( & self ) -> Result < ( Vec < Model > , Model ) , ApiClientError > {
245245 if cfg ! ( test) {
246246 return Ok ( (
247247 vec ! [
@@ -251,13 +251,11 @@ impl ApiClient {
251251 . build( )
252252 . unwrap( ) ,
253253 ] ,
254- Some (
255- Model :: builder ( )
256- . model_id ( "model-1" )
257- . description ( "Test Model 1" )
258- . build ( )
259- . unwrap ( ) ,
260- ) ,
254+ Model :: builder ( )
255+ . model_id ( "model-1" )
256+ . description ( "Test Model 1" )
257+ . build ( )
258+ . unwrap ( ) ,
261259 ) ) ;
262260 }
263261
@@ -278,11 +276,11 @@ impl ApiClient {
278276 default_model = Some ( models_output. default_model ( ) . clone ( ) ) ;
279277 }
280278 }
281-
279+ let default_model = default_model . ok_or_else ( || ApiClientError :: DefaultModelNotFound ) ? ;
282280 Ok ( ( models, default_model) )
283281 }
284282
285- pub async fn list_available_models_cached ( & self ) -> Result < ( Vec < Model > , Option < Model > ) , ApiClientError > {
283+ pub async fn list_available_models_cached ( & self ) -> Result < ( Vec < Model > , Model ) , ApiClientError > {
286284 {
287285 let cache = self . model_cache . read ( ) . await ;
288286 if let Some ( cached) = cache. as_ref ( ) {
@@ -306,7 +304,7 @@ impl ApiClient {
306304 tracing:: info!( "Model cache invalidated" ) ;
307305 }
308306
309- pub async fn get_available_models ( & self , region : & str ) -> Result < ( Vec < Model > , Option < Model > ) , ApiClientError > {
307+ pub async fn get_available_models ( & self , region : & str ) -> Result < ( Vec < Model > , Model ) , ApiClientError > {
310308 let ( mut models, default_model) = self . list_available_models_cached ( ) . await ?;
311309
312310 if region == "us-east-1" {
0 commit comments