Class StepInstance
- Namespace
- FlowOrchestrator.Core.Execution
- Assembly
- FlowOrchestrator.Core.dll
Default mutable implementation of IStepInstance, constructed by FlowExecutor and FlowGraphPlanner when a step is ready to run.
public sealed class StepInstance : IStepInstance, IStepInstance<IDictionary<string, object?>>, IExecutionContext
- Inheritance
-
StepInstance
- Implements
- Inherited Members
- Extension Methods
Constructors
StepInstance(string, string)
Initialises a step instance with its manifest key and handler type name.
public StepInstance(string key, string type)
Parameters
keystringThe step's key in the flow manifest (or its runtime loop path).
typestringThe type name used to look up the registered handler.
Properties
Index
Zero-based iteration index when this step is executing inside a LoopStepMetadata scope.
public int Index { get; set; }
Property Value
Inputs
Step inputs after expression resolution. For typed steps, this is deserialised to IDictionary<string, object> before the handler is invoked.
public IDictionary<string, object?> Inputs { get; set; }
Property Value
JobId
Runtime-specific job or message identifier for the current execution unit (Hangfire job ID, queue message ID, etc.). Set by the runtime adapter before invoking the engine. Stored on the run and step records for correlation with the runtime's own dashboard.
public string? JobId { get; set; }
Property Value
Key
The unique key that identifies this step in the flow manifest (or its runtime loop path,
e.g. "processItems.0.validate").
public string Key { get; }
Property Value
PrincipalId
Identity of the caller that triggered the run, or null if anonymous. Sourced from the authentication principal at trigger time.
public string? PrincipalId { get; set; }
Property Value
RunId
Unique identifier for this flow run, generated at trigger time.
public Guid RunId { get; set; }
Property Value
ScheduledTime
The wall-clock time at which this step was enqueued.
public DateTimeOffset ScheduledTime { get; set; }
Property Value
ScopeMoveNext
When true, signals the loop handler to advance to the next iteration
after this step completes. Set by ForEachStepHandler.
public bool ScopeMoveNext { get; set; }
Property Value
TriggerData
Deserialized body of the trigger payload (e.g. the webhook request body or manual trigger data).
Available to steps via @triggerBody() expressions.
public object? TriggerData { get; set; }
Property Value
TriggerHeaders
HTTP headers from the inbound trigger request, or null for non-HTTP triggers.
Available to steps via @triggerHeaders() expressions.
public IReadOnlyDictionary<string, string>? TriggerHeaders { get; set; }
Property Value
Type
The type name that maps this step to its registered IStepHandler.
public string Type { get; set; }