using System;

namespace PolyTrader.Modules.Supervisor.Persistence
{
    /// <summary>
    /// Gespeicherte Analyse (Tabelle sup_reports): Frage, Antwort, Profil/Modell und die
    /// Tool-Aufruf-Historie — macht den Supervisor selbst auditierbar (Konzept §6) und
    /// füttert später den „Chef"-Supervisor sowie Tagesberichte.
    /// </summary>
    public class SupervisorReport
    {
        public long Id { get; set; }              // DB-Autoincrement
        public DateTime CreatedAt { get; set; } = DateTime.UtcNow;

        public string Profile { get; set; } = string.Empty;
        public string Model { get; set; } = string.Empty;
        public string Question { get; set; } = string.Empty;
        public string Answer { get; set; } = string.Empty;

        /// <summary>Tool-Aufrufe als JSON [{tool,args}] (Ergebnisse sind reproduzierbar, daher nicht gespeichert).</summary>
        public string ToolCallsJson { get; set; } = string.Empty;

        public int ToolCallCount { get; set; }
        public int PromptTokens { get; set; }
        public int CompletionTokens { get; set; }
    }
}
