use crate::node::NodeId;
#[derive(Clone, Debug)]
pub enum GraphEvent {
NodeStart { id: NodeId, timestamp: u64 },
NodeSuccess { id: NodeId },
NodeFailed { id: NodeId, error: String },
NodeSkipped { id: NodeId },
NodeRetry {
id: NodeId,
attempt: u32,
max_retries: u32,
error: String,
},
LoopIteration {
iteration: usize,
block_index: usize,
},
BranchSelected {
node_id: NodeId,
selected_branches: Vec<usize>,
},
Progress { completed: usize, total: usize },
CheckpointSaved {
checkpoint_id: String,
pc: usize,
completed_nodes: usize,
},
CheckpointRestored { checkpoint_id: String, pc: usize },
GraphFinished,
}