Skip to content

Commit 8a9c7a4

Browse files
committed
add OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT
1 parent 2dad56c commit 8a9c7a4

2 files changed

Lines changed: 11 additions & 8 deletions

File tree

packages/opencode/src/flag/flag.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ export namespace Flag {
1111
export const OPENCODE_ENABLE_EXPERIMENTAL_MODELS = truthy("OPENCODE_ENABLE_EXPERIMENTAL_MODELS")
1212
export const OPENCODE_DISABLE_AUTOCOMPACT = truthy("OPENCODE_DISABLE_AUTOCOMPACT")
1313
export const OPENCODE_FAKE_VCS = process.env["OPENCODE_FAKE_VCS"]
14-
export const OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH =
15-
process.env["OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH"]
14+
export const OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH = number("OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH")
15+
export const OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT = number("OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT")
1616

1717
// Experimental
1818
export const OPENCODE_EXPERIMENTAL = truthy("OPENCODE_EXPERIMENTAL")
@@ -25,4 +25,11 @@ export namespace Flag {
2525
const value = process.env[key]?.toLowerCase()
2626
return value === "true" || value === "1"
2727
}
28+
29+
function number(key: string) {
30+
const value = process.env[key]
31+
if (!value) return undefined
32+
const parsed = Number(value)
33+
return Number.isInteger(parsed) && parsed > 0 ? parsed : undefined
34+
}
2835
}

packages/opencode/src/tool/bash.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,8 @@ import { Flag } from "@/flag/flag.ts"
1616
import path from "path"
1717
import { iife } from "@/util/iife"
1818

19-
const DEFAULT_MAX_OUTPUT_LENGTH = 30_000
20-
const MAX_OUTPUT_LENGTH = (() => {
21-
const parsed = Number(Flag.OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH)
22-
return Number.isInteger(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_OUTPUT_LENGTH
23-
})()
24-
const DEFAULT_TIMEOUT = 2 * 60 * 1000
19+
const MAX_OUTPUT_LENGTH = Flag.OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH || 30_000
20+
const DEFAULT_TIMEOUT = Flag.OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT || 2 * 60 * 1000
2521
const SIGKILL_TIMEOUT_MS = 200
2622

2723
export const log = Log.create({ service: "bash-tool" })

0 commit comments

Comments
 (0)