diff --git a/plugins/_code_execution/default_config.yaml b/plugins/_code_execution/default_config.yaml index 4858a65b28..8cc4f56265 100644 --- a/plugins/_code_execution/default_config.yaml +++ b/plugins/_code_execution/default_config.yaml @@ -37,3 +37,6 @@ dialog_patterns: | yes/no :\s*$ \?\s*$ + +# Maximum terminal output size in characters before truncation (default: 30000 ≈ ~7.5K tokens) +max_output_chars: 30000 diff --git a/plugins/_code_execution/tools/code_execution_tool.py b/plugins/_code_execution/tools/code_execution_tool.py index 7441001d61..5e8424bf68 100644 --- a/plugins/_code_execution/tools/code_execution_tool.py +++ b/plugins/_code_execution/tools/code_execution_tool.py @@ -472,7 +472,9 @@ def get_heading_from_output(self, output: str, skip_lines=0, done=False): def fix_full_output(self, output: str): output = re.sub(r"(? str | None: @@ -550,6 +552,7 @@ def _get_config(agent) -> dict: "output_timeouts": _parse_timeouts(cfg, "output", (120, 60, 600, 5)), "prompt_patterns": _parse_patterns(cfg.get("prompt_patterns", "")), "dialog_patterns": _parse_patterns(cfg.get("dialog_patterns", ""), re.IGNORECASE), + "max_output_chars": int(cfg.get("max_output_chars", 30000)), }