using Aryx.AgentHost.Contracts; namespace Aryx.AgentHost.Services; public interface ITurnWorkflowRunner { Task> RunTurnAsync( RunTurnCommandDto command, Func onDelta, Func onEvent, Func onApproval, Func onUserInput, Func onMcpOAuthRequired, Func onExitPlanMode, CancellationToken cancellationToken); Task ResolveApprovalAsync( ResolveApprovalCommandDto command, CancellationToken cancellationToken); Task ResolveUserInputAsync( ResolveUserInputCommandDto command, CancellationToken cancellationToken); }