namespace Svrnty.CQRS.Events.Abstractions.Correlation; /// /// Optional interface for commands that are part of a multi-step workflow/saga. /// Implement this to provide a correlation ID that links multiple commands together. /// If CorrelationId is provided, the framework will use it instead of generating a new one. /// public interface ICorrelatedCommand { /// /// Optional correlation ID to link this command with previous commands/events. /// If null or empty, the framework will generate a new correlation ID. /// If provided, this correlation ID will be used for all events emitted by this command. /// string? CorrelationId { get; } }