using Codex.Dal.Enums;

namespace Codex.Dal.QueryProviders;

/// <summary>
/// Item structure for agent list results with counts and metadata
/// </summary>
public record ListAgentsQueryItem
{
    public Guid Id { get; init; }
    public string Name { get; init; } = string.Empty;
    public string Description { get; init; } = string.Empty;
    public AgentType Type { get; init; }
    public string ModelProvider { get; init; } = string.Empty;
    public string ModelName { get; init; } = string.Empty;
    public ModelProviderType ProviderType { get; init; }
    public string? ModelEndpoint { get; init; }
    public AgentStatus Status { get; init; }
    public DateTime CreatedAt { get; init; }
    public DateTime UpdatedAt { get; init; }

    /// <summary>Number of enabled tools for this agent</summary>
    public int ToolCount { get; init; }

    /// <summary>Total number of executions for this agent</summary>
    public int ExecutionCount { get; init; }
}
