Ë
    ãß²j  ã                  ó^   — d Z ddlmZ ddlZddlmZ ddlmZmZ ddl	m
Z
 dd„Zddd„Zd	Zd
Zy)zØHermes-managed Camofox state helpers.

With managed persistence enabled, Hermes sends a deterministic userId derived from the
active profile so Camofox maps it to the same persistent browser profile across restarts.
é    )ÚannotationsN)ÚPath)ÚDictÚOptional©Úget_hermes_homec                 ó"   — t        «       dz  dz  S )zAReturn the profile-scoped root directory for Camofox persistence.Úbrowser_authÚcamofoxr   © ó    ú@/home/ubuntu/.hermes/hermes-agent/tools/browser_camofox_state.pyÚget_camofox_state_dirr      s   € äÓ˜~Ñ-°	Ñ9Ð9r   c                ó  — t        t        «       «      }t        j                  t        j                  d|› �«      j
                  dd }t        j                  t        j                  d|› d| xs d› �«      j
                  dd }d|› �d	|› �d
œS )z¡Stable Hermes-managed Camofox identity: userId is profile-scoped, session key is
    scoped to the logical browser task so new tabs in the same profile reuse it.zcamofox-user:Né
   zcamofox-session:ú:Údefaulté   Úhermes_Útask_)Úuser_idÚsession_key)Ústrr   ÚuuidÚuuid5ÚNAMESPACE_URLÚhex)Útask_idÚ
scope_rootÚuser_digestÚsession_digests       r   Úget_camofox_identityr"      s”   € ô Ô*Ó,Ó-€JÜ—*‘*œT×/Ñ/°=ÀÀÐ1MÓN×RÑRÐSVÐTVÐW€KÜ—Z‘Z¤× 2Ñ 2Ð6FÀzÀlÐRSÐT[ÒThÐ_hÐSiÐ4jÓk×oÑoÐpsÐqsÐt€NØ   Ð.ÀÀ~ÐFVÐ?WÑXÐXr   r
   r   )Úreturnr   )N)r   zOptional[str]r#   zDict[str, str])Ú__doc__Ú
__future__r   r   Úpathlibr   Útypingr   r   Úhermes_constantsr   r   r"   ÚCAMOFOX_STATE_DIR_NAMEÚCAMOFOX_STATE_SUBDIRr   r   r   ú<module>r+      s4   ðñõ #ã Ý ß !å ,ó:ô
Yð (Ð à Ñ r   