
    >Ij              
           S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKJr  S SK	J
r
  S SKJr  S SKJr  S SKJr  S SKr\" S5      rS\S	\4S
 jrS\\\
4   S\S\S\\\
4   4S jrg)    N)Path)Any)Config)	ApiClient)
get_loggerupdate_actionsrc_dir	dest_linkc                    [        [        S5      (       a   UR                  UR                   S3-  nUR	                  5       (       d  UR                  5       (       a  UR                  5         [        R                  " X5        [        R                  " X!5        g UR	                  5       (       d  UR                  5       (       a<  UR                  5       (       a  UR                  5         O[        R                  " U5        [        R                  " X5        g ! [         a   n[        R                  SU5         S nANS nAff = f)Nsymlink_tempz<Symlink creation failed (%s), falling back to directory swap)hasattrosparentnameexists
is_symlinkunlinkr   replaceOSErrorlogwarningshutilrmtreecopytree)r	   r
   	temp_linkes       7D:\Programs\laragon\www\wolf\agent\src\actions\agent.pyswap_directories_atomicr      s    r9	[!((inn-=U+CCI!!Y%9%9%;%;  "JJw*JJy, Y1133!!MM)$
OOG'  	[KKVXYZZ	[s   BD 
E!D<<Epayloadconfig
api_clientreturnc                     [         R                  S5         [        R                  " XU 5        SSS.$ ! [         a.  n[         R                  SU5        S[        U5      S.s SnA$ SnAff = f)	zDExecute the agent self-update process by calling update.self_update.zStarting agent self-update...TzSelf-update sequence completed.)successmessagezSelf-update failed: %sF)r%   errorN)r   infoupdateself_update	Exceptionr'   str)r    r!   r"   excs       r   handle_agent_updater.   &   s^    HH,-56w7,MNN 5		*C0 3s8445s   3 
A+#A& A+&A+)r   systimer   
subprocesstarfilehashlibpathlibr   typingr   r!   r   r"   r   loggerr   r)   r   r   dictr,   r.        r   <module>r:      s    	 
            !(T (d ((5c3h 5 5Y 5[_`ceh`h[i 5r9   