Ë
    )VêjÉ  ã            
       ó  — U d Z ddlZddlZddlmZ ddlmZ e G d„ d«      «       Z ej                  «       Z	i Z
eeef   ed<   ded	efd
„Zdedededed	df
d„Zdeded	dfd„Zdded	dfd„Zded	eeef   dz  fd„Zdded	dfd„Zy)z6progress.py - sledovani prubehu chat jobu (in-memory).é    N)Ú	dataclass)ÚAnyc                   óš   — e Zd ZU eed<   eed<   dZeed<   dZeed<   dZ	eed<   d	Z
eed
<   dZeeef   dz  ed<   dZedz  ed<   dZeed<   y)ÚJobÚjob_idÚstartedÚinitÚphaser   ÚpercentzZahajuji...ÚdetailFÚdoneNÚresultÚerrorÚ
tool_count)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__Úfloatr
   r   Úintr   r   Úboolr   Údictr   r   r   © ó    úL/home/oem/CyberBrain26-unified/src/cyberbrain26/services/safe_oi/progress.pyr   r      sc   … àƒKØƒNØ€Eˆ3ÓØ€GˆSÓØ€FˆCÓØ€Dˆ$ÓØ$(€FˆD��c�‰N˜TÑ!Ó(Ø€Eˆ3�‰:ÓØ€J�Ôr   r   Ú_jobsr   Úreturnc                 óŽ   — t         5  t        | t        j                  «       ¬«      }|t        | <   |cd d d «       S # 1 sw Y   y xY w)N)r   r   )Ú_lockr   Útimer   ©r   Újs     r   Úcreater$      s8   € Ü	ñ Ü�v¤t§y¡y£{Ô3ˆØŒˆf‰Ø÷÷ ò ús	   ‡*;»Ar
   r   r   c                 ó’   — t         5  t        j                  | «      }|r||_        ||_        ||_        d d d «       y # 1 sw Y   y xY w©N)r    r   Úgetr
   r   r   )r   r
   r   r   r#   s        r   Ú	set_phaser(      sB   € Ü	ñ DÜ�I‰I�fÓˆÙØˆAŒG¨˜QœY¸V°!´(÷D÷ Dñ Dús	   ‡-=½AÚ	tool_namec                 óö   — t         5  t        j                  | «      }|rG|xj                  dz  c_        t	        d|j                  dz  z   d«      |_        d|_        d|z   |_        d d d «       y # 1 sw Y   y xY w)Né   é   é   éU   ÚtoolzVolam tool: )r    r   r'   r   Úminr   r
   r   )r   r)   r#   s      r   Úadd_toolr1   #   sh   € Ü	ñ 2Ü�I‰I�fÓˆÙØ�LŠL˜AÑ�LÜ˜B §¡°Ñ!2Ñ2°BÓ7ˆAŒIØˆAŒGØ%¨	Ñ1ˆAŒH÷2÷ 2ñ 2ús   ‡AA/Á/A8c                 ó¼   — t         5  t        j                  | «      }|r*d|_        d|_        d|_        d|_        ||_        ||_        d d d «       y # 1 sw Y   y xY w)NTéd   r   Ú	Dokonceno)	r    r   r'   r   r   r
   r   r   r   )r   r   r   r#   s       r   Úfinishr5   ,   sU   € Ü	ñ GÜ�I‰I�fÓˆÙØˆAŒF s˜1œ9°f¨A¬GØ"ˆAŒH¨v A¤HÀ°q´w÷	G÷ Gñ Gús   ‡AAÁAc                 ó¢  — t         5  t        j                  | «      }|s
	 d d d «       y |j                  |j                  |j
                  |j                  t        t        j                  «       |j                  z
  d«      |j                  |j                  |j                  |j                  r|j                  nd dœ	cd d d «       S # 1 sw Y   y xY w)Nr+   )	r   r
   r   r   Úelapsedr   r   r   r   )r    r   r'   r   r
   r   r   Úroundr!   r   r   r   r   r   r"   s     r   Úsnapshotr9   3   s“   € Ü	ñ 	
Ü�I‰I�fÓˆÙØ÷	
ð 	
ð
 —h‘h¨¯©¸Q¿Y¹YØ—h‘h¬5´·±³¸q¿y¹yÑ1HÈ!Ó+LØ—F‘F Q§W¡W¸A¿L¹LØ"#§&¢&�a—h’h¨dñ	
÷		
÷ 	
ò 	
ús   ‡C©BCÃCÚmax_age_secc                 óê   — t        j                   «       | z
  }t        5  t        t        j	                  «       «      D ]   }t        |   j
                  |k  sŒt        |= Œ" 	 d d d «       y # 1 sw Y   y xY wr&   )r!   r    Úlistr   Úkeysr   )r:   ÚcutoffÚjids      r   Úcleanup_oldr@   ?   s]   € Ü�Y‰Y‹[˜;Ñ&€FÜ	ñ ÜœŸ
™
›Ó%ò 	ˆCÜ�S‰z×!Ñ! FÓ*Ü˜#‘Jñ	÷÷ ñ ús   ž7A)Á	A)Á)A2)NN)i  )Ú__doc__Ú	threadingr!   Údataclassesr   Útypingr   r   ÚLockr    r   r   r   r   r$   r   r(   r1   r5   r9   r@   r   r   r   ú<module>rF      só   ðÚ <Û Û Ý !Ý ð ÷	ð 	ó ð	ð 	ˆ	�‰Ó€Ø€€tˆC�ˆH�~Ó ð�3ð ˜3ó ðD�cð D #ð D°ð D¸Sð DÀTó Dð2�Sð 2 Sð 2¨Tó 2ñG�3ð G°Dó Gð

�Sð 

˜T # s (™^¨dÑ2ó 

ñ˜Sð ¨Dô r   