diff --git a/pkg/engine/http.go b/pkg/engine/http.go index c1dd67e7..109db559 100644 --- a/pkg/engine/http.go +++ b/pkg/engine/http.go @@ -82,7 +82,8 @@ func (e *Engine) runHTTP(ctx context.Context, prg *types.Program, tool types.Too req.Header.Add("X-GPTScript-Env", k+"="+envMap[k]) } } - for _, prefix := range strings.Split(os.Getenv("GPTSCRIPT_HTTP_ENV_PREFIX"), ",") { + + for _, prefix := range strings.Split(envMap["GPTSCRIPT_HTTP_ENV_PREFIX"], ",") { if prefix == "" { continue } @@ -93,6 +94,16 @@ func (e *Engine) runHTTP(ctx context.Context, prg *types.Program, tool types.Too } } + for _, k := range strings.Split(envMap["GPTSCRIPT_HTTP_ENV"], ",") { + if k == "" { + continue + } + v := envMap[k] + if v != "" { + req.Header.Add("X-GPTScript-Env", k+"="+v) + } + } + req.Header.Set("X-GPTScript-Tool-Name", tool.Parameters.Name) if err := json.Unmarshal([]byte(input), &map[string]any{}); err == nil {