pub struct StepUpdate {Show 19 fields
pub status: Option<StepStatus>,
pub output: Option<Value>,
pub error: Option<String>,
pub duration_ms: Option<u64>,
pub cost_usd: Option<Decimal>,
pub input_tokens: Option<u64>,
pub cache_read_input_tokens: Option<u64>,
pub cache_creation_input_tokens: Option<u64>,
pub output_tokens: Option<u64>,
pub started_at: Option<DateTime<Utc>>,
pub completed_at: Option<DateTime<Utc>>,
pub debug_messages: Option<Value>,
pub approval_deadline_at: Option<DateTime<Utc>>,
pub approval_stage: Option<u32>,
pub approval_assignee: Option<Assignee>,
pub approval_requirement: Option<ApprovalRequirement>,
pub clear_approval_deadline: bool,
pub account_id: Option<Uuid>,
pub environment_id: Option<String>,
}Expand description
Partial update for a step after execution.
Only Some fields are applied; None fields are left unchanged.
§Examples
use ironflow_store::entities::{StepUpdate, StepStatus};
use serde_json::json;
let update = StepUpdate {
status: Some(StepStatus::Completed),
output: Some(json!({"stdout": "ok"})),
..StepUpdate::default()
};Fields§
§status: Option<StepStatus>New status.
output: Option<Value>Operation output.
error: Option<String>Error message.
duration_ms: Option<u64>Execution duration.
cost_usd: Option<Decimal>Cost in USD.
input_tokens: Option<u64>Uncached input token count.
cache_read_input_tokens: Option<u64>Input tokens served from the prompt cache.
cache_creation_input_tokens: Option<u64>Input tokens written to the prompt cache.
output_tokens: Option<u64>Output token count.
started_at: Option<DateTime<Utc>>When execution started.
completed_at: Option<DateTime<Utc>>When execution completed.
debug_messages: Option<Value>Debug messages (verbose conversation trace), stored as JSON.
approval_deadline_at: Option<DateTime<Utc>>New approval deadline. None leaves it unchanged — use
clear_approval_deadline to remove it.
approval_stage: Option<u32>New escalation stage index.
approval_assignee: Option<Assignee>New approval assignee.
approval_requirement: Option<ApprovalRequirement>Approval requirement recorded when the gate opened.
clear_approval_deadline: boolClear the approval deadline (sets it to NULL). Wins over
approval_deadline_at when both are set.
account_id: Option<Uuid>Provider Account the agent step ran under.
environment_id: Option<String>Persistent environment the agent step ran in.