use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(default)]
pub struct ToolsConfig {
#[serde(default = "default_max_output_tokens")]
pub max_output_tokens: usize,
#[serde(default = "default_output_head_tokens")]
pub output_head_tokens: usize,
#[serde(default = "default_output_cap_chars_per_token")]
pub output_cap_chars_per_token: usize,
}
impl Default for ToolsConfig {
fn default() -> Self {
Self {
max_output_tokens: default_max_output_tokens(),
output_head_tokens: default_output_head_tokens(),
output_cap_chars_per_token: default_output_cap_chars_per_token(),
}
}
}
pub(crate) fn default_max_output_tokens() -> usize {
10_000
}
pub(crate) fn default_output_head_tokens() -> usize {
1_500
}
pub(crate) fn default_output_cap_chars_per_token() -> usize {
3
}