#![deny(rustdoc::broken_intra_doc_links)]
#![deny(missing_docs)]
pub mod capture;
pub mod capture_sink;
pub mod capture_store;
pub mod compaction;
pub mod divergence;
pub mod error;
pub mod fingerprint;
pub mod pricing;
pub mod projector;
pub mod replay;
pub mod replay_llm;
pub mod store;
#[cfg(feature = "sqlite")]
pub mod store_sqlite;
#[cfg(feature = "test-utils")]
pub mod test_utils;
pub mod types;
pub use crate::capture::Capture;
pub use crate::capture_sink::RunLogCaptureSink;
pub use crate::capture_store::{gc_captures, load_capture, persist_capture, CAPTURE_BUCKET};
#[cfg(feature = "compaction-llm")]
pub use crate::compaction::LlmCompaction;
pub use crate::compaction::{CompactionPolicy, DeterministicCompaction};
pub use crate::divergence::{
replay_with_divergence, DivergenceReport, ReplayMode, ReproVerdict, StepDivergence,
};
pub use crate::error::RunLogError;
pub use crate::fingerprint::request_fingerprint;
pub use crate::pricing::{PriceTable, Rates, RatesError};
pub use crate::projector::{project, project_with_llm_io, project_with_price_table};
pub use crate::replay::replay;
pub use crate::replay_llm::ReplayLlmClient;
pub use crate::store::{InMemoryRunLogStore, RunLogQuery, RunLogStore};
#[cfg(feature = "sqlite")]
pub use crate::store_sqlite::SqliteRunLogStore;
pub use crate::types::{Cost, LlmIo, RunLog, RunStatus, Step, StepKind, Usage};