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
ctxIExecutionContextflowIFlowDefinitionstepIStepInstance
Returns
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
Returns
GetTriggerDataAsync(Guid)
Retrieves the raw trigger payload for the given run, or null if not stored.
ValueTask<object?> GetTriggerDataAsync(Guid runId)
Parameters
runIdGuid
Returns
GetTriggerHeadersAsync(Guid)
Retrieves the trigger headers for the given run, or null if not stored.
ValueTask<IReadOnlyDictionary<string, string>?> GetTriggerHeadersAsync(Guid runId)
Parameters
runIdGuid
Returns
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
ctxIExecutionContextflowIFlowDefinitionstepIStepInstanceevtFlowEvent
Returns
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
ctxIExecutionContextflowIFlowDefinitionstepIStepInstance
Returns
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
ctxIExecutionContextflowIFlowDefinitionstepIStepInstanceresultIStepResult
Returns
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
ctxITriggerContextflowIFlowDefinitiontriggerITrigger
Returns
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
ctxITriggerContextflowIFlowDefinitiontriggerITrigger