Ë
    I»jW  ã                   ó¾   — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZ  G d„ dee«      Z G d	„ d
ee«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)u+   Schemas â€” Resume / JD / document parsing.é    )ÚEnum)ÚAny)ÚUUID)Ú	BaseModelÚFieldÚmodel_validator)ÚStubMetac                   ó$   — e Zd ZdZdZdZdZdZdZy)ÚDocumentTypeÚpdfÚdocxÚtxtÚhtmlÚimageÚmarkdownN)	Ú__name__Ú
__module__Ú__qualname__ÚPDFÚDOCXÚTXTÚHTMLÚIMAGEÚMARKDOWN© ó    ú//var/www/html/TJ-AI/tj/app/schemas/documents.pyr   r      s    „ Ø
€CØ€DØ
€CØ€DØ€EØ�Hr   r   c                   ó$   — e Zd ZdZdZdZdZdZdZy)ÚParseTargetÚraw_textÚstructured_qaÚrubricÚsyllabusÚresumeÚjob_descriptionN)	r   r   r   ÚRAW_TEXTÚSTRUCTURED_QAÚRUBRICÚSYLLABUSÚRESUMEÚJOB_DESCRIPTIONr   r   r   r   r      s    „ Ø€HØ#€MØ€FØ€HØ€FØ'�Or   r   c                   ó  — e Zd ZU dZdZedz  ed<   eed<   ej                  Z
eed<    edd¬«      Zedz  ed<    edd	¬«      Zedz  ed
<   dZedz  ed<    eddd¬«      Zeed<    eed¬«      Zeeef   ed<    ed¬«      dd„«       Zy)ÚDocumentParseRequestzePOST /api/v1/documents/parse

    Provide either `content_base64` or `source_url` (exactly one).
    NÚcorrelation_idÚdocument_typeÚparse_targetzBase64-encoded document bytes)ÚdefaultÚdescriptionÚcontent_base64z,Internal/presigned URL the Gateway may fetchÚ
source_urlÚfilenameÚené   é
   )r1   Ú
min_lengthÚ
max_lengthÚlanguagez%OCR, page range, extract_tables, etc.)Údefault_factoryr2   ÚoptionsÚafter)Úmodec                 óz   — t        | j                  «      }t        | j                  «      }||k(  rt        d«      ‚| S )Nz3Provide exactly one of content_base64 or source_url)Úboolr3   r4   Ú
ValueError)ÚselfÚhas_contentÚhas_urls      r   Úrequire_one_sourcez'DocumentParseRequest.require_one_source6   s9   € ä˜4×.Ñ.Ó/ˆÜ�t—‘Ó'ˆØ˜'Ò!ÜÐRÓSÐSØˆr   )Úreturnr-   )r   r   r   Ú__doc__r.   r   Ú__annotations__r   r   r&   r0   r   r3   Ústrr4   r5   r;   Údictr=   r   r   rF   r   r   r   r-   r-      sÀ   … ñð
 #'€N�D˜4‘KÓ&ØÓØ +× 4Ñ 4€L�+Ó4Ù!&ØØ3ô"€N�C˜$‘Jó ñ #ØØBô€J��d‘
ó ð  €Hˆc�D‰jÓÙ $°1ÀÔD€HˆcÓDÙ#ØØ;ô€GˆT�#�s�(‰^ó ñ
 ˜'Ô"òó #ñr   r-   c                   ój   — e Zd ZU eed<   dZeed<   eed<   dZedz  ed<    ee	¬«      Z
e	eef   ed<   y)	ÚParsedBlockÚblock_idÚ	paragraphÚ
block_typeÚtextNÚpage©r<   Úmetadata)r   r   r   rJ   rI   rP   rR   Úintr   rK   rT   r   r   r   r   rM   rM   ?   s;   … ØƒMØ!€J�Ó!Ø
ƒIØ€Dˆ#�‰*ÓÙ$°TÔ:€Hˆd�3˜�8‰nÔ:r   rM   c                   ó’   — e Zd ZU dZedz  ed<   eed<   eed<   dZe	dz  ed<    e
e¬«      Zee   ed<    e
e¬«      Zee	ef   ed<   y)	ÚDocumentParseResponseNr.   r/   r0   r    rS   ÚblocksÚ
structured)r   r   r   r.   r   rI   r   r   r    rJ   r   ÚlistrX   rM   rK   rY   r   r   r   r   rW   rW   G   sU   … Ø"&€N�D˜4‘KÓ&ØÓØÓØ€Hˆc�D‰jÓÙ %°dÔ ;€FˆD�ÑÓ;Ù!&°tÔ!<€J��S˜#�X‘Ô<r   rW   N)rH   Úenumr   Útypingr   Úuuidr   Úpydanticr   r   r   Úapp.schemas.commonr	   rJ   r   r   r-   rM   rW   r   r   r   Ú<module>r`      s[   ðÙ 1å Ý Ý ç 6Ñ 6å 'ô�3˜ô ô(�#�tô (ô˜9ô ôB;�)ô ;ô=˜Hõ =r   