Skip to main content

ri_agent_graph/
execution_cursor.rs

1use serde::{Deserialize, Serialize};
2
3/// Exact position of an interrupted execution.
4#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
5pub struct ExecutionCursor {
6    pub iteration: usize,
7    pub step_number: usize,
8    pub interrupt_phase: InterruptPhase,
9    pub resume_boundary: String,
10    pub active_nodes: Vec<String>,
11    pub remaining_nodes: Vec<String>,
12    pub completed_nodes_in_superstep: Vec<String>,
13    pub graph_version: String,
14    pub state_digest: String,
15}
16
17#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
18pub enum InterruptPhase {
19    Before,
20    After,
21}