Skip to main content

cvkg_cli/
agent_replay.rs

1//! Agent Replay Module
2//! Load and replays agent traces for debugging
3
4use serde_json;
5
6
7use crate::dev_runtime::AgentEvent;
8
9/// Load an agent trace from a JSON file
10pub fn load_agent_trace(path: &str) -> Vec<AgentEvent> {
11    let data = std::fs::read_to_string(path).unwrap_or_else(|_| panic!("Failed to read agent trace file: {}", path));
12    serde_json::from_str(&data).unwrap_or_else(|_| panic!("Failed to parse agent trace JSON from: {}", path))
13}
14
15/// Replay an agent trace by sending events to the runtime
16pub fn replay_agent_trace<F>(events: Vec<AgentEvent>, mut inject_event: F)
17where
18    F: FnMut(AgentEvent),
19{
20    for event in events {
21        inject_event(event);
22        // In a real implementation, we might want to delay between events
23        // to simulate real-time behavior
24    }
25}