Table of Contents

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

key string

The step's key in the flow manifest (or its runtime loop path).

type string

The 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

int

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

IDictionary<string, object>

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

string

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

string

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

string

RunId

Unique identifier for this flow run, generated at trigger time.

public Guid RunId { get; set; }

Property Value

Guid

ScheduledTime

The wall-clock time at which this step was enqueued.

public DateTimeOffset ScheduledTime { get; set; }

Property Value

DateTimeOffset

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

bool

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

object

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

IReadOnlyDictionary<string, string>

Type

The type name that maps this step to its registered IStepHandler.

public string Type { get; set; }

Property Value

string