pub async fn send_chat_request_with_validation(
client: &LLMClient,
model: &str,
prompt: &str,
history: &[ChatEntry],
system_prompt: Option<&str>,
max_tokens: Option<u32>,
temperature: Option<f32>,
provider_name: &str,
tools: Option<Vec<Tool>>,
) -> Result<(String, Option<i32>, Option<i32>)>