diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-16 03:51:43 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-16 03:51:43 +0200 |
| commit | de3e878ad12bbd3e609bd5b7d741fc792c72f255 (patch) | |
| tree | 06d92b93ea0ad532c5d3a761033baac05abe2a5e /internal/llmutils | |
| parent | 2e9cabb1c8bf1f0246e513fe1f86a552e07eee94 (diff) | |
Decompose App God struct into embedded section structs
Replace 60+ flat fields in App with 4 embedded section structs:
CoreConfig, ProviderConfig, PromptConfig, FeatureConfig. Go field
promotion preserves all existing field access patterns. Updated
flattenAppConfig to recurse into embedded structs for runtimeconfig.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/llmutils')
| -rw-r--r-- | internal/llmutils/client_test.go | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/internal/llmutils/client_test.go b/internal/llmutils/client_test.go index 0e38476..0cbd26d 100644 --- a/internal/llmutils/client_test.go +++ b/internal/llmutils/client_test.go @@ -8,7 +8,7 @@ import ( ) func TestNewClientFromApp_Ollama(t *testing.T) { - cfg := appconfig.App{Provider: "ollama"} + cfg := appconfig.App{CoreConfig: appconfig.CoreConfig{Provider: "ollama"}} c, err := NewClientFromApp(cfg) if err != nil || c == nil { t.Fatalf("ollama client failed: %v %v", c, err) @@ -17,7 +17,7 @@ func TestNewClientFromApp_Ollama(t *testing.T) { func TestNewClientFromApp_OpenAI_WithKey(t *testing.T) { t.Setenv("HEXAI_OPENAI_API_KEY", "test-key") - cfg := appconfig.App{Provider: "openai"} + cfg := appconfig.App{CoreConfig: appconfig.CoreConfig{Provider: "openai"}} c, err := NewClientFromApp(cfg) if err != nil || c == nil { t.Fatalf("openai client failed: %v %v", c, err) @@ -37,10 +37,12 @@ func TestCanonicalProvider(t *testing.T) { func TestDefaultModelForProvider(t *testing.T) { cfg := appconfig.App{ - OpenAIModel: "gpt-4.1", - OpenRouterModel: "openrouter/auto", - OllamaModel: "qwen3", - AnthropicModel: "claude", + ProviderConfig: appconfig.ProviderConfig{ + OpenAIModel: "gpt-4.1", + OpenRouterModel: "openrouter/auto", + OllamaModel: "qwen3", + AnthropicModel: "claude", + }, } if got := DefaultModelForProvider(cfg, "openai"); got != "gpt-4.1" { t.Fatalf("openai model = %q", got) @@ -74,10 +76,12 @@ func TestDefaultModelForProvider_Fallbacks(t *testing.T) { func TestConfigForProvider(t *testing.T) { base := appconfig.App{ - Provider: "openai", - OpenAIModel: "gpt-4.1", - OllamaModel: "qwen3", - AnthropicModel: "claude", + CoreConfig: appconfig.CoreConfig{Provider: "openai"}, + ProviderConfig: appconfig.ProviderConfig{ + OpenAIModel: "gpt-4.1", + OllamaModel: "qwen3", + AnthropicModel: "claude", + }, } got := ConfigForProvider(base, "ollama", "qwen3-coder") if got.Provider != "ollama" { |
