pub struct Step {Show 14 fields
pub id: StepId,
pub parent_step_id: Option<StepId>,
pub step_type: StepType,
pub name: String,
pub state: StepState,
pub input: Option<String>,
pub output: Option<String>,
pub error: Option<ExecutionError>,
pub duration_ms: Option<u64>,
pub started_at: Option<i64>,
pub ended_at: Option<i64>,
pub source: Option<StepSource>,
pub callable_id: Option<String>,
pub callable_type: Option<CallableType>,
}Expand description
Step - a distinct action within an execution
@see packages/enact-schemas/src/streaming.schemas.ts - stepEventDataSchema
Fields§
§id: StepIdUnique step ID
parent_step_id: Option<StepId>Parent step (for nested operations)
step_type: StepTypeStep type
name: StringStep name/label
state: StepStateCurrent state (matches state in TypeScript schema)
input: Option<String>Input to this step
output: Option<String>Output from this step
error: Option<ExecutionError>Structured error (if failed) - see feat-02 Error Taxonomy
duration_ms: Option<u64>Duration in milliseconds
started_at: Option<i64>Timestamp when step started (unix millis)
ended_at: Option<i64>Timestamp when step ended (unix millis)
source: Option<StepSource>Source/origin of this step (how/why it was created)
callable_id: Option<String>Callable ID (stable identifier for billing/traceability)
Unlike name which can change, this provides a stable reference.
callable_type: Option<CallableType>Callable type (for billing differentiation and audit trails)
Implementations§
Source§impl Step
impl Step
Sourcepub fn nested(
parent_id: &StepId,
step_type: StepType,
name: impl Into<String>,
) -> Self
pub fn nested( parent_id: &StepId, step_type: StepType, name: impl Into<String>, ) -> Self
Create a nested step under a parent
Sourcepub fn with_input(self, input: impl Into<String>) -> Self
pub fn with_input(self, input: impl Into<String>) -> Self
Set input
Sourcepub fn with_source(self, source: StepSource) -> Self
pub fn with_source(self, source: StepSource) -> Self
Set source/origin of this step
Sourcepub fn with_callable(
self,
callable_id: impl Into<String>,
callable_type: CallableType,
) -> Self
pub fn with_callable( self, callable_id: impl Into<String>, callable_type: CallableType, ) -> Self
Set callable info (for billing/traceability)
Unlike name which can change, callable_id provides a stable reference
for cost attribution and audit trails.