§
    ÔŸ’jÀ  ã                  óx   — d Z ddlmZ ddlmZ ddlmZ ddlmZ  ed¬¦  «         G d„ d	¦  «        ¦   «         Z	d
S )z9High-level Zalo automation workflow contracts for DSCons.é    )Úannotations)Ú	dataclass)ÚAny)ÚDesktopAutomationAdapterT)Úslotsc                  óJ   — e Zd ZU dZded<   dd	„Zd
d
d
dddœdd„Z	 	 ddd„ZdS ) ÚZaloAutomationServicez?Business-safe Zalo workflow layer built on the desktop adapter.r   ÚadapterÚcontact_nameÚstrÚmessageÚreturnúdict[str, Any]c           	   ƒ  ó  K  — | j                              d||d¬¦  «        ƒ d{V —†}| j                              d|                     d¦  «        rdnd||dd…         |                     d	¦  «        d
œ¬¦  «        ƒ d{V —† |S )z*Send a message to a verified Zalo contact.ÚcontactT)Útarget_typeÚtarget_namer   Úverify_before_sendNÚzalo_send_message_to_contactÚokÚerroréP   Úaction)r   Úmessage_previewÚresult_action©r   ÚstatusÚdetails)r
   Úzalo_send_message_to_targetÚ
log_actionÚget)Úselfr   r   Úresults       ú:C:\Projects\DSCons\app\services\zalo_automation_service.pyÚsend_message_to_contactz-ZaloAutomationService.send_message_to_contact   s×   è è € ð ”|×?Ò?Ø!Ø$ØØ#ð	 @ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆð Œl×%Ò%Ø1Ø!Ÿ:š: dÑ+Ô+Ð8�4�4°à+Ø#*¨3¨B¨3¤<Ø!'§¢¨HÑ!5Ô!5ðð ð &ñ 
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð ˆó    TN)r   Úpress_enterÚcapture_evidenceÚworkflow_idÚmessage_labelr   Úboolr'   r(   r)   ú
str | Noner*   c             ƒ  ól  K  — | j                              d||¬¦  «        ƒ d{V —†}| j                              d|                     d¦  «        rdnd|||dd…         t	          |¦  «        ||||                     d¦  «        d	œ¬
¦  «        ƒ d{V —† i |¥di |                     di ¦  «        ¥||||dœ¥i¥S )z0Send a message to the built-in My Document chat.Úmy_document)r   r   r   NÚ zalo_send_message_to_my_documentr   r   r   r   )r)   r*   r   Úmessage_lengthr'   r(   r   r   r   Údata)r'   r(   r)   r*   )r
   r   r    r!   Úlen)r"   r   r   r'   r(   r)   r*   r#   s           r$   Úsend_message_to_my_documentz1ZaloAutomationService.send_message_to_my_document&   s7  è è € ð ”|×?Ò?Ø%ØØ1ð @ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆð
 Œl×%Ò%Ø5Ø!Ÿ:š: dÑ+Ô+Ð8�4�4°à*Ø!.Ø#*¨3¨B¨3¤<Ý"% g¡,¤,Ø*Ø$4Ø&8Ø!'§¢¨HÑ!5Ô!5ð	ð 	ð &ñ 
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð	
Øð	
àð Ø—*’*˜V RÑ(Ô(ðà*Ø$4Ø*Ø!.ðð ð ð	
ð 	
ð 		
r&   úincoming/zaloú/Users/pain/Downloadsr   Úproject_pathÚ	subfolderÚdownload_dirc              ƒ  óT  K  — | j                              d|¬¦  «        ƒ d{V —†}|                     d¦  «        s>| j                              ddd||||                     d¦  «        dœ¬	¦  «        ƒ d{V —† |S | j                              |d
¬¦  «        ƒ d{V —†}|                     d¦  «        sr| j                              ddd||||                     d¦  «        dœ¬	¦  «        ƒ d{V —† dd|                     d¦  «        |||dœ||dœ|                     d¦  «        dœS | j                              |d¬¦  «        ƒ d{V —†}t          |                     dd¦  «        ¦  «        }| j                              |||dd
¬¦  «        ƒ d{V —†}	|                     d¦  «        r|	                     d¦  «        rdnd}
| j                              d|
|||||	                     d¦  «        dœ¬	¦  «        ƒ d{V —† |                     dd¦  «        o|	                     dd¦  «        d|	                     d¦  «        p|                     d¦  «        |||||	                     di ¦  «                             d¦  «        dœ||||	dœ|	                     d¦  «        p|                     d¦  «        dœS )zPDownload the latest file from a verified chat and move it into a project folder.r   )r   r   Nr   Údownload_latest_file_to_projectr   Ú	open_chat)Ústager   r6   r7   r   r   T)Úexpected_nameÚallow_partial_matchÚverify_chatFÚ	timestamp)r   r6   r7   )r;   r?   )r   r   r@   r1   Ú	artifactsr   g      N@)r8   Útimeout_secondsÚdownloaded_file_pathÚ )Úsource_pathÚproject_rootr7   Ú	rename_toÚcreate_dirsÚdestination_path)r   r6   r7   rE   rI   r1   )r   r6   r7   r8   rI   )r;   r?   ÚdownloadÚmove)r
   Úzalo_open_chatr!   r    Úzalo_verify_active_chatÚzalo_download_latest_filer   Úmove_file_to_project_folder)r"   r   r6   r7   r8   Úopen_resultÚverify_resultÚdownload_resultrE   Úmove_resultr   s              r$   r:   z5ZaloAutomationService.download_latest_file_to_projectO   s  è è € ð !œL×7Ò7Ø!¨{ð 8ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆð �Š˜tÑ$Ô$ð 	Ø”,×)Ò)Ø8Øà(Ø#.Ø$0Ø!*Ø(Ÿ_š_¨WÑ5Ô5ðð ð *ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð Ðà"œl×BÒBØ%Ø $ð Cñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆð × Ò  Ñ&Ô&ð 	Ø”,×)Ò)Ø8Øà*Ø#.Ø$0Ø!*Ø*×.Ò.¨wÑ7Ô7ðð ð *ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð Ø;Ø*×.Ò.¨{Ñ;Ô;à#.Ø$0Ø!*ðð ð "-Ø#0ðð ð '×*Ò*¨7Ñ3Ô3ðð ð ð  !%¤× FÒ FØ%Ø ð !Gñ !
ô !
ð 
ð 
ð 
ð 
ð 
ð 
ˆõ ˜/×-Ò-Ð.DÀbÑIÔIÑJÔJˆØ œL×DÒDØ#Ø%ØØØð Eñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ˆð $×'Ò'¨Ñ-Ô-ÐT°+·/²/À$Ñ2GÔ2GÐTˆDˆDÈWð 	ð Œl×%Ò%Ø4Øà*Ø ,Ø&Ø*Ø$/§O¢OÐ4FÑ$GÔ$Gðð ð &ñ 

ô 

ð 
	
ð 
	
ð 
	
ð 
	
ð 
	
ð 
	
ð 
	
ð "×%Ò% d¨EÑ2Ô2ÐS°{·²ÀtÈUÑ7SÔ7SØ7Ø$Ÿš¨Ñ5Ô5ð 0Ø×"Ò" ;Ñ/Ô/à*Ø ,Ø&Ø ,Ø$/§O¢O°F¸BÑ$?Ô$?×$CÒ$CÐDVÑ$WÔ$Wðð ð )Ø,Ø+Ø#ð	ð ð !—_’_ WÑ-Ô-ÐM°×1DÒ1DÀWÑ1MÔ1Mð%
ð 
ð 	
r&   )r   r   r   r   r   r   )r   r   r   r+   r'   r+   r(   r+   r)   r,   r*   r,   r   r   )r4   r5   )
r   r   r6   r   r7   r   r8   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r%   r3   r:   © r&   r$   r	   r	      s”   € € € € € € àIÐIà%Ð%Ð%Ñ%ðð ð ð ð2 $(Ø Ø!%Ø"&Ø$(ð'
ð '
ð '
ð '
ð '
ð '
ðZ )Ø3ðf
ð f
ð f
ð f
ð f
ð f
ð f
r&   r	   N)
rW   Ú
__future__r   Údataclassesr   Útypingr   Ú'app.services.desktop_automation_adapterr   r	   rY   r&   r$   ú<module>r^      s©   ðØ ?Ð ?à "Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à LÐ LÐ LÐ LÐ LÐ Lð €�ÐÑÔði
ð i
ð i
ð i
ð i
ñ i
ô i
ñ Ôði
ð i
ð i
r&   