From ef2850d93870598b10d9545e537956622fac7bde Mon Sep 17 00:00:00 2001 From: Donnie Adams Date: Tue, 4 Jun 2024 10:06:02 -0400 Subject: [PATCH] fix: add ability to set required extensions for certain commands Some commands, like powershell, require the files it runs to end with a particular extension. This change sets up this requirement with the ability to add more later. Signed-off-by: Donnie Adams --- pkg/engine/cmd.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/engine/cmd.go b/pkg/engine/cmd.go index 1f775b74..39a3e0a1 100644 --- a/pkg/engine/cmd.go +++ b/pkg/engine/cmd.go @@ -20,6 +20,11 @@ import ( "github.com/gptscript-ai/gptscript/pkg/version" ) +var requiredFileExtensions = map[string]string{ + "powershell.exe": "*.ps1", + "powershell": "*.ps1", +} + func (e *Engine) runCommand(ctx Context, tool types.Tool, input string, toolCategory ToolCategory) (cmdOut string, cmdErr error) { id := counter.Next() @@ -198,7 +203,7 @@ func (e *Engine) newCommand(ctx context.Context, extraEnv []string, tool types.T ) if strings.TrimSpace(rest) != "" { - f, err := os.CreateTemp("", version.ProgramName) + f, err := os.CreateTemp("", version.ProgramName+requiredFileExtensions[args[0]]) if err != nil { return nil, nil, err }