pub struct RecursionFrame {
pub graph_id: GraphId,
pub node_id: Option<NodeId>,
pub run_id: RunId,
pub task_id: Option<TaskId>,
pub namespace: Vec<String>,
pub depth: usize,
pub parent: Option<RunId>,
}Expand description
One level of the graph/subgraph/sub-agent recursion tree.
A frame is pushed for every recursive call (a graph invoking a subgraph, a
subgraph invoking a sub-agent, a router looping a graph back into itself) and
popped on return, so the live RecursionStack always describes the path
from the root run down to the currently-executing run. Frames are serialized
into checkpoint metadata so a UI can render nested runs without
reconstructing the tree from event logs.
Fields§
§graph_id: GraphIdThe graph this frame is executing.
node_id: Option<NodeId>The hosting node, when this frame was entered from a parent node (the
root frame of a top-level run has None).
run_id: RunIdThe run id of this frame’s execution.
task_id: Option<TaskId>The scheduled task this frame descends from, when graph-backed (for
example a Send fanout task).
namespace: Vec<String>The checkpoint namespace of this frame’s graph (empty for top-level).
depth: usizeZero-based depth of this frame in the recursion tree (the root is 0).
parent: Option<RunId>The run id of the enclosing frame, when this frame is a child run.
Trait Implementations§
Source§impl Clone for RecursionFrame
impl Clone for RecursionFrame
Source§fn clone(&self) -> RecursionFrame
fn clone(&self) -> RecursionFrame
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more