Skip to main content

nysiris_core/
lib.rs

1#![warn(missing_docs)]
2//! Shared, UI-agnostic primitives for Nysiris native clients.
3//!
4//! This crate intentionally has no Nym, Qt, Python, or storage-backend
5//! dependency. It owns the chat identity, the DM wire framing, and the
6//! transport trait that adapters implement.
7
8/// Locally saved peers, petnames, and Nym addresses.
9pub mod contact;
10/// Per-conversation summaries for roster and chat-list views.
11pub mod conversation;
12/// Sealed direct-message encryption.
13pub mod crypto;
14/// Shared error and result types.
15pub mod error;
16/// Capability-key rooms, invites, and room message sealing.
17pub mod group;
18/// The ed25519 chat identity.
19pub mod identity;
20/// Conversation, room, and message id helpers.
21pub mod ids;
22/// Stored message types and the signed DM inner envelope.
23pub mod message;
24/// Encrypted single-blob file helpers.
25pub mod sealed_file;
26/// The transport seam that adapters (Nym, in-memory) implement.
27pub mod transport;
28
29pub use contact::Contact;
30pub use conversation::{ConversationSummary, GroupSummary};
31pub use crypto::{SealedDm, DM_AAD};
32pub use error::{CoreError, Result};
33pub use group::{
34    Group, GroupInner, GroupMember, SealedGroupMessage, GROUP_ID_BYTES, GROUP_KEY_BYTES,
35    MAX_GROUP_MEMBERS,
36};
37pub use identity::ChatIdentity;
38pub use message::{ChatMessage, Direction, DmInner, MessageState, MAX_BODY_BYTES};
39pub use transport::{SentPayload, Transport};