use crate::models::common::{ContentFormat, JsonValue, MessageRole, MessageType, Status}; use chrono::{DateTime, Utc}; use serde::{Deserialize, Serialize}; use uuid::Uuid; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, sqlx::FromRow)] pub struct ConversationMessage { pub id: Uuid, pub conversation_id: Uuid, pub parent_message_id: Option, pub author_id: Option, pub agent_id: Option, pub ai_model_id: Option, pub role: MessageRole, pub message_type: MessageType, pub content: String, pub content_format: ContentFormat, pub status: Status, pub metadata: Option, pub token_input_count: Option, pub token_output_count: Option, pub edited_at: Option>, pub deleted_at: Option>, pub created_at: DateTime, pub updated_at: DateTime, }