use docling_core::DoclingDocument;
use crate::format::InputFormat;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ConversionStatus {
Success,
PartialSuccess,
Failure,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ErrorItem {
pub component_type: String,
pub module_name: String,
pub error_message: String,
}
impl ErrorItem {
pub fn timeout(message: impl Into<String>) -> Self {
ErrorItem {
component_type: "document_backend".into(),
module_name: "pipeline".into(),
error_message: message.into(),
}
}
}
#[derive(Debug, Clone)]
pub struct ConversionResult {
pub document: DoclingDocument,
pub status: ConversionStatus,
pub input_name: String,
pub format: InputFormat,
pub errors: Vec<ErrorItem>,
}