mail4agent_server/lib.rs
1//! Messenger homeserver: protocol decisions and the Client-Server HTTP routes.
2//!
3//! Decision functions take an already-open `rusqlite::Connection`.
4//! [`http::router`] mounts those decisions on axum. The process opens the
5//! store with [`store::open_messenger_db`] (tesserax-store: SQLCipher, one
6//! writer; [`store::open_read_pool`] adds parallel readers), calls
7//! [`store::set_matrix_server_name`] once, and serves [`http::Homeserver`].
8//! There is no tariff logic and no product identity database; products plug in through
9//! [`identities`] (signed assertions from `m4a-seam`) and [`policy`].
10
11pub mod account;
12pub mod identities;
13pub mod policy;
14pub mod ephemeral;
15pub mod error;
16pub mod events;
17pub mod fed_rooms;
18pub mod federation;
19pub mod http;
20pub mod key_ops;
21pub mod keys;
22pub mod live;
23pub mod messaging;
24pub mod nick;
25mod push;
26pub mod retention;
27pub mod public_channels;
28pub mod spaces;
29pub mod media;
30pub mod public_forum;
31pub mod rooms;
32pub mod store;
33pub mod sync;
34pub mod sync_token;
35pub mod typing;
36
37pub use error::MatrixError;
38pub use http::{router, Homeserver};
39pub use typing::TypingRegistry;