using TeamUp.SharedKernel.Access; namespace TeamUp.SharedKernel.Ai; /// /// Everything the assembler needs about a run, gathered from OrgBoard: the agent's config and the /// task. Lets the Assembler module build a prompt without referencing OrgBoard's entities. /// public sealed record AgentRunContext( Guid SeatId, Guid AgentId, string AgentName, string? Monogram, Autonomy Autonomy, Guid ApiConfigId, Guid? FallbackApiConfigId, IReadOnlyList SkillKeys, IReadOnlyList Docs, Guid WorkItemId, string TaskTitle, string? TaskDescription, string TaskType, Guid TeamId, Guid OrganizationId); /// Resolves the run context for a (seat, task) pair. Implemented by OrgBoard. public interface IAgentRunContextProvider { Task GetAsync(Guid seatId, Guid workItemId, CancellationToken cancellationToken = default); }