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 dag_schema;
17pub mod events;
18#[cfg(feature = "f3-hash-ids")]
19pub mod f3;
20pub mod fed_edus;
21pub mod fed_rooms;
22pub mod federation;
23pub mod http;
24pub mod key_ops;
25pub mod keys;
26pub mod live;
27pub mod messaging;
28pub mod nick;
29mod push;
30pub mod retention;
31pub mod public_channels;
32pub mod spaces;
33pub mod media;
34pub mod public_forum;
35pub mod rooms;
36pub mod store;
37pub mod sync;
38pub mod sync_token;
39pub mod typing;
40
41pub use error::MatrixError;
42pub use http::{router, Homeserver};
43pub use typing::TypingRegistry;