use thiserror::Error;
#[derive(Debug, Error)]
pub enum AdapterError {
#[error("record {index}: missing required field '{field}'")]
MissingField { index: usize, field: String },
#[error("record {index}: invalid value for field '{field}': {reason}")]
InvalidField {
index: usize,
field: String,
reason: String,
},
#[error("parse error: {0}")]
Parse(String),
#[error("record {index}: unknown entity kind '{kind}'")]
UnknownKind { index: usize, kind: String },
#[error("record {index}: unknown edge relation '{relation}'")]
UnknownRelation { index: usize, relation: String },
#[error("format '{format}' is not yet implemented (deferred to P1/P2)")]
NotYetImplemented { format: String },
}