namespace Zcbot.WindowsNode;

internal sealed record LocalJobState(
    string Stage,
    int Progress,
    string Detail,
    DateTimeOffset UpdatedAt);

internal sealed record JobDisplaySnapshot(
    Guid JobId,
    string Capability,
    string Title,
    string InputFilename,
    string Stage,
    int Progress,
    string Detail,
    DateTimeOffset AcceptedAt,
    DateTimeOffset UpdatedAt,
    bool UploadComplete)
{
    internal bool IsActive => Stage is not (
        "succeeded" or "failed" or "cancelled" or "cloud_terminal");
}
