pub struct AgentStep {
pub id: Uuid,
pub timestamp: DateTime<Utc>,
pub reasoning: Option<ReasoningBlock>,
pub message: Option<MessageBlock>,
pub tools: Vec<ToolExecution>,
pub usage: Option<ContextWindowUsage>,
pub is_failed: bool,
pub status: StepStatus,
}Expand description
Single LLM inference cycle with optional tool executions.
A step represents one round of agent thinking and acting:
- Generation phase: LLM produces reasoning, messages, and tool calls
- Execution phase: Tools are executed and results collected
Steps are the atomic unit of agent behavior analysis.
Fields§
§id: UuidUnique step identifier (ID of the first event in this step).
timestamp: DateTime<Utc>When the step started.
reasoning: Option<ReasoningBlock>Chain-of-thought reasoning, if present.
message: Option<MessageBlock>Text response to user or explanation of tool usage.
tools: Vec<ToolExecution>Tool executions (call + result pairs) performed in this step. Calls are generated in Phase 1, paired with results here.
usage: Option<ContextWindowUsage>Token usage for this step’s LLM inference, if available.
is_failed: boolWhether this step encountered any failures.
status: StepStatusCurrent completion status of this step.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AgentStep
impl<'de> Deserialize<'de> for AgentStep
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for AgentStep
impl RefUnwindSafe for AgentStep
impl Send for AgentStep
impl Sync for AgentStep
impl Unpin for AgentStep
impl UnwindSafe for AgentStep
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more