@@ -9,37 +9,13 @@ import {
99 type ProviderSettings ,
1010 isRetiredProvider ,
1111 DEFAULT_CONSECUTIVE_MISTAKE_LIMIT ,
12- openRouterDefaultModelId ,
13- poeDefaultModelId ,
14- requestyDefaultModelId ,
15- litellmDefaultModelId ,
16- openAiNativeDefaultModelId ,
17- openAiCodexDefaultModelId ,
18- anthropicDefaultModelId ,
19- qwenCodeDefaultModelId ,
20- geminiDefaultModelId ,
21- deepSeekDefaultModelId ,
22- moonshotDefaultModelId ,
23- mistralDefaultModelId ,
24- xaiDefaultModelId ,
25- basetenDefaultModelId ,
26- bedrockDefaultModelId ,
27- vertexDefaultModelId ,
28- sambaNovaDefaultModelId ,
29- internationalZAiDefaultModelId ,
30- mainlandZAiDefaultModelId ,
31- fireworksDefaultModelId ,
32- vercelAiGatewayDefaultModelId ,
33- opencodeGoDefaultModelId ,
34- zooGatewayDefaultModelId ,
35- minimaxDefaultModelId ,
36- mimoDefaultModelId ,
37- unboundDefaultModelId ,
3812} from "@roo-code/types"
3913
4014import {
4115 getProviderServiceConfig ,
4216 getDefaultModelIdForProvider ,
17+ getProviderDocsSlug ,
18+ getProviderModelConfig ,
4319 getStaticModelsForProvider ,
4420 shouldUseGenericModelPicker ,
4521 handleModelChangeSideEffects ,
@@ -336,53 +312,7 @@ const ApiOptions = ({
336312 }
337313 }
338314
339- // Define a mapping object that associates each provider with its model configuration
340- const PROVIDER_MODEL_CONFIG : Partial <
341- Record <
342- ProviderName ,
343- {
344- field : keyof ProviderSettings
345- default ?: string
346- }
347- >
348- > = {
349- openrouter : { field : "openRouterModelId" , default : openRouterDefaultModelId } ,
350- requesty : { field : "requestyModelId" , default : requestyDefaultModelId } ,
351- unbound : { field : "unboundModelId" , default : unboundDefaultModelId } ,
352- litellm : { field : "litellmModelId" , default : litellmDefaultModelId } ,
353- anthropic : { field : "apiModelId" , default : anthropicDefaultModelId } ,
354- "openai-codex" : { field : "apiModelId" , default : openAiCodexDefaultModelId } ,
355- "qwen-code" : { field : "apiModelId" , default : qwenCodeDefaultModelId } ,
356- "openai-native" : { field : "apiModelId" , default : openAiNativeDefaultModelId } ,
357- gemini : { field : "apiModelId" , default : geminiDefaultModelId } ,
358- deepseek : { field : "apiModelId" , default : deepSeekDefaultModelId } ,
359- moonshot : { field : "apiModelId" , default : moonshotDefaultModelId } ,
360- minimax : { field : "apiModelId" , default : minimaxDefaultModelId } ,
361- mimo : { field : "apiModelId" , default : mimoDefaultModelId } ,
362- mistral : { field : "apiModelId" , default : mistralDefaultModelId } ,
363- xai : { field : "apiModelId" , default : xaiDefaultModelId } ,
364- baseten : { field : "apiModelId" , default : basetenDefaultModelId } ,
365- bedrock : { field : "apiModelId" , default : bedrockDefaultModelId } ,
366- vertex : { field : "apiModelId" , default : vertexDefaultModelId } ,
367- sambanova : { field : "apiModelId" , default : sambaNovaDefaultModelId } ,
368- zai : {
369- field : "apiModelId" ,
370- default :
371- apiConfiguration . zaiApiLine === "china_coding"
372- ? mainlandZAiDefaultModelId
373- : internationalZAiDefaultModelId ,
374- } ,
375- fireworks : { field : "apiModelId" , default : fireworksDefaultModelId } ,
376- poe : { field : "apiModelId" , default : poeDefaultModelId } ,
377- "vercel-ai-gateway" : { field : "vercelAiGatewayModelId" , default : vercelAiGatewayDefaultModelId } ,
378- "opencode-go" : { field : "opencodeGoModelId" , default : opencodeGoDefaultModelId } ,
379- "zoo-gateway" : { field : "zooGatewayModelId" , default : zooGatewayDefaultModelId } ,
380- openai : { field : "openAiModelId" } ,
381- ollama : { field : "ollamaModelId" } ,
382- lmstudio : { field : "lmStudioModelId" } ,
383- }
384-
385- const config = PROVIDER_MODEL_CONFIG [ value ]
315+ const config = getProviderModelConfig ( value , apiConfiguration )
386316 if ( config ) {
387317 validateAndResetModel (
388318 value ,
@@ -401,22 +331,14 @@ const ApiOptions = ({
401331
402332 const docs = useMemo ( ( ) => {
403333 const provider = PROVIDERS . find ( ( { value } ) => value === selectedProvider )
404- const name = provider ?. label
405-
406- if ( ! name ) {
334+ if ( ! provider ) {
407335 return undefined
408336 }
409337
410- // Get the URL slug - use custom mapping if available, otherwise use the provider key.
411- const slugs : Record < string , string > = {
412- "openai-native" : "openai" ,
413- openai : "openai-compatible" ,
414- }
415-
416- const slug = slugs [ selectedProvider ] || selectedProvider
338+ const slug = getProviderDocsSlug ( provider . value )
417339 return {
418340 url : buildDocLink ( `providers/${ slug } ` , "provider_docs" ) ,
419- name,
341+ name : provider . label ,
420342 }
421343 } , [ selectedProvider ] )
422344
0 commit comments