From 9e5f8f458366536ee4d1e8ec4bcbd0b5aa7cb9ca Mon Sep 17 00:00:00 2001 From: Donnie Adams Date: Thu, 27 Jun 2024 15:21:16 -0400 Subject: [PATCH] fix: make the WorkspacePath take absolute precedence for setting env var Before this change, the environment variables would take precedence for setting the GPTSCRIPT_WORKSPACE_DIR. This is incorrect because gptscript should be solely responsible for setting these environment variables. Putting these environment variables at the end of the list ensures that they take precedence. Co-authored-by: tylerslaton Signed-off-by: Donnie Adams --- pkg/gptscript/gptscript.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/gptscript/gptscript.go b/pkg/gptscript/gptscript.go index f8264a44..7a11e7dd 100644 --- a/pkg/gptscript/gptscript.go +++ b/pkg/gptscript/gptscript.go @@ -175,10 +175,10 @@ func (g *GPTScript) getEnv(env []string) ([]string, error) { if err := os.MkdirAll(g.WorkspacePath, 0700); err != nil { return nil, err } - return slices.Concat(g.ExtraEnv, []string{ + return slices.Concat(g.ExtraEnv, env, []string{ fmt.Sprintf("GPTSCRIPT_WORKSPACE_DIR=%s", g.WorkspacePath), fmt.Sprintf("GPTSCRIPT_WORKSPACE_ID=%s", hash.ID(g.WorkspacePath)), - }, env), nil + }), nil } func (g *GPTScript) Chat(ctx context.Context, prevState runner.ChatState, prg types.Program, envs []string, input string) (runner.ChatResponse, error) {