using GB5Shared.DTO.Framework.Login; using GB5Shared.ExternalAI; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace EAIAdminBLL.Sync { /// /// Calls one of gbEAI's live agent-execution routes (POST /<slug>) — as opposed to /// IEAISyncClient, which only pushes/pulls admin config. Built on the same shared /// IAIEngineSyncClient transport EAISyncClient uses, reusing EAIAdmin's existing /// "EAIAdmin:AIExtract" options (no third named-options section needed — see the approved /// plan's Phase 2 "Report-analysis side" note). /// public interface IEAIExecutionSyncClient { /// file is required for gbEAI agents with requires_file=True (e.g. /// document_identifier, parse_validate) and ignored otherwise. Task ExecuteAgentAsync( string agentSlug, IReadOnlyDictionary formFields, LoginDTO login, (string FileName, byte[] Bytes)? file = null, CancellationToken ct = default); } }