namespace AIStudio.Assistants.VisualBriefing;
///
/// Pairs one independently tracked pipeline operation with the durable stage it reports as.
///
/// The durable stage.
/// The stage action.
internal sealed class VisualBriefingBuildStep(
VisualBriefingBuildStage stage,
Func action)
{
///
/// Gets the durable stage represented by the step.
///
public VisualBriefingBuildStage Stage { get; } = stage;
///
/// Executes the step.
///
/// The cancellation token.
/// A task that completes when the step finishes.
public Task ExecuteAsync(CancellationToken token) => action(token);
}