Przeglądaj źródła

fix shell error 128

Dax Raad 6 miesięcy temu
rodzic
commit
7e763e1c06
1 zmienionych plików z 6 dodań i 2 usunięć
  1. 6 2
      packages/opencode/src/tool/bash.ts

+ 6 - 2
packages/opencode/src/tool/bash.ts

@@ -75,9 +75,13 @@ export const BashTool = Tool.define("bash", {
       if (["cd", "rm", "cp", "mv", "mkdir", "touch", "chmod", "chown"].includes(command[0])) {
         for (const arg of command.slice(1)) {
           if (arg.startsWith("-") || (command[0] === "chmod" && arg.startsWith("+"))) continue
-          const resolved = await $`realpath ${arg}`.text().then((x) => x.trim())
+          const resolved = await $`realpath ${arg}`
+            .quiet()
+            .nothrow()
+            .text()
+            .then((x) => x.trim())
           log.info("resolved path", { arg, resolved })
-          if (!Filesystem.contains(app.path.cwd, resolved)) {
+          if (resolved && !Filesystem.contains(app.path.cwd, resolved)) {
             throw new Error(
               `This command references paths outside of ${app.path.cwd} so it is not allowed to be executed.`,
             )