summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAiden Cline <[email protected]>2025-12-09 15:44:37 -0600
committerAiden Cline <[email protected]>2025-12-09 15:44:56 -0600
commit8a9c7a4ef33ee0fd401ab53c1bb52b46138c39b2 (patch)
tree57f9498b9f3a683f25b420519fc69ea9780df0ab
parent2dad56c9a214052f55dc067d74436aaa887e3b9d (diff)
downloadopencode-8a9c7a4ef33ee0fd401ab53c1bb52b46138c39b2.tar.gz
opencode-8a9c7a4ef33ee0fd401ab53c1bb52b46138c39b2.zip
add OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT
-rw-r--r--packages/opencode/src/flag/flag.ts11
-rw-r--r--packages/opencode/src/tool/bash.ts8
2 files changed, 11 insertions, 8 deletions
diff --git a/packages/opencode/src/flag/flag.ts b/packages/opencode/src/flag/flag.ts
index 924f585c4..3cf7f528d 100644
--- a/packages/opencode/src/flag/flag.ts
+++ b/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
+ }
}
diff --git a/packages/opencode/src/tool/bash.ts b/packages/opencode/src/tool/bash.ts
index da92baa68..d1def2b74 100644
--- a/packages/opencode/src/tool/bash.ts
+++ b/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" })