1//! Consumer library
2//!
3//! This module exposes internal modules for testing and potential reuse.
4//! The consumer is primarily a binary application, but exposing modules
5//! as a library allows for integration testing.
6
7mod cmd;
8mod config;
9pub mod database_writer;
10pub mod db;
11mod error;
12mod external;
13// mod label_indexer; // Disabled - will be reimplemented with new cursor system
14mod relay;
15pub mod search;
16mod sources;
17pub mod types;
18mod utils;
19pub mod worker_core;
20pub mod workers;
21
22// Re-export key types and functions for binary use
23pub use cmd::{parse, Cli};
24pub use config::{load_config, Config};
25pub use database_writer::spawn_database_writer_tap;
26pub use error::Result;
27
28// Re-export modules for testing
29pub mod db_ops {
30 pub use crate::db::operations::*;
31}
32
33pub mod db_modules {
34 pub use crate::db::*;
35}
36
37pub mod external_services {
38 pub use crate::external::*;
39}
40
41pub mod indexing {
42 pub use crate::relay::*;
43}
44
45pub mod streaming {
46 pub mod sources {
47 pub use crate::sources::*;
48 }
49 pub mod workers {
50 pub use crate::workers::*;
51 }
52}
53
54pub mod event_types {
55 pub use crate::types::*;
56}
57
58pub mod utilities {
59 pub use crate::utils::*;
60}
61
62// Re-export commonly used utility functions at the crate root