#![warn(missing_docs)]
pub mod catalog;
mod error;
mod fidelity;
mod message;
mod native_store;
pub mod session;
pub mod session_tree;
pub mod sidecar;
mod token_estimator;
pub mod watch;
pub use catalog::{
DiscoveryPage, DiscoveryQuery, HarnessCatalog, HarnessHomes, HarnessId, SessionDescriptor,
SessionLocator, SessionPreviewCandidate, StorageLocator,
};
pub use error::{InterchangeError, InterchangeError as Error, Result};
pub use fidelity::{
core_messages, measure_fidelity, messages_equal, messages_equal_multimodal, replay_eligible,
replay_excluded, Fidelity, FidelityMetric, FidelityResidue,
};
pub use message::{
is_tool_error, mark_tool_error, mark_tool_outcome_unknown, tool_outcome, ChatMessage,
FunctionCall, Role, ToolCall, ToolOutcome, TOOL_ERROR_METADATA_KEY,
TOOL_OUTCOME_UNKNOWN_METADATA_KEY,
};
#[doc(hidden)]
pub use native_store::load_native_store_family;
pub use session::{Session, SessionFormat, SessionMeta, SessionSource};
pub use token_estimator::{estimate_tokens, estimate_view_tokens, format_commas};
pub use watch::{SessionFollower, SessionSnapshotReason, SessionWatchEvent};