use crate::error::{Error, Result};
use crate::evaluation::Profile;
#[derive(Debug, Default)]
pub struct ThinkToolExecutor;
impl ThinkToolExecutor {
pub fn new() -> Self {
Self
}
pub async fn run(&self, prompt: &str, profile: Profile) -> Result<String> {
if prompt.trim().is_empty() {
return Err(Error::Validation("Prompt is empty".to_string()));
}
let mut protocol = String::new();
protocol.push_str("Protocol: Generated Reasoning Protocol\n");
protocol.push_str(&format!("Profile: {:?}\n\n", profile));
protocol.push_str("Prompt:\n");
protocol.push_str(prompt);
protocol.push('\n');
Ok(protocol)
}
}