Ë
    I»jE  ã                   óˆ   — d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZ ddlmZ  G d„ d«      Z G d„ d	«      Z G d
„ d«      Zy)u@   Enterprise AI â€” manager clone, market research, voice cloning.é    )Úuuid4)Ú	JobStatus)ÚManagerCloneRequestÚManagerCloneResponseÚMarketResearchRequestÚMarketResearchResponseÚVoiceCloneRequestÚVoiceCloneResponse)Úgenerate_jsonc                   ó   — e Zd Zdedefd„Zy)ÚManagerCloneServiceÚpayloadÚreturnc              ƒ   ó`  ‡K  — d}d‰j                   › d‰j                  › d‰j                  › �}dt        fˆfd„}t	        |||¬«      ƒ d {  –—† \  }}}t        ‰j                  ‰j                   t        t        «       «      t        j                  |d|› �|j                  d	«      ¬
«      S 7 Œ_­w)NzVInfer a hiring-manager interview style. Return JSON: {"style_summary","clone_id_hint"}z	Company: z

Profile: z

Samples: r   c                  ó:   •— ‰j                   xs dg} dd| d   › �iS )Nz$Tell me about a challenge you owned.Ústyle_summaryzQDirect, behavioral, values ownership and concrete outcomes. Example probe style: r   )Úsample_questions)Úsamplesr   s    €ú1/var/www/html/TJ-AI/tj/app/services/enterprise.pyÚlocalz)ManagerCloneService.create.<locals>.local   s7   ø€ Ø×.Ñ.ÒZÐ3YÐ2ZˆGàð,Ø,3°A©J¨<ð9ðð ó    ©ÚsystemÚuserÚlocal_factoryzManager clone via r   )Úcorrelation_idÚ
company_idÚclone_idÚstatusÚstubÚmessager   )r   Úmanager_profiler   Údictr   r   r   Ústrr   r   Ú	SUCCEEDEDÚget©Úselfr   r   r   r   Údatar    Úproviders    `      r   ÚcreatezManagerCloneService.create   sÆ   øè ø€ ð4ð 	ð
 ˜×*Ñ*Ð+¨;°w×7NÑ7NÐ6Oð PØ×0Ñ0Ð1ð3ð 	ð
	”tõ 	ô &3Ø °Eô&
÷  
Ñˆˆd�Hô $Ø"×1Ñ1Ø×)Ñ)Üœ›“\Ü×&Ñ&ØØ(¨¨
Ð3ØŸ(™( ?Ó3ô
ð 	
ð 
ús   ƒA	B.ÁB,ÁA B.N)Ú__name__Ú
__module__Ú__qualname__r   r   r+   © r   r   r   r      s   „ ð
Ð$7ð 
Ð<Pô 
r   r   c                   ó   — e Zd Zdedefd„Zy)ÚMarketResearchServicer   r   c              ƒ   óª  ‡K  — d}d‰j                   › d‰j                  › d‰j                  › d‰j                  › �}dt        fˆfd„}t        |||¬«      ƒ d {  –—† \  }}}t        ‰j                  ‰j                   t        j                  |d	|› �t        |j                  d
«      xs g «      t        |j                  d«      xs g «      ¬«      S 7 Œw­w)Nz_Generate market-aware interview questions. Return JSON: {"questions":["..."],"sources":["..."]}zRole: z
Industry: z	
Region: z
Count: r   c                  óŠ   •— d‰ j                   xs d› d‰ j                  › d�d‰ j                  › d�dgd ‰ j                   dgd	œS )
NzHow are recent trends in zthe industryz changing expectations for a Ú?z)Which tools or practices should a modern z evaluate in 2026?zFDescribe a market signal that would change your roadmap for this role.zlocal-market-knowledge-baseline)Ú	questionsÚsources)ÚindustryÚ
role_titleÚcount)r   s   €r   r   z.MarketResearchService.questions.<locals>.local>   sp   ø€ ð 0°×0@Ñ0@Ò0RÀNÐ/Sð T3Ø3:×3EÑ3EÐ2FÀaðIà?À×@RÑ@RÐ?SÐSeÐfØ\ð	ð
 "�G—M‘Mð#ð >Ð>ñð r   r   zMarket research via r5   r6   )r   r8   r   r    r!   r5   r6   )r8   r7   Úregionr9   r#   r   r   r   r   r%   Úlistr&   r'   s    `      r   r5   zMarketResearchService.questions4   sç   øè ø€ ðKð 	ð
 �W×'Ñ'Ð(¨°W×5EÑ5EÐ4Fð GØ—~‘~Ð& i°·±¨ð@ð 	ð
		”tõ 		ô &3Ø °Eô&
÷  
Ñˆˆd�Hô &Ø"×1Ñ1Ø×)Ñ)Ü×&Ñ&ØØ*¨8¨*Ð5Ü˜4Ÿ8™8 KÓ0Ò6°BÓ7Ü˜Ÿ™ )Ó,Ò2°Ó3ô
ð 	
ð 
ús   ƒACÁCÁA8CN)r,   r-   r.   r   r   r5   r/   r   r   r1   r1   3   s   „ ð 
Ð'<ð  
ÐAWô  
r   r1   c                   ó   — e Zd Zdedefd„Zy)ÚVoiceCloningServicer   r   c           
   ƒ   ó°   K  — t        |j                  |j                  t        t	        «       «      t
        j                  dd|j                  › d�d¬«      S ­w)NTzVoice clone accepted for 'u!   ' â€” live provider not wired yetÚaccepted_local)r   r   Úvoice_idr   r    r!   Ústatus_detail)r
   r   r   r$   r   r   r%   Ú
voice_name)r(   r   s     r   ÚclonezVoiceCloningService.cloneX   sX   è ø€ Ü!Ø"×1Ñ1Ø×)Ñ)Üœ›“\Ü×&Ñ&Øà,¨W×-?Ñ-?Ð,@ð A.ð .ð +ô
ð 	
ùs   ‚AAN)r,   r-   r.   r	   r
   rC   r/   r   r   r=   r=   W   s   „ ð
Ð#4ð 
Ð9Kô 
r   r=   N)Ú__doc__Úuuidr   Úapp.schemas.commonr   Úapp.schemas.enterpriser   r   r   r   r	   r
   Úapp.services.ai_generater   r   r1   r=   r/   r   r   Ú<module>rI      s=   ðÙ Få å (÷÷ õ 3÷
ñ 
÷D!
ñ !
÷H
ò 
r   