pub mod utf8_validation;
#[cfg(feature = "quality")]
pub mod quality;
#[cfg(feature = "quality")]
pub mod string_utils;
#[cfg(feature = "quality")]
pub mod token_reduction;
#[cfg(feature = "quality")]
pub mod quality_processor;
#[cfg(feature = "quality")]
pub use quality_processor::QualityProcessor;
#[cfg(feature = "quality")]
pub use token_reduction::{ReductionLevel, TokenReductionConfig};
#[cfg(feature = "classification")]
pub mod classification;
#[cfg(not(feature = "classification"))]
pub mod classification {
use crate::{ChunkClassificationConfig, ClassificationLabel, ExtractedDocument, PageClassificationConfig, Result};
pub async fn classify_pages(_result: &mut ExtractedDocument, _config: &PageClassificationConfig) -> Result<()> {
Err(crate::XbergError::Other(
"classification feature not available on this target".into(),
))
}
pub async fn classify_text(_text: &str, _config: &PageClassificationConfig) -> Result<Vec<ClassificationLabel>> {
Err(crate::XbergError::Other(
"classification feature not available on this target".into(),
))
}
pub async fn classify_chunks(_result: &mut ExtractedDocument, _config: &ChunkClassificationConfig) -> Result<()> {
Err(crate::XbergError::Other(
"classification feature not available on this target".into(),
))
}
}
#[cfg(feature = "ner")]
pub mod ner;
#[cfg(not(feature = "ner"))]
pub mod ner {
use crate::Result;
use std::path::PathBuf;
pub trait NerBackend: Send + Sync {}
pub fn download_model(_name: &str, _cache_dir: Option<PathBuf>) -> Result<PathBuf> {
Err(crate::XbergError::Other(
"ner feature not available on this target".into(),
))
}
pub fn default_model_name() -> &'static str {
"gliner-stub"
}
pub fn known_models() -> Vec<&'static str> {
vec![]
}
}
#[cfg(feature = "redaction")]
pub mod redaction;
#[cfg(feature = "summarization")]
pub mod summarization;
#[cfg(feature = "translation")]
pub mod translation;
#[cfg(not(feature = "translation"))]
pub mod translation {
use crate::{ExtractedDocument, Result, TranslationConfig};
pub async fn translate_result(_result: &mut ExtractedDocument, _config: &TranslationConfig) -> Result<()> {
Err(crate::XbergError::Other(
"translation feature not available on this target".into(),
))
}
}
#[cfg(feature = "markdown-footnotes")]
pub mod markdown_footnotes;