Merge remote-tracking branch 'origin/main' into onboarding

Kujtim Hoxha created

Change summary

internal/config/resolve.go      | 4 ++--
internal/llm/provider/openai.go | 5 ++++-
2 files changed, 6 insertions(+), 3 deletions(-)

Detailed changes

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)

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 {