summaryrefslogtreecommitdiff
path: root/internal/hexaicli
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-02 13:42:06 +0200
committerPaul Buetow <paul@buetow.org>2026-03-02 13:42:06 +0200
commit021785d750de2cd8d1f94334282a2b110b77c0fd (patch)
tree06c1e4942af0e1885e4c872cbb99d4653a3ec8a6 /internal/hexaicli
parent8a70afb354d0050f3f8e1142753284859036fa1c (diff)
llmutils: centralize provider normalization and client setup (task 410)
Diffstat (limited to 'internal/hexaicli')
-rw-r--r--internal/hexaicli/run.go28
1 files changed, 3 insertions, 25 deletions
diff --git a/internal/hexaicli/run.go b/internal/hexaicli/run.go
index 9ea3a40..4cb9e01 100644
--- a/internal/hexaicli/run.go
+++ b/internal/hexaicli/run.go
@@ -70,18 +70,7 @@ func buildCLIJobs(cfg appconfig.App) ([]cliJob, error) {
provider = cfg.Provider
}
provider = canonicalProvider(provider)
- derived := cfg
- derived.Provider = provider
- switch provider {
- case "openai":
- if entry.Model != "" {
- derived.OpenAIModel = entry.Model
- }
- case "ollama":
- if entry.Model != "" {
- derived.OllamaModel = entry.Model
- }
- }
+ derived := llmutils.ConfigForProvider(cfg, provider, entry.Model)
client, err := newClientFromApp(derived)
if err != nil {
return nil, err
@@ -136,22 +125,11 @@ func cliTemperatureFromEntry(cfg appconfig.App, provider string, entry appconfig
}
func canonicalProvider(name string) string {
- p := strings.ToLower(strings.TrimSpace(name))
- if p == "" {
- return "openai"
- }
- return p
+ return llmutils.CanonicalProvider(name)
}
func defaultModelForProvider(cfg appconfig.App, provider string) string {
- switch provider {
- case "ollama":
- return cfg.OllamaModel
- case "anthropic":
- return cfg.AnthropicModel
- default:
- return cfg.OpenAIModel
- }
+ return llmutils.DefaultModelForProvider(cfg, provider)
}
// Run executes the Hexai CLI behavior given arguments and I/O streams.