Skip to content

Commit a9c56b8

Browse files
cc-bjojacBjörn Jacobsopencode-agent[bot]rekram1-node
authored
Make the MAX_OUTPUT_LENGTH in bash.ts overridable by OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH (anomalyco#4497)
Co-authored-by: Björn Jacobs <bjoern.jacobs.ext@bundesanzeiger.de> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com> Co-authored-by: rekram1-node <rekram1-node@users.noreply.github.com>
1 parent b1b73c9 commit a9c56b8

2 files changed

Lines changed: 8 additions & 1 deletion

File tree

packages/opencode/src/flag/flag.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +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"]
1416

1517
// Experimental
1618
export const OPENCODE_EXPERIMENTAL = truthy("OPENCODE_EXPERIMENTAL")

packages/opencode/src/tool/bash.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,14 @@ import { Filesystem } from "@/util/filesystem"
1212
import { Wildcard } from "@/util/wildcard"
1313
import { Permission } from "@/permission"
1414
import { fileURLToPath } from "url"
15+
import { Flag } from "@/flag/flag.ts"
1516
import path from "path"
1617

17-
const MAX_OUTPUT_LENGTH = 30_000
18+
const DEFAULT_MAX_OUTPUT_LENGTH = 30_000
19+
const MAX_OUTPUT_LENGTH = (() => {
20+
const parsed = Number(Flag.OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH)
21+
return Number.isInteger(parsed) && parsed > 0 ? parsed : DEFAULT_MAX_OUTPUT_LENGTH
22+
})()
1823
const DEFAULT_TIMEOUT = 1 * 60 * 1000
1924
const MAX_TIMEOUT = 10 * 60 * 1000
2025
const SIGKILL_TIMEOUT_MS = 200

0 commit comments

Comments
 (0)