feat: add configurable AgentRouter AI provider

This commit is contained in:
2026-08-22 21:47:41 +08:00
parent 4f91726edb
commit cf2f114dc8
20 changed files with 1204 additions and 79 deletions

View File

@@ -56,3 +56,29 @@ func TestLoadGrowthDefaultsAreCostSafe(t *testing.T) {
t.Fatalf("unsafe AI defaults: %+v", cfg)
}
}
func TestLoadSelectsAgentRouterProvider(t *testing.T) {
t.Setenv("DATABASE_URL", "postgresql://example")
t.Setenv("AI_PROVIDER", AIProviderAgentRouter)
t.Setenv("AGENTROUTER_API_KEY", "agentrouter-key")
t.Setenv("AGENTROUTER_BASE_URL", "https://agentrouter.example/v1")
t.Setenv("AGENTROUTER_MODEL", "gpt-test")
cfg, err := Load()
if err != nil {
t.Fatal(err)
}
provider := cfg.SelectedAIProvider()
if provider.Name != AIProviderAgentRouter || provider.APIKey != "agentrouter-key" || provider.BaseURL != "https://agentrouter.example/v1" || provider.Model != "gpt-test" {
t.Fatalf("SelectedAIProvider() = %+v", provider)
}
}
func TestLoadRejectsUnknownAIProvider(t *testing.T) {
t.Setenv("DATABASE_URL", "postgresql://example")
t.Setenv("AI_PROVIDER", "unknown")
if _, err := Load(); err == nil {
t.Fatal("Load() error = nil, want unknown provider error")
}
}