use zeroclaw_api::model_provider::ConversationMessage;
use crate::observer::RecordedCall;
pub struct RunRecord {
pub final_response: String,
pub history: Vec<ConversationMessage>,
pub tool_calls: Vec<RecordedCall>,
pub input_tokens: u64,
pub output_tokens: u64,
}
impl RunRecord {
pub fn tool_names(&self) -> Vec<&str> {
self.tool_calls
.iter()
.map(|call| call.name.as_str())
.collect()
}
pub fn all_tools_succeeded(&self) -> bool {
self.tool_calls.iter().all(|call| call.success)
}
}