�
ې�iM � �D � d dl mZ d dlZd dlmZ dd�Zdd�Zdd�Zd d�Zy)
� )�annotationsN)�Pathc �V � t t � j � j d S )N� )r �__file__�resolve�parents� � �F/home/riley/A2A-Server-MCP/codetether-agent/script/browserctl/paths.py�project_rootr
s � ���>�!�!�#�+�+�A�.�.r c �� � t j j d� } | rt | � j � nt � dz dz }|j
dd�� |S )N�BROWSERCTL_DATA_DIRz.codetether-agent�
browserctlT�r �exist_ok)�os�environ�getr �
expanduserr
�mkdir��env_path�paths r �data_dirr sN � ��z�z�~�~�3�4�H�*2�4��>�$�$�&���I\�8\�_k�8k�D��J�J�t�d�J�+��Kr c � � t j j d� } | rt | � j � nt � dz }|j
dd�� |S )N�BROWSERCTL_PROFILE_DIR�profileTr )r r r r r r r r s r �profile_dirr sG � ��z�z�~�~�6�7�H�*2�4��>�$�$�&��
�Y�8N�D��J�J�t�d�J�+��Kr c �� � t j j d� } | r| S t j � dz t j � dz t d� t d� g}t d� |D � d � S )N�BROWSERCTL_EXECUTABLEz8.cache/ms-playwright/chromium-1208/chrome-linux64/chromez8.cache/ms-playwright/chromium-1200/chrome-linux64/chromez/snap/bin/chromiumz/usr/bin/chromium-browserc 3 �T K � | ] }|j � s�t |� �� �" y �w)N)�exists�str)�.0r s r � <genexpr>z'default_browser_path.<locals>.<genexpr># s � �� �C�t�T�[�[�]��T��C�s �(�()r r r r �home�next)r �
candidatess r �default_browser_pathr* si � ��z�z�~�~�5�6�H����� � ��P�P�� � ��P�P��
!�"��
(�)� �J� �C�z�C�T�J�Jr )�returnr )r+ z
str | None) �
__future__r r �pathlibr r
r r r* r
r r �<module>r. s# �� "� � �/���
Kr