diff options
| author | Paul Buetow <paul@buetow.org> | 2026-04-26 08:50:20 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-04-26 08:50:20 +0300 |
| commit | e4a6723bb679b13401020bb4953cd7c4c9564e8c (patch) | |
| tree | 6404ac14586e6207056b83f3db8a1cd9657992d1 /internal/llm/provider_test.go | |
| parent | 97e2dde7693618516a42019d7aa7cfda1f5a8811 (diff) | |
feat: optional API key for Ollama provider (Ollama Cloud)
Adds an optional HEXAI_OLLAMA_API_KEY (with OLLAMA_API_KEY fallback) so
the existing Ollama provider can target Ollama Cloud (ollama.ai) in
addition to a local server. When the key is empty the request is
unauthenticated, preserving local-server behavior byte-for-byte; when
set, an Authorization: Bearer header is attached for both Chat and
ChatStream. Documented cloud usage in config.toml.example.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'internal/llm/provider_test.go')
| -rw-r--r-- | internal/llm/provider_test.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/internal/llm/provider_test.go b/internal/llm/provider_test.go index 14de7a6..2acbc69 100644 --- a/internal/llm/provider_test.go +++ b/internal/llm/provider_test.go @@ -7,13 +7,13 @@ import ( func TestNewFromConfig_DefaultsAndErrors(t *testing.T) { // Unknown provider - if _, err := NewFromConfig(Config{Provider: "bogus"}, "", "", ""); err == nil { + if _, err := NewFromConfig(Config{Provider: "bogus"}, "", "", "", ""); err == nil { t.Fatalf("expected error for unknown provider") } else if !strings.Contains(err.Error(), "supported providers:") { t.Fatalf("expected supported providers hint, got %q", err.Error()) } // OpenAI missing key - if _, err := NewFromConfig(Config{Provider: "openai", OpenAIModel: "g"}, "", "", ""); err == nil { + if _, err := NewFromConfig(Config{Provider: "openai", OpenAIModel: "g"}, "", "", "", ""); err == nil { t.Fatalf("expected key error") } else if !strings.Contains(err.Error(), "OPENAI_API_KEY") || !strings.Contains(err.Error(), "HEXAI_OPENAI_API_KEY") { t.Fatalf("expected actionable API key hint, got %q", err.Error()) |
