From a900a6e7c799a0211635f44a685d42ab812e1a92 Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Sat, 16 Aug 2025 22:30:08 +0200 Subject: [PATCH] chore: remove config dependency --- providers/examples/simple/main.go | 3 ++- providers/examples/stream/main.go | 3 ++- providers/openai.go | 22 ---------------------- 3 files changed, 4 insertions(+), 24 deletions(-) diff --git a/providers/examples/simple/main.go b/providers/examples/simple/main.go index 1228cada7477864c02e463abd45dd842530991f4..05cee92960ef36c031d98a30d50f849468dbed2c 100644 --- a/providers/examples/simple/main.go +++ b/providers/examples/simple/main.go @@ -3,13 +3,14 @@ package main import ( "context" "fmt" + "os" "github.com/charmbracelet/crush/internal/ai" "github.com/charmbracelet/crush/internal/ai/providers" ) func main() { - provider := providers.NewOpenAIProvider(providers.WithOpenAIApiKey("$OPENAI_API_KEY")) + provider := providers.NewOpenAIProvider(providers.WithOpenAIApiKey(os.Getenv("OPENAI_API_KEY"))) model := provider.LanguageModel("gpt-4o") response, err := model.Generate(context.Background(), ai.Call{ diff --git a/providers/examples/stream/main.go b/providers/examples/stream/main.go index 3aa60ddbee9eebb4789ac54e569e21100a6c84af..962f1ac14d6a52cd2362ffe764f567aaa5cd4917 100644 --- a/providers/examples/stream/main.go +++ b/providers/examples/stream/main.go @@ -4,13 +4,14 @@ import ( "context" "encoding/json" "fmt" + "os" "github.com/charmbracelet/crush/internal/ai" "github.com/charmbracelet/crush/internal/ai/providers" ) func main() { - provider := providers.NewOpenAIProvider(providers.WithOpenAIApiKey("$OPENAI_API_KEY")) + provider := providers.NewOpenAIProvider(providers.WithOpenAIApiKey(os.Getenv("OPENAI_API_KEY"))) model := provider.LanguageModel("gpt-4o") stream, err := model.Stream(context.Background(), ai.Call{ diff --git a/providers/openai.go b/providers/openai.go index 475851acd6584c967872db88a1b525e300937fb5..dcfcc9d64872ad87dba1591d881dae26c4ad79ff 100644 --- a/providers/openai.go +++ b/providers/openai.go @@ -11,8 +11,6 @@ import ( "strings" "github.com/charmbracelet/crush/internal/ai" - "github.com/charmbracelet/crush/internal/config" - "github.com/charmbracelet/crush/internal/env" "github.com/google/uuid" "github.com/openai/openai-go/v2" "github.com/openai/openai-go/v2/option" @@ -59,7 +57,6 @@ type openAIProviderOptions struct { name string headers map[string]string client option.HTTPClient - resolver config.VariableResolver } type OpenAIOption = func(*openAIProviderOptions) @@ -72,31 +69,18 @@ func NewOpenAIProvider(opts ...OpenAIOption) ai.Provider { o(&options) } - if options.resolver == nil { - // use the default resolver - options.resolver = config.NewShellVariableResolver(env.New()) - } - options.apiKey, _ = options.resolver.ResolveValue(options.apiKey) - options.baseURL, _ = options.resolver.ResolveValue(options.baseURL) if options.baseURL == "" { options.baseURL = "https://api.openai.com/v1" } - options.name, _ = options.resolver.ResolveValue(options.name) if options.name == "" { options.name = "openai" } - for k, v := range options.headers { - options.headers[k], _ = options.resolver.ResolveValue(v) - } - - options.organization, _ = options.resolver.ResolveValue(options.organization) if options.organization != "" { options.headers["OpenAI-Organization"] = options.organization } - options.project, _ = options.resolver.ResolveValue(options.project) if options.project != "" { options.headers["OpenAI-Project"] = options.project } @@ -148,12 +132,6 @@ func WithOpenAIHttpClient(client option.HTTPClient) OpenAIOption { } } -func WithOpenAIVariableResolver(resolver config.VariableResolver) OpenAIOption { - return func(o *openAIProviderOptions) { - o.resolver = resolver - } -} - // LanguageModel implements ai.Provider. func (o *openAIProvider) LanguageModel(modelID string) ai.LanguageModel { openaiClientOptions := []option.RequestOption{}