Table of Contents

Interface IOutputsRepository

Namespace
FlowOrchestrator.Core.Storage
Assembly
FlowOrchestrator.Core.dll

Stores and retrieves per-run step outputs, trigger data, and events. Outputs are keyed by RunId + step key and resolved at expression-evaluation time to satisfy @outputs('stepKey') references in downstream steps.

public interface IOutputsRepository
Extension Methods

Methods

EndScopeAsync(IExecutionContext, IFlowDefinition, IStepInstance)

Signals that the scoped step (loop iteration) identified by step is complete. Implementations may use this to aggregate loop outputs or release scope-level resources.

ValueTask EndScopeAsync(IExecutionContext ctx, IFlowDefinition flow, IStepInstance step)

Parameters

ctx IExecutionContext
flow IFlowDefinition
step IStepInstance

Returns

ValueTask

GetStepOutputAsync(Guid, string)

Retrieves the output of a step for the given run and step key, or null if the step has not yet completed.

ValueTask<object?> GetStepOutputAsync(Guid runId, string stepKey)

Parameters

runId Guid
stepKey string

Returns

ValueTask<object>

GetTriggerDataAsync(Guid)

Retrieves the raw trigger payload for the given run, or null if not stored.

ValueTask<object?> GetTriggerDataAsync(Guid runId)

Parameters

runId Guid

Returns

ValueTask<object>

GetTriggerHeadersAsync(Guid)

Retrieves the trigger headers for the given run, or null if not stored.

ValueTask<IReadOnlyDictionary<string, string>?> GetTriggerHeadersAsync(Guid runId)

Parameters

runId Guid

Returns

ValueTask<IReadOnlyDictionary<string, string>>

RecordEventAsync(IExecutionContext, IFlowDefinition, IStepInstance, FlowEvent)

Appends a FlowEvent to the event log for the run.

ValueTask RecordEventAsync(IExecutionContext ctx, IFlowDefinition flow, IStepInstance step, FlowEvent evt)

Parameters

ctx IExecutionContext
flow IFlowDefinition
step IStepInstance
evt FlowEvent

Returns

ValueTask

SaveStepInputAsync(IExecutionContext, IFlowDefinition, IStepInstance)

Persists the resolved inputs for a step (used for audit and retry replay).

ValueTask SaveStepInputAsync(IExecutionContext ctx, IFlowDefinition flow, IStepInstance step)

Parameters

ctx IExecutionContext
flow IFlowDefinition
step IStepInstance

Returns

ValueTask

SaveStepOutputAsync(IExecutionContext, IFlowDefinition, IStepInstance, IStepResult)

Persists the output of a completed step for later retrieval by downstream steps.

ValueTask SaveStepOutputAsync(IExecutionContext ctx, IFlowDefinition flow, IStepInstance step, IStepResult result)

Parameters

ctx IExecutionContext
flow IFlowDefinition
step IStepInstance
result IStepResult

Returns

ValueTask

SaveTriggerDataAsync(ITriggerContext, IFlowDefinition, ITrigger)

Persists the trigger payload for the run so steps can access it via @triggerBody().

ValueTask SaveTriggerDataAsync(ITriggerContext ctx, IFlowDefinition flow, ITrigger trigger)

Parameters

ctx ITriggerContext
flow IFlowDefinition
trigger ITrigger

Returns

ValueTask

SaveTriggerHeadersAsync(ITriggerContext, IFlowDefinition, ITrigger)

Persists the trigger HTTP headers for the run so steps can access them via @triggerHeaders().

ValueTask SaveTriggerHeadersAsync(ITriggerContext ctx, IFlowDefinition flow, ITrigger trigger)

Parameters

ctx ITriggerContext
flow IFlowDefinition
trigger ITrigger

Returns

ValueTask