31 lines
947 B
C#
31 lines
947 B
C#
|
|
using TeamUp.SharedKernel.Access;
|
||
|
|
|
||
|
|
namespace TeamUp.SharedKernel.Ai;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 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.
|
||
|
|
/// </summary>
|
||
|
|
public sealed record AgentRunContext(
|
||
|
|
Guid SeatId,
|
||
|
|
Guid AgentId,
|
||
|
|
string AgentName,
|
||
|
|
string? Monogram,
|
||
|
|
Autonomy Autonomy,
|
||
|
|
Guid ApiConfigId,
|
||
|
|
Guid? FallbackApiConfigId,
|
||
|
|
IReadOnlyList<string> SkillKeys,
|
||
|
|
IReadOnlyList<string> Docs,
|
||
|
|
Guid WorkItemId,
|
||
|
|
string TaskTitle,
|
||
|
|
string? TaskDescription,
|
||
|
|
string TaskType,
|
||
|
|
Guid TeamId,
|
||
|
|
Guid OrganizationId);
|
||
|
|
|
||
|
|
/// <summary>Resolves the run context for a (seat, task) pair. Implemented by OrgBoard.</summary>
|
||
|
|
public interface IAgentRunContextProvider
|
||
|
|
{
|
||
|
|
Task<AgentRunContext?> GetAsync(Guid seatId, Guid workItemId, CancellationToken cancellationToken = default);
|
||
|
|
}
|