1#![allow(clippy::redundant_pub_crate)]
2#![forbid(unsafe_code)]
5#![warn(missing_docs)]
6
7pub(crate) mod apply;
9pub(crate) mod capture;
11pub(crate) mod config;
13pub(crate) mod error;
15pub(crate) mod identity;
17pub(crate) mod model;
19pub(crate) mod plan;
21pub(crate) mod reconcile;
23pub(crate) mod runtime;
25pub(crate) mod store;
27
28#[must_use]
30pub const fn version() -> &'static str {
31 env!("CARGO_PKG_VERSION")
32}
33
34pub use apply::{ApplyError, RestApplyResult, SalesforceApplier, project_sync_link};
35pub use capture::{capture_batch, capture_stream, load_replay_id};
36pub use config::{ConflictPolicy, LaneThresholds, ObjectSync, Owner};
37pub use error::ForceSyncError;
38pub use identity::SyncKey;
39pub use model::{ChangeEnvelope, ChangeOperation, SourceCursor, SourceSystem};
40pub use plan::{ApplyLane, MergeOutcome, PlanDecision, PlannerContext, merge_payload, plan_change};
41pub use reconcile::DriftItem;
42pub use reconcile::{detect_drift, enqueue_repair, run_reconcile_once};
43pub use runtime::{SyncEngine, SyncEngineBuilder};
44pub use store::pg::{
45 AppendResult, CheckpointState, DeadLetter, LeasedTask, PgStore, SyncConflict, SyncLink, migrate,
46};