§
    t�’jï  ã                  ól   — d dl mZ d dlZd dlmZ ddlmZ  ej        d¦  «        Z G d„ d¦  «        Z	dS )	é    )ÚannotationsN)ÚAnyé   )Ú_utc_timestampz#dscons.desktop_automation.zalo_chatc                  ó*   — e Zd ZdZ	 ddd	„Z	 ddd„ZdS )ÚDesktopZaloChatMixinzAZalo chat window navigation and active conversation verification.NÚtarget_typeÚstrÚtarget_nameú
str | NoneÚreturnúdict[str, Any]c           
   ƒ  ó’  K  — |dk    r¡	 |                       dd|pdi¦  «        ƒ d{V —†}|                     di ¦  «         |d                              ||dddd	d
œ¦  «         |S # t          $ r9}d}ddt	          ¦   «         |||ddœi dt          |¦  «        ddidœdœcY d}~S d}~ww xY wddt	          ¦   «         ||ddœi ddddidœdœS )z7Open a Zalo chat either by contact name or My Document.Úmy_documentÚzalo_open_my_documentsÚsearch_termúMy DocumentsNÚdataÚlocal_mcp_directTÚlive_mcp)r	   r   Úresolved_target_nameÚbackendÚimplementedÚexecution_modeFÚzalo_open_chatÚ	mcp_error)r	   r   r   r   Úzalo_open_chat_failedÚsupported_target_type©ÚcodeÚmessageÚdetails©ÚokÚactionÚ	timestampr   Ú	artifactsÚerrorÚunsupported)r	   r   r   Úunsupported_targetzLContact chat opening is not available in the current DSCons desktop backend.)Ú_run_mcp_server_toolÚ
setdefaultÚupdateÚ	Exceptionr   r
   )Úselfr	   r   ÚresultÚexcÚresolved_names         ú?C:\Projects\DSCons\app\services\desktop_automation\zalo_chat.pyr   z#DesktopZaloChatMixin.zalo_open_chat   s–  è è € ð ˜-Ò'Ð'ð#Ø#×8Ò8Ø,Ø" KÐ$A°>ÐBñ ô  ð ð ð ð ð ð �ð ×!Ò! &¨"Ñ-Ô-Ð-Ø�v”×%Ò%à'2Ø'2Ø0>Ø#5Ø'+Ø*4ðð ñ	ô 	ð 	ð �øÝð ð ð Ø .�àØ.Ý!/Ñ!1Ô!1à'2Ø'2Ø0=Ø#.ð	ð ð "$à 7Ý#& s¡8¤8Ø$;¸]Ð#Kðð ðð ð ð ð ð ð ð øøøøðøøøð* Ø&Ý'Ñ)Ô)à*Ø*Ø(ðð ð
 à,ØiØ3°]ÐCðð ð
ð 
ð 	
s   ŠAA$ Á$
B'Á..B"ÂB'Â"B'TÚexpected_nameÚallow_partial_matchÚboolc              ƒ  óÚ   K  — |                      ¦   «                              ¦   «         }|dv }|rddt          ¦   «         |d|dddddgd	œi d
dœS ddt          ¦   «         ||ddœi ddddidœdœS )z<Verify the active Zalo chat title before sending any action.>   úmy documentúmy documentsTÚzalo_verify_active_chatr   Úheuristic_without_ocrÚlocal_contractzLVerification is currently inferred from the dedicated My Documents workflow.z(OCR/title scraping is not yet installed.)r4   Úmatched_namer5   Úverification_moder   r   ÚnotesNr#   Fr)   )r4   r5   r   r*   zYChat verification is only available for the My Documents workflow in the current backend.Úsupported_expected_namezMy Documentr   )ÚstripÚlowerr   )r/   r4   r5   Úexpected_normalizedÚis_supporteds        r3   r:   z,DesktopZaloChatMixin.zalo_verify_active_chatK   sÖ   è è € ð ,×1Ò1Ñ3Ô3×9Ò9Ñ;Ô;ÐØ*Ð.MÐMˆàð 	àØ3Ý+Ñ-Ô-à%2Ø$2Ø+>Ø)@Ø/Ø#'àfØBððð ð  Øð#ð ð ð* Ø/Ý'Ñ)Ô)à!.Ø':Ø(ðð ð
 à,ØvØ5°}ÐEðð ð
ð 
ð 	
ó    )N)r	   r
   r   r   r   r   )T)r4   r
   r5   r6   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r:   © rE   r3   r   r      sW   € € € € € ØKÐKð
 #'ð;
ð ;
ð ;
ð ;
ð ;
ð@ %)ð-
ð -
ð -
ð -
ð -
ð -
ð -
rE   r   )
Ú
__future__r   ÚloggingÚtypingr   Úcommonr   Ú	getLoggerÚloggerr   rJ   rE   r3   ú<module>rQ      s“   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "à	ˆÔ	Ð@Ñ	AÔ	A€ðm
ð m
ð m
ð m
ð m
ñ m
ô m
ð m
ð m
ð m
rE   