Ë
    Þˆ˜in  ã                   óŒ   — d Z ddlZddlZddlmZ ddlmZmZ ddlmZm	Z	  ej                  d«      Z ed«      Z G d„ d	«      Zy)
uÍ   
Genesis Superior Browser (GSB) â€” Antigravity Delegation (Layer 3)
===============================================================
Bridges to the Antigravity Master Agent for high-stealth/complex tasks.
é    N)ÚPath)ÚdatetimeÚtimezone)ÚDictÚOptionalz"genesis_v2.core.browser.delegationz+/mnt/e/genesis-system/data/antigravity-syncc                   ó8   — e Zd Zd„ Zdedefd„Zdedee   fd„Zy)ÚAntigravityDelegatorc                 ó°   — t         dz  | _        t         dz  | _        | j                  j                  dd¬«       | j                  j                  dd¬«       y )NÚbrowser_requestsÚbrowser_resultsT)ÚparentsÚexist_ok)ÚSYNC_DIRÚrequests_dirÚresults_dirÚmkdir)Úselfs    úB/mnt/e/genesis-system/genesis_v2/core/browser_engines/delegator.pyÚ__init__zAntigravityDelegator.__init__   sP   € Ü$Ð'9Ñ9ˆÔÜ#Ð&7Ñ7ˆÔØ×Ñ×Ñ¨°tÐÔ<Ø×Ñ×Ñ t°dÐÕ;ó    Útask_descriptionÚreturnc              ƒ   óœ  K  — dt        t        j                  t        j                  «      j                  «       «      › }| j                  |› dz  }||t        j                  t        j                  «      j                  «       ddœ}|j                  t        j                  |d¬«      «       t        j                  d|› d|› d	«       |S ­w)
zŒ
        Signals to the Antigravity Conductor that a browser task is needed.
        Genesis will wait for a result file to appear.
        Útask_ú.jsonÚpending)ÚidÚtaskÚ	timestampÚstatusé   )ÚindentzTask 'z ' delegated to Antigravity (ID: ú))Úintr   Únowr   Úutcr   r   Ú	isoformatÚ
write_textÚjsonÚdumpsÚloggerÚinfo)r   r   Ú
request_idÚrequest_fileÚrequest_datas        r   Údelegate_taskz"AntigravityDelegator.delegate_task   s´   è ø€ ð
 œS¤§¡¬h¯l©lÓ!;×!EÑ!EÓ!GÓHÐIÐJˆ
Ø×(Ñ(¨j¨\¸Ð+?Ñ?ˆð Ø$Ü!Ÿ™¤h§l¡lÓ3×=Ñ=Ó?Øñ	
ˆð 	×Ñ¤§
¡
¨<ÀÔ BÔCÜ‰fÐ-Ð.Ð.NÈzÈlÐZ[Ð\Ô]ð Ðùs   ‚C
Cr-   c                 óò   — | j                   |› dz  }|j                  «       r$	 t        j                  |j	                  «       «      S y# t
        $ r%}t        j                  d|› d|› «       Y d}~yd}~ww xY w)z*Checks if the delegated task has a result.r   zFailed to read result z: N)r   Úexistsr)   ÚloadsÚ	read_textÚ	Exceptionr+   Úerror)r   r-   Úresult_fileÚes       r   Úcheck_resultz!AntigravityDelegator.check_result/   s|   € à×&Ñ&¨J¨<°uÐ)=Ñ=ˆØ×ÑÔðIÜ—z‘z +×"7Ñ"7Ó"9Ó:Ð:ð øô ò IÜ—‘Ð5°j°\ÀÀAÀ3ÐG×HÐHØûðIús   ¤"A Á	A6ÁA1Á1A6N)	Ú__name__Ú
__module__Ú__qualname__r   Ústrr0   r   r   r9   © r   r   r	   r	      s1   „ ò<ð°Cð ¸Có ð, sð ¨x¸©~ô r   r	   )Ú__doc__r)   ÚloggingÚpathlibr   r   r   Útypingr   r   Ú	getLoggerr+   r   r	   r>   r   r   ú<module>rD      sE   ðñó Û Ý ß 'ß !à	ˆ×	Ñ	Ð?Ó	@€ñ Ð=Ó>€÷%ò %r   