Change summary
internal/config/resolve.go | 4 ++--
internal/llm/provider/openai.go | 5 ++++-
2 files changed, 6 insertions(+), 3 deletions(-)
Detailed changes
@@ -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)
@@ -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 {