namespace Gott.Models; public class SessionRecord { public long Id { get; set; } public string SessionId { get; set; } public string Name { get; set; } public string Description { get; set; } public string Image { get; set; } public string ImageSmall { get; set; } // 256px Thumbnail für Listen public string AgentId { get; set; } public string Workspace { get; set; } public string Context { get; set; } public string CustomCommands { get; set; } public string UserId { get; set; } public bool IsDeleted { get; set; } public string TelegramBotId { get; set; } public string TelegramChatId { get; set; } public double AvatarScale { get; set; } = 1.0; public double AvatarOffsetX { get; set; } public double AvatarOffsetY { get; set; } public string ReviewAgentId { get; set; } public int MaxReviewIterations { get; set; } = 3; public string FinalizerAgentId { get; set; } public string PreparerAgentId { get; set; } public string MultiModelMode { get; set; } // "off" / "fusion" / "moa" public string PanelAgentIds { get; set; } // CSV der Panel-Agenten (Proposer) public int MoaLayers { get; set; } = 2; // MoA: Anzahl Proposer-Runden vor der Synthese (Fusion ignoriert) public string UnityMcpUrl { get; set; } public string UnityMcpToken { get; set; } public string CreatedAt { get; set; } public string UpdatedAt { get; set; } } public class SessionWithStats { public SessionRecord Session { get; set; } public int MessageCount { get; set; } public int ArchiveMessageCount { get; set; } public int TotalMessageCount { get; set; } public bool TelegramConfigured { get; set; } public bool TelegramLinked { get; set; } } public class GitStatusSummary { public int Add { get; set; } public int Edit { get; set; } public int Delete { get; set; } public int Outgoing { get; set; } }