use idiolect_records::DecodeError;
#[derive(Debug, thiserror::Error)]
pub enum IndexerError {
#[error("event stream error: {0}")]
Stream(String),
#[error("cursor store error: {0}")]
Cursor(String),
#[error("record decode error: {0}")]
Decode(#[from] DecodeError),
#[error("record handler error: {0}")]
Handler(String),
#[error("missing or malformed record body: {0}")]
MissingBody(String),
#[error("record family contract violated: contains accepted {0} but decode returned None")]
FamilyContract(String),
}