namespace Codex.Dal.QueryProviders;

/// <summary>
/// Conversation list item for dynamic queries with pagination, filtering, and sorting support
/// </summary>
public record ListConversationsQueryItem
{
    /// <summary>Unique conversation identifier</summary>
    public Guid Id { get; init; }

    /// <summary>Conversation title</summary>
    public string Title { get; init; } = string.Empty;

    /// <summary>Conversation summary</summary>
    public string? Summary { get; init; }

    /// <summary>Whether conversation is active</summary>
    public bool IsActive { get; init; }

    /// <summary>Creation timestamp</summary>
    public DateTime CreatedAt { get; init; }

    /// <summary>Last message timestamp</summary>
    public DateTime LastMessageAt { get; init; }

    /// <summary>Total number of messages in conversation</summary>
    public int MessageCount { get; init; }

    /// <summary>Number of agent executions in conversation</summary>
    public int ExecutionCount { get; init; }
}
