pub mod agents;
pub mod base;
pub mod buffer;
pub mod candidate;
pub mod claude_payload;
pub mod detector;
pub mod enrichment;
pub mod error;
pub mod extractor;
pub mod factory;
pub mod injection;
pub mod monitor;
pub mod persistence;
pub mod rescorer;
pub mod retrieval;
pub mod retry_buffer;
pub mod session;
pub mod signal;
pub mod sync_state;
pub mod transcript;
pub mod types;
pub use base::{AgentHook, HookResult, LifecycleCapabilities};
pub use buffer::PersistentBuffer;
pub use candidate::{derive_candidates, MemoryCandidate};
pub use claude_payload::{
flatten_text_value, normalize_claude_payload, normalize_generic_payload, normalize_payload,
NormalizedHookEvent,
};
pub use detector::InactivityDetector;
pub use enrichment::{EnrichedMemory, EnrichmentBatchResult, EnrichmentService};
pub use error::{HookError, Result};
pub use extractor::MultiLayerExtractor;
pub use factory::HookFactory;
pub use monitor::{ProcessMonitor, SessionMonitor};
pub use persistence::{persist_enriched_memories, PersistResult};
pub use retrieval::{RetrievalEngine, RetrievalResult, SubconsciousMode};
pub use retry_buffer::{RetryArtifact, RetryBuffer};
pub use session::SessionContext;
pub use sync_state::SyncState;
pub use transcript::{read_transcript, read_transcript_from, TranscriptEntry};
pub use types::{AgentType, DetectionLayer, ExtractionSource, SessionActivity, SupportTier};
pub use agents::{
CLIHook, ClaudeCodeHook, DroidHook, GeminiHook, OhMyPiHook, PiMonoHook, PiSkillsHook, QwenHook,
};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
pub const DEFAULT_INACTIVITY_TIMEOUT_SECS: u64 = 300;
pub const DEFAULT_BUFFER_FLUSH_INTERVAL_SECS: u64 = 10;
pub const DEFAULT_POLLING_INTERVAL_SECS: u64 = 5;