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