pub struct StepResponse {Show 28 fields
pub id: Uuid,
pub trace_id: Uuid,
pub run_id: Uuid,
pub name: String,
pub kind: StepKind,
pub position: u32,
pub status: StepStatus,
pub attempt: u32,
pub input: Option<Value>,
pub output: Option<Value>,
pub error: Option<String>,
pub duration_ms: u64,
pub cost_usd: Decimal,
pub input_tokens: Option<u64>,
pub output_tokens: Option<u64>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub started_at: Option<DateTime<Utc>>,
pub completed_at: Option<DateTime<Utc>>,
pub dependencies: Vec<Uuid>,
pub debug_messages: Option<Value>,
pub artifacts: Vec<ArtifactResponse>,
pub approval_deadline_at: Option<DateTime<Utc>>,
pub approval_seconds_remaining: Option<i64>,
pub approval_assignee: Option<Assignee>,
pub approval_requirement: Option<ApprovalRequirement>,
pub approvals: Vec<StepApproval>,
pub approvals_required: Option<u32>,
}Expand description
Step response DTO — public API representation of a step.
§Examples
use ironflow_store::models::Step;
use ironflow_api::entities::StepResponse;Fields§
§id: UuidUnique step identifier.
trace_id: UuidDeterministic trace ID for log correlation.
run_id: UuidParent run ID.
name: StringStep name.
kind: StepKindStep operation type.
position: u32Execution order (0-based).
status: StepStatusCurrent status.
attempt: u32Which run attempt produced this step (1-based).
A run retried twice exposes steps with attempt 1, 2 and 3. Steps from
earlier attempts are kept so a failed attempt stays inspectable.
input: Option<Value>Input configuration.
output: Option<Value>Step output.
error: Option<String>Optional error message.
duration_ms: u64Execution duration in milliseconds.
cost_usd: DecimalCost in USD.
input_tokens: Option<u64>Input token count (agent steps).
output_tokens: Option<u64>Output token count (agent steps).
created_at: DateTime<Utc>When created.
updated_at: DateTime<Utc>When updated.
started_at: Option<DateTime<Utc>>When execution started.
completed_at: Option<DateTime<Utc>>When execution completed.
dependencies: Vec<Uuid>IDs of steps this step depends on (direct dependencies).
debug_messages: Option<Value>Verbose conversation trace for agent steps (thinking blocks, tool
calls, tool results, per-turn usage). None when verbose mode was
off or the step is not an agent step.
artifacts: Vec<ArtifactResponse>Files this step produced, downloadable through the artifact route.
Empty when the step produced none or when artifact storage is not configured on the server.
approval_deadline_at: Option<DateTime<Utc>>When this approval gate expires, if it carries an SLA deadline.
approval_seconds_remaining: Option<i64>Seconds left before the gate escalates. Clamped at 0, None when the
step has no deadline.
approval_assignee: Option<Assignee>Who the approval is currently assigned to.
Serialized as a prefixed string: user:{name} or group:{name}.
approval_requirement: Option<ApprovalRequirement>Approval requirement evaluated from the gate’s approval rules when it
opened. None for steps without rules.
approvals: Vec<StepApproval>Votes cast on the approval gate so far, at most one per user.
approvals_required: Option<u32>Distinct approvals the gate needs: the requirement’s count, 1 for an
approval step without rules, None for any other step kind.
Implementations§
Source§impl StepResponse
impl StepResponse
Sourcepub fn with_dependencies(step: Step, dependencies: Vec<Uuid>) -> Self
pub fn with_dependencies(step: Step, dependencies: Vec<Uuid>) -> Self
Build a response from a step entity with pre-resolved dependencies.
Artifacts are left empty; use
with_dependencies_and_artifacts
when they have been fetched.
Sourcepub fn with_dependencies_and_artifacts(
step: Step,
dependencies: Vec<Uuid>,
artifacts: Vec<ArtifactResponse>,
) -> Self
pub fn with_dependencies_and_artifacts( step: Step, dependencies: Vec<Uuid>, artifacts: Vec<ArtifactResponse>, ) -> Self
Build a response from a step entity with its dependencies and artifacts.