§
    s�’jË  ã                  ó2  — d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
mZ ddl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dS )é    )Úannotations)ÚAny)Ú	BaseModelÚFieldÚmodel_validator)Ú"DOSSIER_REVIEW_ASSIGNMENT_STATUSESÚDOSSIER_REVIEW_DEPARTMENT_CODESÚDOSSIER_REVIEW_SESSION_STATUSESé   )Ú!DossierReviewFindingCreateRequestc                  ó  — e Zd ZU dZded<   dZded<   dZded<   dZded<    edd	d
 	                    e
¦  «        › �¬¦  «        Zded<   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<    eddd¬¦  «        Zded<    edd¬¦  «        Zded<    edd¬¦  «        Zded<    ee¬¦  «        Zded<    ee¬¦  «        Zded <    ee¬¦  «        Zded!<   dZded"<    ee¬¦  «        Zded#<   dZded$<    ee¬¦  «        Zd%ed&<   dS )'Ú#WorkflowReviewEmployeeActionRequestzGSingle employee activity emitted during a proactive dossier review run.ÚstrÚemployee_codeNú
str | NoneÚ
agent_codeÚ
role_titleÚ
agent_roleúOne of: ú, ©ÚdefaultÚdescriptionÚdepartment_codeÚactionu   Ä�ang xá»­ lÃ½ÚstatusÚsummaryu   Trung bÃ¬nhÚpriorityÚ
role_groupÚnext_priorityr   éd   )r   ÚgeÚleÚintÚprogress_percent©r   r"   Úcompleted_countÚmissing_count©Údefault_factoryú	list[str]ÚfindingsÚmissing_itemsÚnotesÚ
ai_requestÚ	ai_resultÚaction_timestampúdict[str, Any]Úmetadata)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   r   r   Újoinr	   r   r   r   r   r   r    r%   r'   r(   Úlistr,   r-   r.   r/   r0   r1   Údictr3   © ó    úPC:\Projects\DSCons\app\models\workflow_review_schemas\workflow_request_models.pyr   r      s  € € € € € € ØQÐQàÐÐÑØ!€JÐ!Ð!Ð!Ñ!Ø!€JÐ!Ð!Ð!Ñ!Ø!€JÐ!Ð!Ð!Ñ!Ø"' %ØØK˜tŸyšyÐ)HÑIÔIÐKÐKð#ñ #ô #€Oð ð ð ñ ð €K€K�KØ"€FÐ"Ð"Ð"Ñ"Ø€GÐÐÐÑØ!€HÐ!Ð!Ð!Ñ!Ø!€JÐ!Ð!Ð!Ñ!Ø $€MÐ$Ð$Ð$Ñ$Ø!˜E¨!°°cÐ:Ñ:Ô:ÐÐ:Ð:Ð:Ñ:Ø ˜5¨¨qÐ1Ñ1Ô1€OÐ1Ð1Ð1Ñ1Ø˜ q¨QÐ/Ñ/Ô/€MÐ/Ð/Ð/Ñ/Ø˜%°Ð5Ñ5Ô5€HÐ5Ð5Ð5Ñ5Ø$˜u°TÐ:Ñ:Ô:€MÐ:Ð:Ð:Ñ:Ø�u¨TÐ2Ñ2Ô2€EÐ2Ð2Ð2Ñ2Ø!€JÐ!Ð!Ð!Ñ!Ø ˜5°Ð6Ñ6Ô6€IÐ6Ð6Ð6Ñ6Ø#'ÐÐ'Ð'Ð'Ñ'Ø$˜u°TÐ:Ñ:Ô:€HÐ:Ð:Ð:Ñ:Ð:Ð:r=   r   c                  ó  — e Zd ZU dZ eddd                     e¦  «        › �¬¦  «        Zded<   dZ	d	ed
<   dZ
d	ed<    eddd                     e¦  «        › �¬¦  «        Zded<   dZded<   dZd	ed<   dZd	ed<    ee¬¦  «        Zded<   dS )ÚWorkflowReviewAssignmentRequestz=Structured assignment request for one dossier review finding..r   r   )r   r   Úassigned_department_codeNr   Úassigned_employee_codeÚassigned_by_employee_codeÚpendingr   r   Úmediumr   Údue_dateÚassignment_noter)   r2   r3   )r4   r5   r6   r7   r   r9   r	   rA   r8   rB   rC   r   r   r   rF   rG   r;   r3   r<   r=   r>   r@   r@   -   s  € € € € € € ØGÐGà$) EØØK˜tŸyšyÐ)HÑIÔIÐKÐKð%ñ %ô %Ðð ð ð ñ ð *.ÐÐ-Ð-Ð-Ñ-Ø,0ÐÐ0Ð0Ð0Ñ0Ø�%ØØN˜tŸyšyÐ)KÑLÔLÐNÐNðñ ô €Fð ð ð ñ ð €HÐÐÐÑØ€HÐÐÐÑØ"&€OÐ&Ð&Ð&Ñ&Ø$˜u°TÐ:Ñ:Ô:€HÐ:Ð:Ð:Ñ:Ð:Ð:r=   r@   c                  ó¦   — e Zd ZU dZdZded<   dZded<   dZded<    ed	d	¬
¦  «        Z	ded<    ee
¬¦  «        Zded<    ee
¬¦  «        Zded<   dS )ÚWorkflowReviewSubmissionRequestzDStructured supplement submission emitted during workflow automation.Údocument_bundler   Úsubmission_typeNr   Úsubmitted_by_employee_codeÚsubmission_noter   r&   r$   Úattachment_countr)   r2   Úsubmitted_payloadr3   )r4   r5   r6   r7   rK   r8   rL   rM   r   rN   r;   rO   r3   r<   r=   r>   rI   rI   @   sª   € € € € € € ØNÐNà,€OÐ,Ð,Ð,Ñ,Ø-1ÐÐ1Ð1Ð1Ñ1Ø"&€OÐ&Ð&Ð&Ñ&Ø!˜E¨!°Ð2Ñ2Ô2ÐÐ2Ð2Ð2Ñ2Ø(-¨¸dÐ(CÑ(CÔ(CÐÐCÐCÐCÑCØ$˜u°TÐ:Ñ:Ô:€HÐ:Ð:Ð:Ñ:Ð:Ð:r=   rI   c                  óÀ   — e Zd ZU dZ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
<    e
e¬¦  «        Zded<    e
e¬¦  «        Zded<    e
e¬¦  «        Zded<   dS )ÚWorkflowReviewSnapshotRequestz=Snapshot payload captured as part of an automated review run.Úinitial_baseliner   Úsnapshot_typeNr   Úcaptured_by_employee_codeÚcaptured_by_agent_codeÚlabelr   r)   r2   Údossier_stateÚmissing_matrixÚreadiness_summary)r4   r5   r6   r7   rS   r8   rT   rU   rV   r   r   r;   rW   rX   rY   r<   r=   r>   rQ   rQ   K   sÊ   € € € € € € ØGÐGà+€MÐ+Ð+Ð+Ñ+Ø,0ÐÐ0Ð0Ð0Ñ0Ø)-ÐÐ-Ð-Ð-Ñ-Ø€EÐÐÐÑØ€GÐÐÐÑØ$) E¸$Ð$?Ñ$?Ô$?€MÐ?Ð?Ð?Ñ?Ø%* U¸4Ð%@Ñ%@Ô%@€NÐ@Ð@Ð@Ñ@Ø(-¨¸dÐ(CÑ(CÔ(CÐÐCÐCÐCÑCÐCÐCr=   rQ   c                  ó|   — e Zd ZU dZ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<    e
e¬¦  «        Zded<   dS )Ú!WorkflowReviewVerificationRequestz;Structured verification request for a submitted supplement.Úacceptedr   Úverification_resultNr   Úverification_noteÚverified_by_employee_codeÚresolution_noteú$WorkflowReviewSnapshotRequest | NoneÚverification_snapshotr)   r2   r3   )r4   r5   r6   r7   r]   r8   r^   r_   r`   rb   r   r;   r3   r<   r=   r>   r[   r[   X   s�   € € € € € € ØEÐEà)ÐÐ)Ð)Ð)Ñ)Ø$(ÐÐ(Ð(Ð(Ñ(Ø,0ÐÐ0Ð0Ð0Ñ0Ø"&€OÐ&Ð&Ð&Ñ&ØBFÐÐFÐFÐFÑFØ$˜u°TÐ:Ñ:Ô:€HÐ:Ð:Ð:Ñ:Ð:Ð:r=   r[   c                  óR   — e Zd ZU dZdZded<   dZded<    ee¬¦  «        Z	d	ed
<   dS )ÚWorkflowReviewCloseRequestz-Structured request to close a review session.Nr   Úclosure_noteFÚboolÚforce_close_open_findingsr)   r2   r3   )
r4   r5   r6   r7   re   r8   rg   r   r;   r3   r<   r=   r>   rd   rd   c   sY   € € € € € € Ø7Ð7à#€LÐ#Ð#Ð#Ñ#Ø&+ÐÐ+Ð+Ð+Ñ+Ø$˜u°TÐ:Ñ:Ô:€HÐ:Ð:Ð:Ñ:Ð:Ð:r=   rd   c                  óD   — e Zd ZU dZdZded<    ee¬¦  «        Zded<   dS )ÚWorkflowReviewFindingRequestzDStructured finding request used by the workflow persistence service.Nz&WorkflowReviewAssignmentRequest | NoneÚ
assignmentr)   ú)list[WorkflowReviewEmployeeActionRequest]Úemployee_actions)	r4   r5   r6   r7   rj   r8   r   r:   rl   r<   r=   r>   ri   ri   k   s^   € € € € € € ØNÐNà9=€JÐ=Ð=Ð=Ñ=ØBGÀ%ØðCñ Cô CÐð ð ð ñ ð ð r=   ri   c                  ó°  — e Zd ZU dZded<   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 
                    e¦  «        › �¬¦  «        Zded<   dZded<   dZded<    e	e¬¦  «        Zded<   dZded<    e	e¬¦  «        Zded<    e	e¬¦  «        Zded<    e	e¬¦  «        Zded<    e	e¬¦  «        Zded <    ed!¬"¦  «        d%d$„¦   «         ZdS )&ÚWorkflowReviewStartRequestzCRequest payload to persist a proactive dossier review workflow run.r   Úproject_codeÚlead_agent_codeNr   Úlead_reviewer_employee_codeÚinitiated_by_employee_codeÚproject_dossierÚdossier_scopeÚsystem_proactive_reviewÚtrigger_sourceÚ	in_reviewr   r   r   r   Úreview_reasonÚreview_summaryr)   r+   Úassigned_departmentsra   Úbaseline_snapshotz"list[WorkflowReviewFindingRequest]r,   zlist[dict[str, Any]]Úreview_actionsrk   Úparticipating_employeesr2   r3   Úafter)ÚmodeÚreturnc                ó,   — | j         €| j        | _         | S )zAFill workflow actor defaults from the lead reviewer when omitted.)rr   rq   )Úselfs    r>   Úensure_actor_defaultsz0WorkflowReviewStartRequest.ensure_actor_defaultsŒ   s   € ð Ô*Ð2Ø.2Ô.NˆDÔ+Øˆr=   )r€   rn   )r4   r5   r6   r7   r8   rq   rr   rt   rv   r   r9   r
   r   rx   ry   r:   rz   r{   r,   r|   r}   r;   r3   r   rƒ   r<   r=   r>   rn   rn   t   sÍ  € € € € € € ØMÐMàÐÐÑØÐÐÑØ.2ÐÐ2Ð2Ð2Ñ2Ø-1ÐÐ1Ð1Ð1Ñ1Ø*€MÐ*Ð*Ð*Ñ*Ø3€NÐ3Ð3Ð3Ñ3Ø�%ØØK˜tŸyšyÐ)HÑIÔIÐKÐKðñ ô €Fð ð ð ñ ð !%€MÐ$Ð$Ð$Ñ$Ø!%€NÐ%Ð%Ð%Ñ%Ø&+ e¸DÐ&AÑ&AÔ&AÐÐAÐAÐAÑAØ>BÐÐBÐBÐBÑBØ38°5ÈÐ3NÑ3NÔ3N€HÐNÐNÐNÑNØ+0¨5ÀÐ+FÑ+FÔ+F€NÐFÐFÐFÑFØINÈØðJñ Jô JÐð ð ð ñ ð  %˜u°TÐ:Ñ:Ô:€HÐ:Ð:Ð:Ñ:à€_˜'Ð"Ñ"Ô"ðð ð ñ #Ô"ðð ð r=   rn   N)Ú
__future__r   Útypingr   Úpydanticr   r   r   Úapp.models.schema_constantsr   r	   r
   Údossier_finding_modelsr   r   r@   rI   rQ   r[   rd   ri   rn   r<   r=   r>   ú<module>r‰      sñ  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð FÐ EÐ EÐ EÐ EÐ Eð;ð ;ð ;ð ;ð ;¨)ñ ;ô ;ð ;ð:;ð ;ð ;ð ;ð ; iñ ;ô ;ð ;ð&;ð ;ð ;ð ;ð ; iñ ;ô ;ð ;ð
Dð 
Dð 
Dð 
Dð 
D Iñ 
Dô 
Dð 
Dð;ð ;ð ;ð ;ð ;¨	ñ ;ô ;ð ;ð;ð ;ð ;ð ;ð ; ñ ;ô ;ð ;ðð ð ð ð Ð#Dñ ô ð ðð ð ð ð  ñ ô ð ð ð r=   