Ë
    I»j  ã                   óX   — d Z ddlmZ ddlmZ ddlmZmZmZm	Z	 ddl
mZ  G d„ d«      Zy)	u4   Reports â€” panelist notes + evaluation PDF payload.é    )Úuuid4)Ú	JobStatus)ÚEvaluationReportRequestÚEvaluationReportResponseÚPanelistNotesRequestÚPanelistNotesResponse)Úgenerate_jsonc                   ó,   — e Zd Zdedefd„Zdedefd„Zy)ÚReportsServiceÚpayloadÚreturnc              ƒ   ó  ‡K  — d}d‰j                   › d‰j                  › d‰j                  › d‰j                  › d‰j                  › �
}dt
        fˆfd„}t        |||¬	«      ƒ d {  –—† \  }}}t        ‰j                  ‰j                  t        j                  |d
|› �|j                  d«      t        |j                  d«      xs g «      t        |j                  d«      xs g «      |j                  d«      ¬«	      S 7 Œ—­w)NzlWrite structured panelist notes. Return JSON: {"notes_markdown","highlights":[],"risks":[],"recommendation"}úRole: ú
Candidate: z
Scorecard: z

Excerpt: z
Annotations: r   c                  óN   •— d‰ j                   › d‰ j                  › d�ddgdgddœS )	Nu   ## Panelist notes â€” z

- Candidate `zR` demonstrated solid baselines.
- Recommend a focused follow-up on impact metrics.zClear communicationzRelevant experience signalszLimited quantified outcomesÚadvance_with_follow_up)Únotes_markdownÚ
highlightsÚrisksÚrecommendation)Ú
role_titleÚcandidate_id)r   s   €ú./var/www/html/TJ-AI/tj/app/services/reports.pyÚlocalz,ReportsService.panelist_notes.<locals>.local   sO   ø€ ð -¨W×-?Ñ-?Ð,@ð A$Ø$+×$8Ñ$8Ð#9ð :IðIð  5Ð6SÐTØ7Ð8Ø":ñ	ð 	ó    ©ÚsystemÚuserÚlocal_factoryzPanelist notes via r   r   r   r   )	Úcorrelation_idÚinterview_idÚstatusÚstubÚmessager   r   r   r   )r   r   Ú	scorecardÚtranscript_excerptÚrecruiter_annotationsÚdictr	   r   r    r!   r   Ú	SUCCEEDEDÚgetÚlist)Úselfr   r   r   r   Údatar#   Úproviders    `      r   Úpanelist_noteszReportsService.panelist_notes   s  øè ø€ ðUð 	ð
 �W×'Ñ'Ð(¨°g×6JÑ6JÐ5Kð LØ!×+Ñ+Ð,¨K¸×8RÑ8RÐ7Sð TØ#×9Ñ9Ð:ð<ð 	ð
	”tõ 
	ô &3Ø °Eô&
÷  
Ñˆˆd�Hô %Ø"×1Ñ1Ø ×-Ñ-Ü×&Ñ&ØØ)¨(¨Ð4ØŸ8™8Ð$4Ó5Ü˜DŸH™H \Ó2Ò8°bÓ9Ü�t—x‘x Ó(Ò.¨BÓ/ØŸ8™8Ð$4Ó5ô

ð 
	
ð 
ús   ƒA#D Á&C>Á'BD c              ƒ   óÖ  ‡K  — d}d‰j                   › d‰j                  xs ‰j                  › d‰j                  › d‰j                  › d‰j
                  › �
}dt        fˆfd„}t        |||¬	«      ƒ d {  –—† \  }}}t        t        «       «      }t        ‰j                  ‰j                  |t        j                  |d
|› �d |j                  d«      |j                  d«      ¬«	      S 7 Œr­w)NzZCreate an evaluation report summary. Return JSON: {"summary_markdown","download_url":null}r   r   z

Company: z

Scoring: z
Notes: r   c                  ód   •— ‰j                   xs ‰j                  } d| › d‰j                  › d�d dœS )Nz$# Evaluation Report

**Candidate:** z
**Role:** zK

Overall: candidate is a possible fit pending deeper technical validation.)Úsummary_markdownÚdownload_url)Úcandidate_namer   r   )Únamer   s    €r   r   z,ReportsService.evaluation_pdf.<locals>.localC   sL   ø€ Ø×)Ñ)ÒA¨W×-AÑ-AˆDð&Ø&* V¨<¸×8JÑ8JÐ7Kð L`ð`ð !%ñð r   r   zEvaluation report via r3   r2   )	r    r!   Ú	report_idr"   r#   r$   Ú
pdf_base64r3   r2   )r   r4   r   Úcompany_nameÚscoring_payloadr/   r(   r	   Ústrr   r   r    r!   r   r)   r*   )	r,   r   r   r   r   r-   r#   r.   r6   s	    `       r   Úevaluation_pdfzReportsService.evaluation_pdf6   s  øè ø€ ð;ð 	ð
 �W×'Ñ'Ð(¨°g×6LÑ6LÒ6dÐPW×PdÑPdÐ5eð fØ×,Ñ,Ð-¨[¸×9PÑ9PÐ8Qð RØ×,Ñ,Ð-ð/ð 	ð		”tõ 		ô &3Ø °Eô&
÷  
Ñˆˆd�Hô œ›“Lˆ	Ü'Ø"×1Ñ1Ø ×-Ñ-ØÜ×&Ñ&ØØ,¨X¨JÐ7ØØŸ™ .Ó1Ø!ŸX™XÐ&8Ó9ô

ð 
	
ð	 
ús   ƒA1C)Á4C'Á5A3C)N)	Ú__name__Ú
__module__Ú__qualname__r   r   r/   r   r   r;   © r   r   r   r      s-   „ ð$
Ð,@ð $
ÐEZó $
ðL&
Ø.ð&
à	!ô&
r   r   N)Ú__doc__Úuuidr   Úapp.schemas.commonr   Úapp.schemas.reportsr   r   r   r   Úapp.services.ai_generater	   r   r?   r   r   Ú<module>rE      s)   ðÙ :å å (÷ó õ 3÷M
ò M
r   