Skip to main content

braid_core/
lib.rs

1//! braid-core: Unified Braid Protocol implementation in Rust.
2//!
3//! This crate consolidates several Braid-related components into a single library:
4//!
5//! - **core**: The core Braid-HTTP protocol implementation (types, parser, client, server).
6//! - **antimatter**: Conflict resolution and state management.
7//! - **blob**: Braid-Blob storage and synchronization service.
8//! - **fs**: Filesystem synchronization client logic.
9
10pub use smallvec;
11pub mod core;
12pub mod vendor;
13
14#[cfg(feature = "antimatter")]
15pub mod antimatter;
16
17#[cfg(feature = "blob")]
18pub use braid_blob as blob;
19
20#[cfg(feature = "fs")]
21pub mod fs;
22
23// Top-level re-exports for common usage
24pub use crate::core::error::{BraidError, Result};
25pub use crate::core::traits;
26pub use crate::core::{BraidRequest, BraidResponse, Patch, Update, Version};
27pub use braid_http::types;
28
29#[cfg(feature = "client")]
30pub use crate::core::{BraidClient, ClientConfig, Subscription};
31#[cfg(feature = "client")]
32pub use braid_http::client;
33
34#[cfg(feature = "server")]
35pub use crate::core::server;
36#[cfg(feature = "server")]
37pub use crate::core::server::{BraidLayer, BraidState, ConflictResolver, ServerConfig};
38
39#[cfg(not(target_arch = "wasm32"))]
40pub use crate::core::merge;
41
42#[cfg(feature = "antimatter")]
43pub use crate::antimatter::AntimatterCrdt;
44
45#[cfg(feature = "blob")]
46pub use braid_blob::BlobStore;