pub struct ToolsConfig {
pub enabled: Vec<String>,
pub disabled: Vec<String>,
pub workspace: Option<PathBuf>,
pub permission_mode: PermissionMode,
pub shell_timeout_secs: u64,
pub output_budget_bytes: Option<usize>,
}Fields§
§enabled: Vec<String>Built-in tools to register. Empty means “all of them”.
disabled: Vec<String>Built-in tools to withhold, applied after enabled.
workspace: Option<PathBuf>Filesystem tools refuse to touch anything outside this root.
permission_mode: PermissionModeDefault answer when nothing is watching to approve a call.
shell_timeout_secs: u64§output_budget_bytes: Option<usize>The byte budget one turn’s tool results share, divided across the
batch. Oversized results are spilled to a file in full and cut in the
transcript, with the marker naming the path and the line to resume
from. Unset means derive it from the provider’s context window — see
ToolsConfig::resolved_output_budget.
Implementations§
Source§impl ToolsConfig
impl ToolsConfig
Sourcepub fn resolved_output_budget(&self, context_window: Option<u64>) -> usize
pub fn resolved_output_budget(&self, context_window: Option<u64>) -> usize
The per-turn tool-output budget, window-proportional when unpinned.
An eighth of the window in tokens, ~3 bytes per token. The constraint it serves: the between-turns compaction check reads the previous turn’s prompt size, so one turn’s results must not leap the gap between the threshold (two thirds of the window) and the window itself — a third of the window, shared with the model’s own output. The old flat 24 KB is ~8–12k tokens of numeric data, larger than that gap at a 32k window: on the 2026-08-07 Terminal-Bench subset a trial jumped from under the threshold to 45k tokens in one turn and died on the overflow. An eighth of the window (12,288 bytes at 32k) keeps even token-dense results inside the gap with room for output.
Trait Implementations§
Source§impl Clone for ToolsConfig
impl Clone for ToolsConfig
Source§fn clone(&self) -> ToolsConfig
fn clone(&self) -> ToolsConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more