terraphim_agent_messaging/lib.rs
1//! # Terraphim Agent Messaging
2//!
3//! Erlang-style asynchronous message passing system for AI agents.
4//!
5//! This crate provides message-based communication patterns inspired by Erlang/OTP,
6//! including agent mailboxes, message routing, and delivery guarantees.
7//!
8//! ## Core Concepts
9//!
10//! - **Agent Mailboxes**: Unbounded message queues with delivery guarantees
11//! - **Message Patterns**: Call (synchronous), Cast (asynchronous), Info (system messages)
12//! - **Message Routing**: Cross-agent message delivery with timeout handling
13//! - **Delivery Guarantees**: At-least-once delivery with acknowledgments
14
15pub mod delivery;
16pub mod error;
17pub mod mailbox;
18pub mod message;
19pub mod router;
20
21pub use delivery::*;
22pub use error::*;
23pub use mailbox::*;
24pub use message::*;
25pub use router::*;
26
27// Re-export supervisor types for convenience
28pub use terraphim_agent_supervisor::{AgentPid, SupervisorId};
29
30/// Result type for messaging operations
31pub type MessagingResult<T> = Result<T, MessagingError>;
32
33#[cfg(test)]
34mod tests {
35 use super::*;
36
37 #[test]
38 fn test_basic_imports() {
39 // Test that all modules compile and basic types are available
40 let _pid = AgentPid::new();
41 let _supervisor_id = SupervisorId::new();
42 }
43}