pub struct Message {Show 19 fields
pub id: u64,
pub channel_id: u64,
pub sender: String,
pub recipient: Option<String>,
pub content: String,
pub message_type: MessageType,
pub timestamp: DateTime<Utc>,
pub metadata: HashMap<String, String>,
pub signature: Option<String>,
pub acknowledged_by: Vec<String>,
pub status: MessageStatus,
pub priority: MessagePriority,
pub reply_to: Option<u64>,
pub correlation_id: Option<String>,
pub thread_id: Option<String>,
pub comm_timestamp: CommTimestamp,
pub rich_content_json: Option<String>,
pub comm_id: Option<CommId>,
pub receipt_id: Option<String>,
}Expand description
A single message in the communication system.
Fields§
§id: u64Unique message identifier.
channel_id: u64Channel this message belongs to.
sender: StringWho sent the message.
recipient: Option<String>Optional specific recipient (None = all channel participants).
content: StringMessage body.
message_type: MessageTypeType of message.
timestamp: DateTime<Utc>When the message was created (UTC).
metadata: HashMap<String, String>Arbitrary key-value metadata.
signature: Option<String>Optional SHA-256 content signature.
acknowledged_by: Vec<String>Set of participants who have acknowledged this message.
status: MessageStatusLifecycle status of this message.
priority: MessagePriorityPriority level of this message.
reply_to: Option<u64>ID of the message this is a reply to.
correlation_id: Option<String>Correlation ID for request/response pairing.
thread_id: Option<String>Thread grouping identifier.
comm_timestamp: CommTimestampCausal timestamp with Lamport/vector clocks.
rich_content_json: Option<String>Rich message content stored as JSON (avoids bincode enum issues).
Use MessageContent::from_json_string / to_json_string to convert.
comm_id: Option<CommId>UUID-based universal identifier (alongside legacy u64 id).
receipt_id: Option<String>Identity receipt ID for this message (from agentic-identity).