""" Pipeline package — local processing stages that run BEFORE the orchestrator fans out to providers. Flow: raw user input (bytes / URL / base64) ↓ validation.py — InputValidator (reject bad input) ↓ preprocessing.py — ImagePreprocessor (decode, resize, normalize) ↓ hashing.py — ImageHasher (SHA-256 cache key) ↓ feature_extraction.py — FeatureExtractor (face crops, default-detector boxes) ↓ PipelineOutput (consumed by orchestrator) The orchestrator receives a PipelineOutput, never raw user input. """ from pipeline.validation import InputValidator, ValidationResult from pipeline.preprocessing import ImagePreprocessor, PreprocessedImage from pipeline.hashing import ImageHasher from pipeline.feature_extraction import FeatureExtractor, PipelineOutput from pipeline.postprocessing import ResultPostprocessor __all__ = [ "InputValidator", "ValidationResult", "ImagePreprocessor", "PreprocessedImage", "ImageHasher", "FeatureExtractor", "PipelineOutput", "ResultPostprocessor", ]