ó
    À‘´j‹  ã                   óX   • S r SSKJrJrJrJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJr  / SQrg)	u  
Table-only extractors.

`TableExtractor` is the seam for engines whose job is *table extraction*,
not document parsing â€” explicitly decoupled from `Parser` (see
core/README.md). They answer different questions and produce different
shapes:

- `Parser` -> `ParseResult` (whole document, structured; the
  `DoclingDocument` is on `.document`)
- `TableExtractor` -> `list[ExtractedTable]` (tables only, Pydantic models)

The two are composed in `quber.core.fusion` (`fuse_artifacts`,
`DocumentFusion`), which grafts the extracted tables into a unified
`DoclingDocument`.

The active engine is `SetOfMarkExtractor` (vision locates each table and its
region; Camelot fills it in-region; grounded correction cleans structure).
`CamelotCorrespondenceExtractor` and `CamelotLLMTableExtractor` are DEPRECATED
â€” not for new use. Both stay reachable through `quber table --engine`, and
`quber validate` always runs `CamelotLLMTableExtractor` (with mock classifier
and unifier) for its raw Camelot counts, so removing it breaks that command.
é    )ÚExtractedTableÚExtractionRecordÚ
FilledCellÚTableExtractor)ÚCamelotCorrespondenceExtractor)ÚCamelotLLMTableExtractor)ÚMockTableExtractor)ÚSetOfMarkExtractor)r
   r   r   r   r	   r   r   r   N)Ú__doc__Úquber.core.extractors.baser   r   r   r   Ú,quber.core.extractors.camelot.correspondencer   Ú!quber.core.extractors.camelot.llmr   Úquber.core.extractors.mockr	   Ú!quber.core.extractors.set_of_markr
   Ú__all__© ó    Ú</home/mande/repo/quber/src/quber/core/extractors/__init__.pyÚ<module>r      s&   ðñ÷0 dÓ cÝ WÝ FÝ 9Ý @ò
�r   