summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorcc-bjojac <[email protected]>2025-11-20 17:45:13 +0100
committerGitHub <[email protected]>2025-11-20 10:45:13 -0600
commita9c56b813a1da393a93580a34dd12630667f40c6 (patch)
tree1d04a2d56b562b3af0407b55c1f3e2a72b86e196
parentb1b73c9deb3db96620640c49b0215f97a58987e7 (diff)
downloadopencode-a9c56b813a1da393a93580a34dd12630667f40c6.tar.gz
opencode-a9c56b813a1da393a93580a34dd12630667f40c6.zip
Make the MAX_OUTPUT_LENGTH in bash.ts overridable by OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH (#4497)
Co-authored-by: Björn Jacobs <[email protected]> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: rekram1-node <[email protected]>
-rw-r--r--packages/opencode/src/flag/flag.ts2
-rw-r--r--packages/opencode/src/tool/bash.ts7
2 files changed, 8 insertions, 1 deletions
diff --git a/packages/opencode/src/flag/flag.ts b/packages/opencode/src/flag/flag.ts
index b2b9be0ec..cdebad4bd 100644
--- a/packages/opencode/src/flag/flag.ts
+++ b/packages/opencode/src/flag/flag.ts
@@ -11,6 +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"]
// Experimental
export const OPENCODE_EXPERIMENTAL = truthy("OPENCODE_EXPERIMENTAL")
diff --git a/packages/opencode/src/tool/bash.ts b/packages/opencode/src/tool/bash.ts
index 55a612981..c56688181 100644
--- a/packages/opencode/src/tool/bash.ts
+++ b/packages/opencode/src/tool/bash.ts
@@ -12,9 +12,14 @@ import { Filesystem } from "@/util/filesystem"
import { Wildcard } from "@/util/wildcard"
import { Permission } from "@/permission"
import { fileURLToPath } from "url"
+import { Flag } from "@/flag/flag.ts"
import path from "path"
-const MAX_OUTPUT_LENGTH = 30_000
+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 = 1 * 60 * 1000
const MAX_TIMEOUT = 10 * 60 * 1000
const SIGKILL_TIMEOUT_MS = 200