use crate::dev_runtime::AgentEvent;
pub fn load_agent_trace(path: &str) -> anyhow::Result<Vec<AgentEvent>> {
let data = std::fs::read_to_string(path)
.map_err(|e| anyhow::anyhow!("Failed to read agent trace file '{}': {}", path, e))?;
let events = serde_json::from_str(&data)
.map_err(|e| anyhow::anyhow!("Failed to parse agent trace JSON from '{}': {}", path, e))?;
Ok(events)
}
pub fn replay_agent_trace<F>(events: Vec<AgentEvent>, mut inject_event: F)
where
F: FnMut(AgentEvent),
{
for event in events {
inject_event(event);
}
}