99import sys
1010from typing import Dict , List , Optional
1111
12- from ..models .enums import ModelProvider
12+ from ..models .enums import ModelProvider , ModelProviderList
1313from .helpers import get_version
1414
1515
@@ -99,7 +99,7 @@ def parse_args():
9999 # Provider settings
100100 provider_group .add_argument (
101101 "--provider" ,
102- choices = [ "openai" , "anthropic" , "deepseek" ] ,
102+ choices = ModelProviderList ,
103103 help = "AI provider to use (default: first provider with available API key)"
104104 )
105105 provider_group .add_argument (
@@ -248,9 +248,9 @@ def get_api_keys_from_args(args) -> Dict[str, str]:
248248 Dict[str, str]: Dictionary of provider names to API keys
249249 """
250250 return {
251- "openai" : args .openai_key or args .api_key or os .getenv ("OPENAI_API_KEY" , "" ),
252- "anthropic" : args .anthropic_key or os .getenv ("ANTHROPIC_API_KEY" , "" ),
253- "deepseek" : args .deepseek_key or os .getenv ("DEEPSEEK_API_KEY" , "" )
251+ ModelProvider . OPENAI . value : args .openai_key or args .api_key or os .getenv ("OPENAI_API_KEY" , "" ),
252+ ModelProvider . ANTHROPIC . value : args .anthropic_key or os .getenv ("ANTHROPIC_API_KEY" , "" ),
253+ ModelProvider . DEEPSEEK . value : args .deepseek_key or os .getenv ("DEEPSEEK_API_KEY" , "" )
254254 }
255255
256256
@@ -264,7 +264,7 @@ def auto_select_provider(api_keys: Dict[str, str]) -> Optional[ModelProvider]:
264264 Returns:
265265 Optional[ModelProvider]: The auto-selected provider or None if no keys available
266266 """
267- for provider_name in [ "openai" , "anthropic" , "deepseek" ] :
267+ for provider_name in ModelProviderList :
268268 if api_keys .get (provider_name ):
269269 provider = ModelProvider (provider_name )
270270 logging .info ("Auto-selected provider: %s (based on available API key)" , provider_name )
0 commit comments