Ë
    I»j~
  ã                   óð   — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZ ddlmZ  G d„ d	ee«      Z G d
„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)u/   Schemas â€” Adaptive live interview follow-ups.é    )ÚEnum)ÚAny)ÚUUID)Ú	BaseModelÚField)ÚPersona)ÚStubMetac                   ó   — e Zd ZdZdZdZy)ÚInterviewModeÚchatÚvoiceÚvideoN)Ú__name__Ú
__module__Ú__qualname__ÚCHATÚVOICEÚVIDEO© ó    ú0/var/www/html/TJ-AI/tj/app/schemas/interviews.pyr   r      s   „ Ø€DØ€EØ�Er   r   c                   óT   — e Zd ZU eed<    edd¬«      Zeed<   eed<   dZedz  ed<   y)	ÚTranscriptTurnÚturn_id.zinterviewer | candidate)ÚdescriptionÚroleÚtextNÚtimestamp_ms)	r   r   r   ÚstrÚ__annotations__r   r   r   Úintr   r   r   r   r      s,   … ØƒLÙ�cÐ'@ÔA€Dˆ#ÓAØ
ƒIØ#€L�#˜‘*Ô#r   r   c                   ó’  — e Zd ZU dZdZedz  ed<    edd¬«      Ze	ed<   e
j                  Ze
ed<   ej                  Zeed	<   e	ed
<   dZe	dz  ed<    edd¬«      Ze	dz  ed<    edd¬«      Ze	ed<    ee¬«      Zee   ed<    ee¬«      Zee	   ed<    eddd¬«      Zeed<    eddd¬«      Ze	ed<    ee¬«      Zee	ef   ed<   y)ÚFollowUpRequestz!POST /api/v1/interviews/follow-upNÚcorrelation_id.é   ©Ú
min_lengthÚinterview_idÚmodeÚpersonaÚ
role_titleÚjob_descriptionz$Current planned question being asked)Údefaultr   Úplanned_questionÚcandidate_answer©Údefault_factoryÚ
transcriptÚskills_focusé   )r-   ÚgeÚleÚmax_follow_upsÚené   é
   ©r-   r'   Ú
max_lengthÚlanguageÚoptions)r   r   r   Ú__doc__r$   r   r    r   r(   r   r   r   r)   r   Ú	TECHNICALr*   r,   r.   r/   Úlistr2   r   r3   r7   r!   r=   Údictr>   r   r   r   r   r#   r#      së   … Ù+à"&€N�D˜4‘KÓ&Ù˜c¨aÔ0€L�#Ó0Ø'×,Ñ,€Dˆ-Ó,Ø×(Ñ(€GˆWÓ(ØƒOØ"&€O�S˜4‘ZÓ&Ù#(ØØ:ô$Ð�c˜D‘jó ñ " #°!Ô4Ð�cÓ4Ù',¸TÔ'B€J��^Ñ$ÓBÙ#°DÔ9€L�$�s‘)Ó9Ù¨¨a°AÔ6€N�CÓ6Ù $°1ÀÔD€HˆcÓDÙ#°DÔ9€GˆT�#�s�(‰^Ô9r   r#   c                   óX   — e Zd ZU eed<   eed<   dZedz  ed<    ee¬«      Zee   ed<   y)ÚFollowUpQuestionÚidr   NÚ	rationaler0   Ú
skill_tags)	r   r   r   r   r    rF   r   rA   rG   r   r   r   rD   rD   /   s-   … ØƒGØ
ƒIØ €Iˆs�T‰zÓ Ù!°$Ô7€J��S‘	Ô7r   rD   c                   ój   — e Zd ZU dZedz  ed<   eed<   dZeed<    e	e
¬«      Ze
e   ed<   dZeed	<   y)
ÚFollowUpResponseNr$   r(   FÚshould_follow_upr0   Ú
follow_upsÚcontinueÚnext_action)r   r   r   r$   r   r    r   rJ   Úboolr   rA   rK   rD   rM   r   r   r   rI   rI   6   s@   … Ø"&€N�D˜4‘KÓ&ØÓØ"Ð�dÓ"Ù).¸tÔ)D€J�Ð%Ñ&ÓDØ!€K�Ô!r   rI   c                   óJ  — e Zd ZU dZdZedz  ed<    edd¬«      Ze	ed<   e
j                  Ze
ed<   ej                  Zeed	<   e	ed
<   dZe	dz  ed<    edd¬«      Ze	ed<    edd¬«      Ze	ed<    ee¬«      Zee	   ed<    eddd¬«      Ze	ed<    ee¬«      Zee	ef   ed<   y)ÚEvaluateAnswerRequestuF   POST /api/v1/interviews/evaluate-answer â€” real-time turn evaluation.Nr$   .r%   r&   r(   r)   r*   r+   r,   Úquestionr/   r0   r3   r8   r9   r:   r;   r=   r>   )r   r   r   r?   r$   r   r    r   r(   r   r   r   r)   r   r@   r*   r,   rQ   r/   rA   r3   r=   rB   r>   r   r   r   r   rP   rP   >   s·   … ÙPà"&€N�D˜4‘KÓ&Ù˜c¨aÔ0€L�#Ó0Ø'×,Ñ,€Dˆ-Ó,Ø×(Ñ(€GˆWÓ(ØƒOØ"&€O�S˜4‘ZÓ&Ù˜#¨!Ô,€HˆcÓ,Ù! #°!Ô4Ð�cÓ4Ù#°DÔ9€L�$�s‘)Ó9Ù $°1ÀÔD€HˆcÓDÙ#°DÔ9€GˆT�#�s�(‰^Ô9r   rP   c                   ó´   — e Zd ZU dZedz  ed<   eed<   dZedz  ed<   dZ	eed<   dZ
edz  ed<    ee¬«      Zee   ed	<    ee¬«      Zee   ed
<   dZeed<   y)ÚEvaluateAnswerResponseNr$   r(   Úscoreg      ð?Ú	max_scoreÚfeedbackr0   Ú	strengthsÚgapsrL   rM   )r   r   r   r$   r   r    r   rT   ÚfloatrU   rV   r   rA   rW   rX   rM   r   r   r   rS   rS   N   sl   … Ø"&€N�D˜4‘KÓ&ØÓØ€Eˆ5�4‰<ÓØ€IˆuÓØ€Hˆc�D‰jÓÙ °Ô6€Iˆt�C‰yÓ6Ù¨DÔ1€Dˆ$ˆs‰)Ó1Ø!€K�Ô!r   rS   N)r?   Úenumr   Útypingr   Úuuidr   Úpydanticr   r   Úapp.promptsr   Úapp.schemas.commonr	   r   r   r   r#   rD   rI   rP   rS   r   r   r   Ú<module>r`      sp   ðÙ 5å Ý Ý ç %å Ý 'ô�C˜ô ô$�Yô $ô:�iô :ô*8�yô 8ô"�xô "ô:˜Iô :ô "˜Xõ "r   