pub const MAX_OUTPUT_LINES: usize = 5;
pub mod quiet {
pub const TEXT: usize = 80;
pub const TOOL_RESULT: usize = 60;
pub const TOOL_INPUT: usize = 40;
pub const USER: usize = 40;
pub const RESULT: usize = 300;
pub const COMMAND: usize = 60;
pub const AGENT_MSG: usize = 80;
pub const DEFAULT: usize = 60;
}
pub mod normal {
pub const TEXT: usize = 1000;
pub const TOOL_RESULT: usize = 500;
pub const TOOL_INPUT: usize = 300;
pub const USER: usize = 200;
pub const RESULT: usize = 3000;
pub const COMMAND: usize = 400;
pub const AGENT_MSG: usize = 1000;
pub const DEFAULT: usize = 500;
}
pub mod verbose {
pub const TEXT: usize = 2000;
pub const TOOL_RESULT: usize = 500;
pub const TOOL_INPUT: usize = 300;
pub const USER: usize = 400;
pub const RESULT: usize = 5000;
pub const COMMAND: usize = 400;
pub const AGENT_MSG: usize = 2000;
pub const DEFAULT: usize = 1000;
}
pub const UNLIMITED: usize = 999_999;
#[must_use]
pub fn get_limit(level: u8, content_type: &str) -> usize {
match level {
0 => match content_type {
"text" => quiet::TEXT,
"tool_result" => quiet::TOOL_RESULT,
"tool_input" => quiet::TOOL_INPUT,
"user" => quiet::USER,
"result" => quiet::RESULT,
"command" => quiet::COMMAND,
"agent_msg" => quiet::AGENT_MSG,
_ => quiet::DEFAULT,
},
1 => match content_type {
"text" => normal::TEXT,
"tool_result" => normal::TOOL_RESULT,
"tool_input" => normal::TOOL_INPUT,
"user" => normal::USER,
"result" => normal::RESULT,
"command" => normal::COMMAND,
"agent_msg" => normal::AGENT_MSG,
_ => normal::DEFAULT,
},
2 => match content_type {
"text" => verbose::TEXT,
"tool_result" => verbose::TOOL_RESULT,
"tool_input" => verbose::TOOL_INPUT,
"user" => verbose::USER,
"result" => verbose::RESULT,
"command" => verbose::COMMAND,
"agent_msg" => verbose::AGENT_MSG,
_ => verbose::DEFAULT,
},
_ => UNLIMITED,
}
}