fix(providers): address review feedback - APIKey guard, test fix
- Add explicit APIKey \!= '' guard in both provider-selection branches to prevent routing with empty credentials when only AuthMethod is set - Fix test to use ModelList (CreateProvider now requires model_list entry) - Fix test for 3-value return from CreateProvider after upstream changes
This commit is contained in:
parent
6c065d2852
commit
3552a88fbd
2 changed files with 27 additions and 18 deletions
|
|
@ -86,6 +86,7 @@ func resolveProviderSelection(cfg *config.Config) (providerSelection, error) {
|
|||
sel.providerType = providerTypeClaudeAuth
|
||||
return sel, nil
|
||||
}
|
||||
if cfg.Providers.Anthropic.APIKey != "" {
|
||||
sel.apiKey = cfg.Providers.Anthropic.APIKey
|
||||
sel.apiBase = cfg.Providers.Anthropic.APIBase
|
||||
sel.proxy = cfg.Providers.Anthropic.Proxy
|
||||
|
|
@ -95,6 +96,7 @@ func resolveProviderSelection(cfg *config.Config) (providerSelection, error) {
|
|||
sel.providerType = providerTypeClaudeAPIKey
|
||||
return sel, nil
|
||||
}
|
||||
}
|
||||
case "openrouter":
|
||||
if cfg.Providers.OpenRouter.APIKey != "" {
|
||||
sel.apiKey = cfg.Providers.OpenRouter.APIKey
|
||||
|
|
@ -238,6 +240,7 @@ func resolveProviderSelection(cfg *config.Config) (providerSelection, error) {
|
|||
sel.providerType = providerTypeClaudeAuth
|
||||
return sel, nil
|
||||
}
|
||||
if cfg.Providers.Anthropic.APIKey != "" {
|
||||
sel.apiKey = cfg.Providers.Anthropic.APIKey
|
||||
sel.apiBase = cfg.Providers.Anthropic.APIBase
|
||||
sel.proxy = cfg.Providers.Anthropic.Proxy
|
||||
|
|
@ -246,6 +249,7 @@ func resolveProviderSelection(cfg *config.Config) (providerSelection, error) {
|
|||
}
|
||||
sel.providerType = providerTypeClaudeAPIKey
|
||||
return sel, nil
|
||||
}
|
||||
case (strings.Contains(lowerModel, "gpt") || strings.HasPrefix(model, "openai/")) &&
|
||||
(cfg.Providers.OpenAI.APIKey != "" || cfg.Providers.OpenAI.AuthMethod != ""):
|
||||
sel.enableWebSearch = cfg.Providers.OpenAI.WebSearch
|
||||
|
|
|
|||
|
|
@ -345,11 +345,16 @@ func TestCreateProviderReturnsClaudeProviderForAnthropicOAuth(t *testing.T) {
|
|||
|
||||
func TestCreateProviderReturnsClaudeProviderForAnthropicAPIKey(t *testing.T) {
|
||||
cfg := config.DefaultConfig()
|
||||
cfg.Agents.Defaults.Provider = "anthropic"
|
||||
cfg.Agents.Defaults.Model = "claude-opus-4-6"
|
||||
cfg.Providers.Anthropic.APIKey = "sk-ant-api03-test"
|
||||
cfg.Agents.Defaults.Model = "test-claude-apikey"
|
||||
cfg.ModelList = []config.ModelConfig{
|
||||
{
|
||||
ModelName: "test-claude-apikey",
|
||||
Model: "anthropic/claude-opus-4-6",
|
||||
APIKey: "sk-ant-api03-test",
|
||||
},
|
||||
}
|
||||
|
||||
provider, err := CreateProvider(cfg)
|
||||
provider, _, err := CreateProvider(cfg)
|
||||
if err != nil {
|
||||
t.Fatalf("CreateProvider() error = %v", err)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue