summaryrefslogtreecommitdiff
path: root/internal/llm/provider_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-26 08:50:20 +0300
committerPaul Buetow <paul@buetow.org>2026-04-26 08:50:20 +0300
commite4a6723bb679b13401020bb4953cd7c4c9564e8c (patch)
tree6404ac14586e6207056b83f3db8a1cd9657992d1 /internal/llm/provider_test.go
parent97e2dde7693618516a42019d7aa7cfda1f5a8811 (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.go4
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())