/// Role of a message participant in a conversation.
////// Follows the late-binding principle: internal format until provider converts at boundary.
#[derive(Debug, Clone, PartialEq)]pubenumRole{/// System-level instructions (typically the agent's SOUL.md).
System,/// A message from the human user or the discussion orchestrator.
User,/// A response generated by the LLM.
Assistant,}/// A single message in a conversation history.
#[derive(Debug, Clone)]pubstructMessage{/// The role of the message sender.
pubrole: Role,
/// The text content of the message.
pubcontent: String,
}