ralph_workflow/config/
truncation.rs1pub const MAX_OUTPUT_LINES: usize = 5;
19
20pub mod quiet {
24 pub const TEXT: usize = 80;
25 pub const TOOL_RESULT: usize = 60;
26 pub const TOOL_INPUT: usize = 40;
27 pub const USER: usize = 40;
28 pub const RESULT: usize = 300;
29 pub const COMMAND: usize = 60;
30 pub const AGENT_MSG: usize = 80;
31 pub const DEFAULT: usize = 60;
32}
33
34pub mod normal {
39 pub const TEXT: usize = 1000;
40 pub const TOOL_RESULT: usize = 500;
41 pub const TOOL_INPUT: usize = 300;
42 pub const USER: usize = 200;
43 pub const RESULT: usize = 3000;
44 pub const COMMAND: usize = 400;
45 pub const AGENT_MSG: usize = 1000;
46 pub const DEFAULT: usize = 500;
47}
48
49pub mod verbose {
54 pub const TEXT: usize = 2000;
55 pub const TOOL_RESULT: usize = 500;
56 pub const TOOL_INPUT: usize = 300;
57 pub const USER: usize = 400;
58 pub const RESULT: usize = 5000;
59 pub const COMMAND: usize = 400;
60 pub const AGENT_MSG: usize = 2000;
61 pub const DEFAULT: usize = 1000;
62}
63
64pub const UNLIMITED: usize = 999_999;
66
67pub fn get_limit(level: u8, content_type: &str) -> usize {
78 match level {
79 0 => match content_type {
80 "text" => quiet::TEXT,
81 "tool_result" => quiet::TOOL_RESULT,
82 "tool_input" => quiet::TOOL_INPUT,
83 "user" => quiet::USER,
84 "result" => quiet::RESULT,
85 "command" => quiet::COMMAND,
86 "agent_msg" => quiet::AGENT_MSG,
87 _ => quiet::DEFAULT,
88 },
89 1 => match content_type {
90 "text" => normal::TEXT,
91 "tool_result" => normal::TOOL_RESULT,
92 "tool_input" => normal::TOOL_INPUT,
93 "user" => normal::USER,
94 "result" => normal::RESULT,
95 "command" => normal::COMMAND,
96 "agent_msg" => normal::AGENT_MSG,
97 _ => normal::DEFAULT,
98 },
99 2 => match content_type {
100 "text" => verbose::TEXT,
101 "tool_result" => verbose::TOOL_RESULT,
102 "tool_input" => verbose::TOOL_INPUT,
103 "user" => verbose::USER,
104 "result" => verbose::RESULT,
105 "command" => verbose::COMMAND,
106 "agent_msg" => verbose::AGENT_MSG,
107 _ => verbose::DEFAULT,
108 },
109 _ => UNLIMITED,
110 }
111}