use chrono::{DateTime, Utc};
use serde::{Deserialize, Serialize};
use sqlx::FromRow;
use uuid::Uuid;

#[derive(Debug, Clone, PartialEq, Serialize, Deserialize, FromRow)]
pub struct AgentMessageModel {
    pub id: Uuid,
    pub conversation: Uuid,
    pub parent: Option<Uuid>,
    pub role: String,
    pub author: Option<Uuid>,
    pub content: String,
    pub content_type: String,
    pub status: String,
    pub model_invocation: Option<Uuid>,
    pub reasoning_content: Option<String>,
    pub created_at: DateTime<Utc>,
    pub updated_at: DateTime<Utc>,
    pub deleted_at: Option<DateTime<Utc>>,
}
