namespace SeaHaven.Services.Interfaces { public interface IWorkOrderWebhookService { int MaximumBodyBytes { get; } Task ProcessAsync( WorkOrderWebhookRequest request, CancellationToken cancellationToken); } public sealed record WorkOrderWebhookRequest( string? Timestamp, string? KeyId, string? Signature, byte[] Body); public enum WorkOrderWebhookStatus { Applied, Duplicate, Unauthorized, Disabled, InvalidEnvelope, HashConflict, Unavailable } public sealed record WorkOrderWebhookResult( WorkOrderWebhookStatus Status, bool StateMutationSkipped = false); }