Просмотр исходного кода

add OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT

Aiden Cline 2 месяцев назад
Родитель
Сommit
8a9c7a4ef3
2 измененных файлов с 11 добавлено и 8 удалено
  1. 9 2
      packages/opencode/src/flag/flag.ts
  2. 2 6
      packages/opencode/src/tool/bash.ts

+ 9 - 2
packages/opencode/src/flag/flag.ts

@@ -11,8 +11,8 @@ export namespace Flag {
   export const OPENCODE_ENABLE_EXPERIMENTAL_MODELS = truthy("OPENCODE_ENABLE_EXPERIMENTAL_MODELS")
   export const OPENCODE_DISABLE_AUTOCOMPACT = truthy("OPENCODE_DISABLE_AUTOCOMPACT")
   export const OPENCODE_FAKE_VCS = process.env["OPENCODE_FAKE_VCS"]
-  export const OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH =
-    process.env["OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH"]
+  export const OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH = number("OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH")
+  export const OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT = number("OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT")
 
   // Experimental
   export const OPENCODE_EXPERIMENTAL = truthy("OPENCODE_EXPERIMENTAL")
@@ -25,4 +25,11 @@ export namespace Flag {
     const value = process.env[key]?.toLowerCase()
     return value === "true" || value === "1"
   }
+
+  function number(key: string) {
+    const value = process.env[key]
+    if (!value) return undefined
+    const parsed = Number(value)
+    return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined
+  }
 }

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

@@ -16,12 +16,8 @@ import { Flag } from "@/flag/flag.ts"
 import path from "path"
 import { iife } from "@/util/iife"
 
-const DEFAULT_MAX_OUTPUT_LENGTH = 30_000
-const MAX_OUTPUT_LENGTH = (() => {
-  const parsed = Number(Flag.OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH)
-  return Number.isInteger(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_OUTPUT_LENGTH
-})()
-const DEFAULT_TIMEOUT = 2 * 60 * 1000
+const MAX_OUTPUT_LENGTH = Flag.OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH || 30_000
+const DEFAULT_TIMEOUT = Flag.OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT || 2 * 60 * 1000
 const SIGKILL_TIMEOUT_MS = 200
 
 export const log = Log.create({ service: "bash-tool" })