using FrameworkDAL.DTO.EIPConversation; using GB5Shared.DTO.Framework.Login; using PuppeteerSharp; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FrameworkBLL.EIPConversation.EIPHandlers.EIPEngine.FlowEngine { /// /// Phase 3 – DSL Flow Execution Engine. /// Interprets flow steps and executes logic accordingly. /// public interface IEIPFlowEngine { /// Loads the flow definition from the repository then executes it. Task ExecuteFlowAsync( EIPExecutionContextDTO context, string flowCode, LoginDTO? loginDTO = null, CancellationToken cancellationToken = default); /// /// Executes a pre-parsed flow definition directly, bypassing the repository. /// Used by the EIP Playground so flows can be tested from raw JSON without a DB record. /// Task ExecuteFlowFromDefinitionAsync( EIPExecutionContextDTO context, EIPFlowDefinitionDTO flowDefinition, LoginDTO? loginDTO = null, CancellationToken cancellationToken = default); } }