@@ -139,12 +139,42 @@ describe("routeModel registry effort defaults", () => {
139139 } ,
140140 } ;
141141 expect ( routeModel ( base , "gpt-5.5" ) ) . toMatchObject ( { providerName : "openai" , codexAccountMode : "pool" } ) ;
142+ expect ( routeModel ( base , "codex-auto-review" ) ) . toMatchObject ( {
143+ providerName : "openai" ,
144+ modelId : "codex-auto-review" ,
145+ codexAccountMode : "pool" ,
146+ } ) ;
147+ expect ( routeModel ( base , "codex-third-party-model" ) ) . toMatchObject ( {
148+ providerName : "openai-apikey" ,
149+ modelId : "codex-third-party-model" ,
150+ } ) ;
151+ const withDeepSeekDefault : OcxConfig = {
152+ ...base ,
153+ defaultProvider : "deepseek" ,
154+ providers : {
155+ ...base . providers ,
156+ deepseek : {
157+ adapter : "openai-chat" ,
158+ baseUrl : "https://api.deepseek.com/v1" ,
159+ defaultModel : "deepseek-chat" ,
160+ } ,
161+ } ,
162+ } ;
163+ expect ( routeModel ( withDeepSeekDefault , "codex-auto-review" ) ) . toMatchObject ( {
164+ providerName : "openai" ,
165+ modelId : "codex-auto-review" ,
166+ } ) ;
167+ expect ( routeModel ( withDeepSeekDefault , "codex-third-party-model" ) ) . toMatchObject ( {
168+ providerName : "deepseek" ,
169+ modelId : "codex-third-party-model" ,
170+ } ) ;
142171 expect ( routeModel ( { ...base , providers : { ...base . providers , openai : { ...forward , codexAccountMode : "direct" } } } , "gpt-5.5" ) )
143172 . toMatchObject ( { providerName : "openai" , codexAccountMode : "direct" } ) ;
144173 expect ( ( ) => routeModel ( { ...base , providers : { ...base . providers , openai : { ...forward , disabled : true } } } , "gpt-5.5" ) )
145174 . toThrow ( / r e q u i r e s t h e c a n o n i c a l o p e n a i p r o v i d e r / ) ;
146175 const unavailable = { ...base , providers : { "openai-proxy" : base . providers [ "openai-proxy" ] } } ;
147176 expect ( ( ) => routeModel ( unavailable , "gpt-5.5" ) ) . toThrow ( / o c x p r o v i d e r a d d o p e n a i / ) ;
177+ expect ( ( ) => routeModel ( unavailable , "codex-auto-review" ) ) . toThrow ( NoEnabledOpenAiProviderError ) ;
148178 } ) ;
149179
150180 test ( "rejects legacy chatgpt namespaces even when configured" , ( ) => {
0 commit comments