Ë
    I»j
  ã                   óD   — d Z ddlmZ ddlmZmZ ddlmZ  G d„ d«      Zy)z)Progress / improvement analytics service.é    )Ú	JobStatus)ÚProgressAnalyticsRequestÚProgressAnalyticsResponse)Úgenerate_jsonc                   ó   — e Zd Zdedefd„Zy)ÚProgressAnalyticsServiceÚpayloadÚreturnc              ƒ   óL  ‡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«      |j                  d«      |j                  d«      xs i t        |j                  d«      xs g «      t        |j                  d«      xs g «      |j                  d«      ¬«      S 7 Œ»­w)Nz§Analyze candidate improvement over mocks/assessments. Return JSON: {"readiness_score":0-1,"trend","skill_trends":{},"strengths":[],"focus_areas":[],"summary_markdown"}zCandidate: z
Role: z
Mocks: z
Assessments: z
Prep: r
   c                  óº  •— ‰j                   D � cg c]E  } t        | t        «      r3t        | j                  d«      t        t
        f«      rt        | d   «      ‘ŒG }} |rt        |«      t        |«      z  nd}d}t        |«      dk\  r|d   |d   k\  rdnd}t        |d«      |d	|r|d
d  ng i|rdgng dgd‰j                  › dt        |dz  «      › d|› d�dœS c c} w )NÚscoreg      à?Úflaté   éÿÿÿÿr   Ú	improvingÚ	decliningÚoveralléûÿÿÿzConsistency in recent practicezDeeper technical storytellingzCandidate `z` readiness ~éd   z% with trend `z`.)Úreadiness_scoreÚtrendÚskill_trendsÚ	strengthsÚfocus_areasÚsummary_markdown)
Úmock_historyÚ
isinstanceÚdictÚgetÚintÚfloatÚsumÚlenÚroundÚcandidate_id)ÚmÚscoresÚ	readinessr   r	   s       €ú9/var/www/html/TJ-AI/tj/app/services/progress_analytics.pyÚlocalz/ProgressAnalyticsService.analyze.<locals>.local   s  ø€ ð !×-Ò-óá-�AÜ˜a¤Ô&¬:°a·e±e¸G³nÄsÌEÀlÔ+Sô �a˜‘jÕ!Ø-ð ð ñ
 8>œ˜V›¤s¨6£{Ò2À3ˆIØˆEÜ�6‹{˜aÒØ'-¨b¡z°V¸A±YÒ'>™ÀK�ä#(¨°AÓ#6ØØ!*¹6¨F°2°3©KÀrÐ JÙCIÐ>Ñ?ÈrØ ?Ð@à! '×"6Ñ"6Ð!7ð 8Ü˜i¨#™oÓ.Ð/¨~¸e¸WÀBðHñ
ð 
ùòs   �A
C)ÚsystemÚuserÚlocal_factoryzProgress analytics via r   r   r   r   r   r   )Úcorrelation_idr%   ÚstatusÚstubÚmessager   r   r   r   r   r   )r%   Ú
role_titler   Úassessment_historyÚprep_historyr   r   r   r.   r   Ú	SUCCEEDEDr   Úlist)Úselfr	   r+   r,   r*   Údatar0   Úproviders    `      r)   Úanalyzez ProgressAnalyticsService.analyze   s3  øè ø€ ð7ð 	ð ˜'×.Ñ.Ð/¨x¸×8JÑ8JÐ7Kð LØ×*Ñ*Ð+¨?¸7×;UÑ;UÐ:Vð WØ×)Ñ)Ð*ð,ð 	ð	”tõ 	ô, &3Ø °Eô&
÷  
Ñˆˆd�Hô )Ø"×1Ñ1Ø ×-Ñ-Ü×&Ñ&ØØ-¨h¨ZÐ8Ø ŸH™HÐ%6Ó7Ø—(‘(˜7Ó#ØŸ™ .Ó1Ò7°RÜ˜4Ÿ8™8 KÓ0Ò6°BÓ7Ü˜TŸX™X mÓ4Ò:¸Ó;Ø!ŸX™XÐ&8Ó9ô
ð 	
ð 
ús   ƒA#D$Á&D"Á'B<D$N)Ú__name__Ú
__module__Ú__qualname__r   r   r:   © ó    r)   r   r      s   „ ð3
Ø/ð3
à	"ô3
r?   r   N)	Ú__doc__Úapp.schemas.commonr   Úapp.schemas.progress_analyticsr   r   Úapp.services.ai_generater   r   r>   r?   r)   Ú<module>rD      s   ðÙ /å (÷õ 3÷4
ò 4
r?   