using System.Threading.Tasks; using GB5Shared.DTO.GOP; namespace FrameworkSL.Hubs.GOP { // ============================================================ // IGopExecutionClient — strongly-typed client contract for // the GopExecutionHub. // // Used as the type parameter in Hub to // give compile-time verification of every client-side method // and its parameter types. // // DTOs are defined in GB5Shared so both FrameworkBLL (pipeline) // and FrameworkSL (hub) can reference them without circular deps. // ============================================================ public interface IGopExecutionClient { /// /// Fired after each step completes (or fails) so the UI can /// update the execution status panel in real-time without polling. /// Task ReceiveExecutionUpdate(GopExecutionStatusDTO status); /// /// Fired when a new dead-letter item is created for this tenant. /// Allows the DLQ monitor panel to refresh its badge/count. /// Task ReceiveDLQUpdate(GopDLQSummaryDTO summary); } }