namespace Nexus.Api.Models;

/// <summary>
/// Transport contract for a Nexus-owned mission scope. Persistence entities
/// stay behind the API boundary so OpenAPI remains the frontend authority.
/// </summary>
public sealed record ProjectDto(
    Guid Id,
    string Name,
    string Description,
    string Status,
    int Progress,
    DateTimeOffset UpdatedAt,
    OperationResultDto? Operation = null);

public sealed record ProjectTaskDto(
    Guid Id,
    string Title,
    string State,
    string Priority,
    Guid ProjectId,
    string? AssignedTo,
    string? ExpectedFrom,
    bool IsAgentTask,
    DateTimeOffset UpdatedAt);
