Ë
    I»jn  ã                   óT   — d 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«      Zy)	z"Personalized interview prep plans.é    )Úuuid4)Ú	JobStatus)ÚPrepPlanRequestÚPrepPlanResponseÚPrepPlanSection)Úgenerate_jsonc                   ó   — e Zd Zdedefd„Zy)ÚPrepPlansServiceÚpayloadÚreturnc              ƒ   óf  ‡K  — d}d‰j                   › d‰j                  › d‰j                  › d‰j                  xs ‰j                  › d‰j
                  › d‰j                  › �}dt        fˆfd	„}t        |||¬
«      ƒ d {  –—† \  }}}|j                  d«      xs g D �cg c]d  }t        |t        «      rRt        t        |j                  dd«      «      t        |j                  d«      xs g «      |j                  d«      ¬«      ‘Œf }	}t        ‰j                  ‰j                   ‰j                   t        t#        «       «      t$        j&                  |d|› �|j                  d«      t        |j                  d«      xs g «      |	t        |j                  d«      xs g «      ¬«      S 7 �Œ(c c}w ­w)NzžCreate a role-specific interview prep plan. Return JSON: {"summary","skill_gaps":[],"sections":[{"title","items":[],"estimated_hours"}],"suggested_tracks":[]}zRole: z
Level: z
JD:
z	
Resume:
z
Focus skills: z
Language: r   c            	      ó  •— ‰j                   xs g d¢} d‰j                  › d‰j                  › d�| dd‰j                  › �gddœd	d
dgddœdddgddœg‰j                  › d‰j                  j                  «       j	                  dd«      › �gdœS )N)zrole fundamentalsÚcommunicationzproblem solvingzA z prep plan for z2 covering skills, practice interviews, and review.zCore conceptszStudy fundamentals for é   ©ÚtitleÚitemsÚestimated_hourszPractice interviewszComplete 2 mock chat interviewszReview feedbacké   zRole scenarioszPractice STAR storieszPrepare portfolio examplesé   Ú-Ú )ÚsummaryÚ
skill_gapsÚsectionsÚsuggested_tracks)Úfocus_skillsÚtarget_levelÚ
role_titleÚlowerÚreplace)Úgapsr   s    €ú1/var/www/html/TJ-AI/tj/app/services/prep_plans.pyÚlocalz(PrepPlansService.generate.<locals>.local   sÚ   ø€ Ø×'Ñ'ÒdÒ+dˆDð ˜×-Ñ-Ð.¨o¸g×>PÑ>PÐ=Qð RHð Hð #ð "1Ø$;¸G×<NÑ<NÐ;OÐ"PÐ!QØ+,ñð "7Ø"CÐEVÐ!WØ+,ñð "2Ø"9Ð;WÐ!XØ+,ñðð$ ×+Ñ+Ð,¨A¨g×.@Ñ.@×.FÑ.FÓ.H×.PÑ.PÐQTÐVYÓ.ZÐ-[Ð\ð%ñ/ð ó    )ÚsystemÚuserÚlocal_factoryr   r   ÚSectionr   r   r   zGenerated prep plan via r   r   r   )Úcorrelation_idÚcandidate_idr   Úplan_idÚstatusÚstubÚmessager   r   r   r   )r   r   Újob_descriptionÚresume_textÚresume_structuredr   ÚlanguageÚdictr   ÚgetÚ
isinstancer   ÚstrÚlistr   r*   r+   r   r   Ú	SUCCEEDED)
Úselfr   r&   r'   r$   Údatar.   ÚproviderÚsr   s
    `        r#   ÚgeneratezPrepPlansService.generate   s¼  øè ø€ ðVð 	ð �W×'Ñ'Ð(¨	°'×2FÑ2FÐ1Gð HØ×+Ñ+Ð,ð -Ø×+Ñ+ÒH¨w×/HÑ/HÐIð JØ$×1Ñ1Ð2°,¸w×?OÑ?OÐ>PðRð 	ð	”tõ 	ô< &3Ø °Eô&
÷  
Ñˆˆd�Hð —h‘h˜zÓ*Ò0¨bÐ0ó
ñ 1�Ü˜!œTÔ"ô Ü˜!Ÿ%™% ¨Ó3Ó4Ü˜1Ÿ5™5 ›>Ò/¨RÓ0Ø !§¡Ð&7Ó 8öð
 1ð 	ð 
ô  Ø"×1Ñ1Ø ×-Ñ-Ø×)Ñ)Üœ›“LÜ×&Ñ&ØØ.¨x¨jÐ9Ø—H‘H˜YÓ'Ü˜DŸH™H \Ó2Ò8°bÓ9ØÜ! $§(¡(Ð+=Ó">Ò"DÀ"ÓEô
ð 	
ð 
ûò
ùs&   ƒA>F1ÂF)ÂF1Â!A)F,Ä
B F1Æ,F1N)Ú__name__Ú
__module__Ú__qualname__r   r   r>   © r%   r#   r
   r
   
   s   „ ðC
 oð C
Ð:Jô C
r%   r
   N)Ú__doc__Úuuidr   Úapp.schemas.commonr   Úapp.schemas.prep_plansr   r   r   Úapp.services.ai_generater   r
   rB   r%   r#   Ú<module>rH      s#   ðÙ (å å (ß UÑ UÝ 2÷D
ò D
r%   