namespace Codex.Dal.Entities;
///
/// Represents a conversation grouping multiple messages together.
/// Provides conversation-level metadata and tracking.
///
public class Conversation
{
///
/// Unique identifier for the conversation
///
public Guid Id { get; set; }
///
/// Title or summary of the conversation (can be auto-generated from first message)
///
public string Title { get; set; } = string.Empty;
///
/// Brief summary of the conversation topic or purpose
///
public string? Summary { get; set; }
///
/// When the conversation was started
///
public DateTime StartedAt { get; set; } = DateTime.UtcNow;
///
/// When the last message was added to this conversation
///
public DateTime LastMessageAt { get; set; } = DateTime.UtcNow;
///
/// Whether this conversation is currently active
///
public bool IsActive { get; set; } = true;
///
/// Total number of messages in this conversation
///
public int MessageCount { get; set; } = 0;
// Navigation properties
///
/// All messages in this conversation
///
public ICollection Messages { get; set; } = new List();
///
/// Agent executions that are part of this conversation
///
public ICollection Executions { get; set; } = new List();
}