From c55a48328e67a92ac20d58f9eb76fb765ec7917a Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Wed, 9 Jul 2025 19:04:47 -0700 Subject: [PATCH] bugfix: endpoint resolution for openai client --- internal/config/resolve.go | 4 ++-- internal/llm/provider/openai.go | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/internal/config/resolve.go b/internal/config/resolve.go index 71eee9b0ea62b9c436bc4f8ce204ffa1583a840c..9c9116661814fe7abee91e2821829442bc65080d 100644 --- a/internal/config/resolve.go +++ b/internal/config/resolve.go @@ -54,8 +54,8 @@ func (r *shellVariableResolver) ResolveValue(value string) (string, error) { return strings.TrimSpace(stdout), nil } - if strings.HasPrefix(value, "$") { - varName := strings.TrimPrefix(value, "$") + if after, ok := strings.CutPrefix(value, "$"); ok { + varName := after value = r.env.Get(varName) if value == "" { return "", fmt.Errorf("environment variable %q not set", varName) diff --git a/internal/llm/provider/openai.go b/internal/llm/provider/openai.go index c51762a868a1f8e2a14b20788ee28ae891cbb9d8..49b344c90bc0a2860cffdb530f688bfe1faad665 100644 --- a/internal/llm/provider/openai.go +++ b/internal/llm/provider/openai.go @@ -38,7 +38,10 @@ func createOpenAIClient(opts providerClientOptions) openai.Client { openaiClientOptions = append(openaiClientOptions, option.WithAPIKey(opts.apiKey)) } if opts.baseURL != "" { - openaiClientOptions = append(openaiClientOptions, option.WithBaseURL(opts.baseURL)) + resolvedBaseURL, err := config.Get().Resolve(opts.baseURL) + if err == nil { + openaiClientOptions = append(openaiClientOptions, option.WithBaseURL(resolvedBaseURL)) + } } if opts.extraHeaders != nil {