�
ې�i� � �8 � d dl mZ d dlmZmZmZ G d� d� Zy)� )�annotations)�FrameLocator�Locator�Pagec � � e Zd Zddd�Zddd�Zy)�BrowserSessionScopeNc � �| K � | j � � d { ��� }|s|S |j |� j S 7 �#�w�N)�current_page�
frame_locator�first)�self�frame_selector�pages �N/home/riley/A2A-Server-MCP/codetether-agent/script/browserctl/session_scope.py�scopezBrowserSessionScope.scope s: � �� ��&�&�(�(��)�t�W�t�/A�/A�.�/Q�/W�/W�W� )�s �<�:�$<c � �r K � | j |� � d { ��� j |� j S 7 ��wr
)r �locatorr
)r �selectorr s r �
first_locatorz!BrowserSessionScope.first_locator s, � �� ��j�j��0�0�9�9�(�C�I�I�I�0�s �7�5�7r
)r �
str | None�returnzPage | FrameLocator)r �strr r r r )�__name__�
__module__�__qualname__r r � � r r r s � �X�Jr r N)�
__future__r �playwright.async_apir r r r r r r �<module>r! s �� "� <� <�J� Jr