Ë
    jjº"  ã                  óà  — 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	 ddl
mZmZ  G d„ de«      Z G d„ d	e«      Z G d
„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d „ d!e«      Z G d"„ d#e«      Z G d$„ d%e«      Z G d&„ d'e«      Z G d(„ d)e«      Z G d*„ d+e«      Z G d,„ d-e«      Z  G d.„ d/e «      Z! G d0„ d1e «      Z" G d2„ d3e «      Z# G d4„ d5e«      Z$ G d6„ d7e«      Z% G d8„ d9e«      Z& G d:„ d;e«      Z' G d<„ d=e«      Z( G d>„ d?e«      Z) G d@„ dAe«      Z*yB)Cu<   
models/schemas.py â€” All Pydantic request/response models
é    )Úannotations)Údatetime)ÚAnyÚDictÚListÚLiteralÚOptional)Ú	BaseModelÚFieldc                  ó<   — e Zd ZU  eddd¬«      Zded<   dZded	<   y)
ÚLoginRequest.é   zCandidate access key)Ú
min_lengthÚdescriptionÚstrÚ
access_keyNúOptional[str]Úcaptcha_token)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__annotations__r   © ó    úi/Users/priyanka/Documents/AI_Agent_Assessment/pepole_hub_candidate/people_hub_candidate/models/schemas.pyr   r      s    … Ù˜C¨AÐ;QÔR€J�ÓRØ#'€M�=Ô'r   r   c                  óD   — e Zd ZU ded<   dZded<   ded<   ded<   ded<   y	)
ÚLoginResponser   ÚtokenÚbearerÚ
token_typez'CandidateOut'Ú	candidateÚredirect_urlÚ
stage_nameN)r   r   r   r   r    r   r   r   r   r      s"   … ØƒJØ€J�ÓØÓØÓØ„Or   r   c                  ór   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   d	ed
<   d	ed<   ded<   ded<   y)ÚCandidateOutr   ÚidÚnameÚemailÚphonez	list[str]Ú	skill_setÚposition_appliedr   Ú
last_loginÚlast_question_attemptÚintÚcurrent_stager   N©r   r   r   r   r   r   r   r%   r%      s9   … ØƒGØ
ƒIØƒJØƒJØÓØÓØÓØ(Ó(ØÓØ„Or   r%   c                  ó6   — e Zd ZU ded<   ded<   ded<   ded<   y)ÚTokenPayloadr   Úsubr'   r.   ÚstageÚexpNr0   r   r   r   r2   r2   #   s   … Ø	ƒHØ
ƒIØƒJØ	„Hr   r2   c                  ó"   — e Zd ZU ded<   ded<   y)ÚCaptchaVerifyRequestr   Ú
session_idz	list[int]Úselected_indicesNr0   r   r   r   r7   r7   ,   s   … ØƒOØÔr   r7   c                  ó6   — e Zd ZU ded<   ded<   ded<   ded<   y)ÚCaptchaResponser   r8   Úchallenge_typeÚquestionú
list[dict]ÚitemsNr0   r   r   r   r;   r;   0   s   … ØƒOØÓØƒMØÔr   r;   c                  ó0   — e Zd ZU ded<   dZded<   ded<   y)ÚCaptchaVerifyResponseÚboolÚverifiedNr   r   r   Úmessage)r   r   r   r   r   r   r   r   rA   rA   6   s   … ØƒNØ€Eˆ=ÓØ„Lr   rA   c                  ó:   — e Zd ZU ded<   ded<   ded<   dZded<   y)	ÚPhotoUploadResponserB   Úsuccessr   Úphoto_idrD   NúOptional[dict]Úfraud_check)r   r   r   r   rJ   r   r   r   rF   rF   >   s   … ØƒMØƒMØƒLØ"&€K�Ô&r   rF   c                  ó6   — e Zd ZU ded<   ded<   ded<   ded<   y)ÚSetupCompleteRequestr   rH   rB   Ú	camera_okÚmic_okÚ
network_okNr0   r   r   r   rL   rL   D   s   … ØƒMØƒOØƒLØÔr   rL   c                  ó,   — e Zd ZU ded<   ded<   ded<   y)ÚRunCodeRequestr.   Úquestion_idr   ÚlanguageÚcodeNr0   r   r   r   rQ   rQ   M   s   … ØÓØƒMØ
„Ir   rQ   c                  ó0   — e Zd ZU ded<   ded<   dZded<   y)ÚRunCodeResponser   Úoutputz&Literal['success', 'error', 'warning']ÚstatusNúOptional[int]Útokens_used)r   r   r   r   rZ   r   r   r   rV   rV   R   s   … ØƒKØ2Ó2Ø!%€K�Ô%r   rV   c                  ó6   — e Zd ZU ded<   ded<   ded<   ded<   y)ÚSubmitCodeRequestr.   rR   r   Úquestion_textrS   rT   Nr0   r   r   r   r\   r\   W   s   … ØÓØÓØƒMØ
„Ir   r\   c                  ó^   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   y)ÚSubmitCodeResponser   Úsubmission_idr.   rR   z*Literal['correct', 'incorrect', 'partial']Ú	ai_resultÚai_feedbackÚfloatÚai_scoreÚai_marksÚ	max_marksÚsubmitted_atNr0   r   r   r   r_   r_   ]   s/   … ØÓØÓØ9Ó9ØÓØƒOØƒMØƒNØÔr   r_   c                  ó"   — e Zd ZU ded<   ded<   y)ÚFinalSubmitRequestr>   Úsubmissionsr.   Útime_used_secondsNr0   r   r   r   ri   ri   g   s   … ØÓØÔr   ri   c                  ó@   — e Zd ZU ded<   ded<   ded<   ded<   ded<   y)	ÚFinalSubmitResponser   Ú	referencer.   Útotal_submittedÚestimated_scoreÚ	max_scorerg   Nr0   r   r   r   rm   rm   k   s   … ØƒNØÓØÓØƒNØÔr   rm   c                  óH   — e Zd ZU ded<   ded<   ded<   dZded<   d	Zd
ed<   y	)ÚFraudEventRequestz�Literal['TAB_SWITCH', 'PASTE', 'COPY', 'NO_CAMERA', 'CAMERA_LOST', 'NO_MIC', 'MULTIPLE_FACES', 'INACTIVITY', 'WINDOW_BLUR', 'SCREEN_CAPTURE']Ú
event_typer   rD   Ú	timestampé   r.   ÚroundNrI   Úmetadata)r   r   r   r   rw   rx   r   r   r   rs   rs   u   s+   … ðó ð
 ƒLØƒNØ€Eˆ3ƒNØ#€HˆnÔ#r   rs   c                  ó@   — e Zd ZU ded<   ded<   ded<   ded<   d	ed
<   y)ÚFraudEventResponserB   Úloggedr.   Úviolation_countz$Literal['ok', 'warning', 'critical']Úwarning_levelz%Literal['none', 'warn', 'disqualify']Úactionr   rD   Nr0   r   r   r   rz   rz   €   s   … ØƒLØÓØ7Ó7Ø1Ó1Ø„Lr   rz   c                  ó8   — e Zd ZU dZded<   dZded<   dZded	<   y)
ÚSuccessResponseTrB   rG   ÚOKr   rD   Nr   Údata)r   r   r   rG   r   rD   r‚   r   r   r   r€   r€   Š   s    … Ø€GˆTÓØ€GˆSÓØ€Dˆ#Ôr   r€   c                  ó4   — e Zd ZU dZded<   ded<   dZded<   y)	ÚErrorResponseFrB   rG   r   rD   Nr   Údetail)r   r   r   rG   r   r…   r   r   r   r„   r„   �   s   … Ø€GˆTÓØƒLØ €FˆMÔ r   r„   c                  ó®  — e Zd ZU  edd¬«      Zded<    edd¬«      Zded<   ded<   d	Zded
<    edd¬«      Zded<    edd¬«      Z	ded<   dZ
ded<    edd¬«      Zded<   dZded<   d	Zded<   dZded<    eddd¬«      Zded<   dZded<   d Zded!<   d"Zded#<   d$Zded%<   d&Zded'<   d	Zded(<   d)Zded*<   d+Zd,ed-<   d+Zd,ed.<   d+Zd,ed/<   d0Zd,ed1<   y2)3ÚScenarioBase.éP   )Ú
max_lengthr   Útitlei,  r   ÚcategoryÚ Ú	cat_labelzRich AI context paragraph)r   Úcontexté<   Úlearner_roleu   ðŸ§‘â€�ðŸ’¼Úlearner_emojiÚai_characteru   ðŸ¤–Úai_emojiÚai_personalityÚIntermediateÚ
difficultyé   r   é   )ÚgeÚler.   ÚturnszGuided with FeedbackÚscoringz15 minÚ
time_limitÚenÚlanguage_codeÚEnglishÚlanguage_nameu   ðŸ‡¬ðŸ‡§Úlanguage_flagÚindustryz	All usersÚassign_groupTrB   Úvoice_onÚchat_onÚ	report_onFÚfeaturedN)r   r   r   r   rŠ   r   r   r�   rŽ   r�   r‘   r’   r“   r”   r–   r›   rœ   r�   rŸ   r¡   r¢   r£   r¤   r¥   r¦   r§   r¨   r   r   r   r‡   r‡   –   s  … Ù�s rÔ*€Eˆ3Ó*Ù˜S¨SÔ1€K�Ó1ØƒMØ€IˆsÓÙ˜Ð*EÔF€GˆSÓFÙ˜c¨bÔ1€L�#Ó1Ø&€M�3Ó&Ù˜c¨bÔ1€L�#Ó1Ø€HˆcÓØ€N�CÓØ$€J�Ó$Ù�q˜Q 2Ô&€Eˆ3Ó&Ø)€GˆSÓ)Ø€J�ÓØ€M�3ÓØ"€M�3Ó"Ø#€M�3Ó#Ø€HˆcÓØ#€L�#Ó#Ø€HˆdÓØ€GˆTÓØ€IˆtÓØ€HˆdÔr   r‡   c                  ó   — e Zd Zy)ÚScenarioCreateN©r   r   r   r   r   r   rª   rª   ¯   ó   „ Ør   rª   c                  ó   — e Zd Zy)ÚScenarioUpdateNr«   r   r   r   r®   r®   ²   r¬   r   r®   c                  ór   — e Zd ZU ded<   dZded<   dZded<   dZd	ed
<   dZded<   dZded<    G d„ d«      Z	y)ÚScenarior   r&   ÚdraftrX   r   r.   Úcompletionsg        rc   Ú	avg_scorerŒ   Ú
created_atÚ
updated_atc                  ó   — e Zd ZdZy)úScenario.ConfigTN)r   r   r   Úfrom_attributesr   r   r   ÚConfigr·   ½   s   „ Ø‰r   r¹   N)
r   r   r   r   rX   r²   r³   r´   rµ   r¹   r   r   r   r°   r°   µ   sC   … ØƒGØ€FˆCÓØ€K�ÓØ€IˆuÓØ€J�ÓØ€J�Ó÷ò r   r°   c                  ó0   — e Zd ZU ded<   ded<   dZded<   y)ÚChatMessager   ÚroleÚcontentNr   ru   )r   r   r   r   ru   r   r   r   r»   r»   Ã   s   … Ø
ƒIØƒLØ#€Iˆ}Ô#r   r»   c                  ó’   — e Zd ZU ded<   ded<   dZded<   g Zded<   d	Zded
<   dZded<   dZded<   dZ	ded<   dZ
ded<   dZded<   y)ÚSessionStater   r8   Úscenario_idr   r.   ÚturnúList[ChatMessage]ÚmessagesrŒ   Ú
started_atNr   Úended_atrž   rŸ   Úcandidate_nameFrB   Úgreeting_doneÚselected_avatar)r   r   r   r   rÁ   rÃ   rÄ   rÅ   rŸ   rÆ   rÇ   rÈ   r   r   r   r¿   r¿   È   sc   … ØƒOØÓØ€Dˆ#ƒMØ"$€HÐÓ$Ø€J�ÓØ"€HˆmÓ"Ø€M�3Óð %)€N�MÓ(ð
  €M�4Óð &*€O�]Ô)r   r¿   c                  óB   — e Zd ZU ded<   dZded<   dZded<   i Zded<   y)	Ú
WSIncomingr   ÚtypeNr   r½   Ú	audio_b64úDict[str, Any]Úmeta)r   r   r   r   r½   rÌ   rÎ   r   r   r   rÊ   rÊ   á   s%   … Ø
ƒIØ!€Gˆ]Ó!Ø#€Iˆ}Ó#Ø€Dˆ.Ôr   rÊ   c                  ó^   — e Zd ZU ded<   dZded<   dZded<   dZded<   dZd	ed
<   i Zded<   y)Ú
WSOutgoingr   rË   Nr   r½   rÌ   rY   rÁ   zOptional[Dict[str, Any]]Ú	sentimentrÍ   rÎ   )	r   r   r   r   r½   rÌ   rÁ   rÑ   rÎ   r   r   r   rÐ   rÐ   ç   s:   … Ø
ƒIØ!€Gˆ]Ó!Ø#€Iˆ}Ó#Ø€Dˆ-ÓØ*.€IÐ'Ó.Ø€Dˆ.Ôr   rÐ   c                  ó,   — e Zd ZU ded<   ded<   ded<   y)ÚDimensionScorer   r'   rc   ÚscoreÚlevelNr0   r   r   r   rÓ   rÓ   ò   s   … Ø
ƒIØƒLØ„Jr   rÓ   c                  ó"   — e Zd ZU ded<   ded<   y)ÚFeedbackItemr   rË   ÚtextNr0   r   r   r   r×   r×   ÷   s   … Ø
ƒIØ
„Ir   r×   c                  ó®   — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded<   d	ed
<   d	ed<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   y)ÚSessionReportr   r8   Úscenario_titler�   r’   r–   rS   Úmoder.   Úturns_completedÚduration_secondsrc   Úoverall_scoreÚverdictzList[DimensionScore]Ú
dimensionszList[FeedbackItem]ÚfeedbackzList[float]Úsentiment_timelinerÂ   Ú
transcriptÚgenerated_atNr0   r   r   r   rÚ   rÚ   û   s]   … ØƒOØÓØÓØÓØƒOØƒMØ
ƒIØÓØÓØÓØƒLØ$Ó$Ø Ó Ø#Ó#Ø!Ó!ØÔr   rÚ   N)+Ú__doc__Ú
__future__r   r   Útypingr   r   r   r   r	   Úpydanticr
   r   r   r   r%   r2   r7   r;   rA   rF   rL   rQ   rV   r\   r_   ri   rm   rs   rz   r€   r„   r‡   rª   r®   r°   r»   r¿   rÊ   rÐ   rÓ   r×   rÚ   r   r   r   Ú<module>rê      sƒ  ðñõ #Ý ß 5Õ 5ß %ô
(�9ô (ô�Iô ô
�9ô 
ô�9ô ô ˜9ô  ô�iô ô˜Iô ô'˜)ô 'ô˜9ô ô�Yô ô
&�iô &ô
˜	ô ô˜ô ô˜ô ô˜)ô ô	$˜	ô 	$ô˜ô ô�iô ô
!�Iô !ô�9ô ô2	�\ô 	ô	�\ô 	ô	ˆ|ô 	ô$�)ô $ô
*�9ô *ô2�ô ô�ô ô�Yô ô
�9ô ô�Iõ r   