summaryrefslogtreecommitdiff
path: root/src/Agent.Planner/PlannerTask.cs
blob: afba0ef163572bda2e0b043a511889ef9dae951d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace Agent.Planner;

public sealed record PlannerTask(
    Guid Id,
    string Description,
    IReadOnlySet<Guid> Dependencies,
    PlannerTaskState State,
    TokenBudgetClass BudgetClass,
    TokenEstimate Estimate,
    long ActualInputTokens,
    long ActualOutputTokens,
    bool RequiresExternalEffect,
    IReadOnlySet<string> RequiredEffectTools)
{
    public double ExpectedTokens => Estimate.ExpectedTokens;
    public long ActualTotalTokens => checked(ActualInputTokens + ActualOutputTokens);
}

public sealed record CriticalPathResult(IReadOnlyList<Guid> TaskIds, double CumulativeTokenCost);