Ë
    I»jC  ã                   óH   — d Z ddlmZ ddlmZmZmZ ddlmZ  G d„ d«      Z	y)zSkill-gap analysis service.é    )Ú	JobStatus)ÚSkillGapAnalyzeRequestÚSkillGapAnalyzeResponseÚSkillGapItem)Úgenerate_jsonc                   ó   — e Zd Zdedefd„Zy)ÚSkillGapServiceÚpayloadÚreturnc              ƒ   óÖ  ‡K  — d}d‰j                   › d‰j                  › d‰j                  › d‰j                  › d‰j                  xs ‰j
                  › d‰j                  › �}dt        fˆfd	„}t        |||¬
«      ƒ d {  –—† \  }}}|j                  d«      xs g D �cg c]®  }t        |t        «      rœt        t        |j                  dd«      «      |j                  d«      |j                  d«      |j                  d«      t        |j                  dd«      «      t        |j                  d«      xs g «      |j                  d«      ¬«      ‘Œ° }	}t        ‰j                  ‰j                   ‰j                   t"        j$                  |d|› �|j                  d«      |	t        |j                  d«      xs g «      t        |j                  d«      xs g «      ¬«
      S 7 �Œ`c c}w ­w)NzéAnalyze skill gaps vs a job description. Return JSON: {"overall_readiness":0-1,"strengths":[],"recommended_prep_focus":[],"gaps":[{"skill","required_level","demonstrated_level","gap","priority","learning_suggestions":[],"evidence"}]}zRole: z
JD:
z
Required: z
Demonstrated: z	
Resume: z

Answers: r   c                  óL  •— ‰j                   xs ddg} t        d„ ‰j                  D «       «      }g }g }| D ]D  }|j                  «       |v r|j	                  |«       Œ'|j	                  |ddddd|› d�gd	d
œ«       ŒF |rdnd|xs dg|d d D �cg c]  }|d   ‘Œ	 c}|dœS c c}w )Nzrole fundamentalsÚcommunicationc              3   ó<   K  — | ]  }|j                  «       –— Œ y ­w)N)Úlower)Ú.0Úss     ú0/var/www/html/TJ-AI/tj/app/services/skill_gap.pyÚ	<genexpr>z9SkillGapService.analyze.<locals>.local.<locals>.<genexpr>   s   è ø€ ÐNÑ2M¨Q˜qŸw™wŸyÑ2Mùs   ‚gš™™™™™é?gš™™™™™Ù?Úhighz	Practice z with role-based exercisesz.Not clearly demonstrated in provided materials©ÚskillÚrequired_levelÚdemonstrated_levelÚgapÚpriorityÚlearning_suggestionsÚevidencegš™™™™™á?zbaseline communicationé   r   )Úoverall_readinessÚ	strengthsÚrecommended_prep_focusÚgaps)Úrequired_skillsÚsetÚdemonstrated_skillsr   Úappend)ÚskillsÚdemonstratedr"   r    r   Úgr
   s         €r   Úlocalz&SkillGapService.analyze.<locals>.local   sÖ   ø€ Ø×,Ñ,ÒVÐ1DÀoÐ0VˆFÜÑN°'×2MÒ2MÓNÓNˆLØˆDØˆIÛ�Ø—7‘7“9 Ñ,Ø×$Ñ$ QÕ'à—K‘Kà%&Ø.1Ø25Ø#&Ø(.Ø7@ÀÀÐC]Ð5^Ð4_Ø(Xñõ
ð	 ñ  .2¡T°sØ&ÒDÐ+CÐ*DØ?CÀBÀQ¹xÓ*H¹x¸!¨1¨W«:¸xÑ*HØñ	ð ùò +Is   ÂB!)ÚsystemÚuserÚlocal_factoryr"   r   Ú r   r   r   r   Úmediumr   r   r   zSkill-gap analysis via r   r    r!   )
Úcorrelation_idÚcandidate_idÚ
role_titleÚstatusÚstubÚmessager   r"   r    r!   )r2   Újob_descriptionr#   r%   Úresume_textÚresume_structuredÚinterview_answersÚdictr   ÚgetÚ
isinstancer   ÚstrÚlistr   r0   r1   r   Ú	SUCCEEDED)
Úselfr
   r+   r,   r*   Údatar4   Úproviderr)   r"   s
    `        r   ÚanalyzezSkillGapService.analyze   sî  øè ø€ ðGð 	ð �W×'Ñ'Ð(¨°×0GÑ0GÐ/Hð IØ ×0Ñ0Ð1Ð1AÀ'×B]ÑB]ÐA^ð _Ø×*Ñ*ÒG¨g×.GÑ.GÐHð IØ×1Ñ1Ð2ð4ð 	ð	”tõ 	ô6 &3Ø °Eô&
÷  
Ñˆˆd�Hð —h‘h˜vÓ&Ò,¨"Ð,ó
ñ -�Ü˜!œTÔ"ô Ü˜!Ÿ%™% ¨Ó,Ó-Ø Ÿu™uÐ%5Ó6Ø#$§5¡5Ð)=Ó#>Ø—E‘E˜%“LÜ˜QŸU™U :¨xÓ8Ó9Ü%)¨!¯%©%Ð0FÓ*GÒ*MÈ2Ó%NØŸ™˜zÓ*öð -ð 	ð 
ô 'Ø"×1Ñ1Ø ×-Ñ-Ø×)Ñ)Ü×&Ñ&ØØ-¨h¨ZÐ8Ø"Ÿh™hÐ':Ó;ØÜ˜4Ÿ8™8 KÓ0Ò6°BÓ7Ü#'¨¯©Ð1IÓ(JÒ(PÈbÓ#Qô
ð 	
ð! 
ûò
ùs&   ƒA>G)ÂG!ÂG)Â!B3G$ÅBG)Ç$G)N)Ú__name__Ú
__module__Ú__qualname__r   r   rC   © ó    r   r	   r	      s   „ ðD
Ð%;ð D
Ð@Wô D
rH   r	   N)
Ú__doc__Úapp.schemas.commonr   Úapp.schemas.skill_gapr   r   r   Úapp.services.ai_generater   r	   rG   rH   r   Ú<module>rM      s&   ðÙ !å (÷ñ õ
 3÷E
ò E
rH   