diff --git a/internal/cmd/logs.go b/internal/cmd/logs.go index 85921c4e4354194d0d260e814fc61222c114d3ef..f271b2873b6c57da002c7caab2c72678010624b0 100644 --- a/internal/cmd/logs.go +++ b/internal/cmd/logs.go @@ -46,7 +46,7 @@ var logsCmd = &cobra.Command{ log.SetLevel(log.DebugLevel) log.SetOutput(os.Stdout) - cfg, err := config.Load(cwd, dataDir, false) + cfg, err := config.Load(cwd, dataDir, false, os.Environ()) if err != nil { return fmt.Errorf("failed to load configuration: %v", err) } diff --git a/internal/cmd/server.go b/internal/cmd/server.go index aaab8b0c271e4a574a742ad5a5346022db21cb5c..09fcf30b5276cf34ce272eb9c7b36871d1b1c8a8 100644 --- a/internal/cmd/server.go +++ b/internal/cmd/server.go @@ -35,7 +35,7 @@ var serverCmd = &cobra.Command{ return fmt.Errorf("failed to get debug flag: %v", err) } - cfg, err := config.Load("", dataDir, debug) + cfg, err := config.Load("", dataDir, debug, os.Environ()) if err != nil { return fmt.Errorf("failed to load configuration: %v", err) } diff --git a/internal/config/init.go b/internal/config/init.go index 1165770c9f55e2952af7fb27c28632625a136960..ad24a01d6316264c395e700bdcbabfd442d9f78d 100644 --- a/internal/config/init.go +++ b/internal/config/init.go @@ -16,8 +16,8 @@ type ProjectInitFlag struct { Initialized bool `json:"initialized"` } -func Init(workingDir, dataDir string, debug bool) (*Config, error) { - cfg, err := Load(workingDir, dataDir, debug) +func Init(workingDir, dataDir string, debug bool, envs []string) (*Config, error) { + cfg, err := Load(workingDir, dataDir, debug, envs) if err != nil { return nil, err } diff --git a/internal/config/load.go b/internal/config/load.go index ce7982b24dd7431e6f8f4a0eeb37c240a616917c..2fe18058ae83b0cfe4802d6c501f349a27768af7 100644 --- a/internal/config/load.go +++ b/internal/config/load.go @@ -42,7 +42,7 @@ func LoadReader(fd io.Reader) (*Config, error) { } // Load loads the configuration from the default paths. -func Load(workingDir, dataDir string, debug bool) (*Config, error) { +func Load(workingDir, dataDir string, debug bool, envs []string) (*Config, error) { configPaths := lookupConfigs(workingDir) cfg, err := loadFromConfigPaths(configPaths) @@ -65,7 +65,6 @@ func Load(workingDir, dataDir string, debug bool) (*Config, error) { } cfg.knownProviders = providers - envs := os.Environ() // Configure providers valueResolver := NewShellVariableResolver(envs) cfg.resolver = valueResolver diff --git a/internal/llm/provider/openai_test.go b/internal/llm/provider/openai_test.go index 8088ba22b4cd49b26130cd3812e8705e8dfe1cba..72c41bf29ead8858b76848c9f2b654631f355195 100644 --- a/internal/llm/provider/openai_test.go +++ b/internal/llm/provider/openai_test.go @@ -17,7 +17,7 @@ import ( ) func TestMain(m *testing.M) { - _, err := config.Init(".", "", true) + _, err := config.Init(".", "", true, os.Environ()) if err != nil { panic("Failed to initialize config: " + err.Error()) } diff --git a/internal/server/proto.go b/internal/server/proto.go index 62486f73ff6a8d66ebbe12a1c0e768afb5296b68..7cc626b238c86890ef6034294e80eacc7643bc4c 100644 --- a/internal/server/proto.go +++ b/internal/server/proto.go @@ -548,7 +548,7 @@ func (c *controllerV1) handlePostInstances(w http.ResponseWriter, r *http.Reques } id := uuid.New().String() - cfg, err := config.Init(args.Path, args.DataDir, args.Debug) + cfg, err := config.Init(args.Path, args.DataDir, args.Debug, args.Env) if err != nil { c.logError(r, "failed to initialize config", "error", err) jsonError(w, http.StatusBadRequest, fmt.Sprintf("failed to initialize config: %v", err))