"""Analysis pipeline (multi-product; several detection modes). Each analysis tracks N products. A mode's `DetectionStrategy` produces a per-product box track; mentions (caption/audio/OCR) are counted globally against the shared keyword list. Modes are registered in `registry.py`; the similarity backends (DINOv2/v3, CLIP, OpenAI) live in `app/similarity`. See DesignDoc.md for the result schema. """ from .registry import BuildOpts, owlv2_needs_images, requires_name, requires_reference from .runner import run_analysis from .strategies import ProductInput __all__ = [ "run_analysis", "ProductInput", "requires_reference", "requires_name", "owlv2_needs_images", "BuildOpts", ]