�
ې�i � �, � d dl mZ dZdZ G d� d� Zy)� )�annotationszA(el, expression) => el.ownerDocument.defaultView.eval(expression)z�async (script) => { const AsyncFunction = Object.getPrototypeOf(async function () {}).constructor; const fn = new AsyncFunction(script); return await fn(); }c � � e Zd Zddd�Zddd�Zy)�BrowserSessionEvalNc � �� K � |r:| j d|� � d { ��� }d|j t |� � d { ��� iS d| j � � d { ��� j |� � d { ��� iS 7 �U7 �87 � 7 ��w�N�body�result)�
first_locator�evaluate�
FRAME_EVAL�current_page)�self�
expression�frame_selectorr s �M/home/riley/A2A-Server-MCP/codetether-agent/script/browserctl/session_eval.py�evalzBrowserSessionEval.eval sn � �� ���+�+�F�N�C�C�D��D�M�M�*�j�$I�I�J�J��t�'8�'8�':�!:� D� D�Z� P�P�Q�Q� D��I��!:��P�sC �A8�A0�A8�A2�A8�A4�A8�*A6�+A8�2A8�4A8�6A8c � � K � | j � � d { ��� }|rJ|j |� j j d� }d|j t
|� � d { ��� iS d|j t
|� � d { ��� iS 7 �p7 �'7 � �wr )r
�
frame_locator�first�locatorr �
ASYNC_EVAL)r �scriptr �pager s r �console_evalzBrowserSessionEval.console_eval s} � �� ��&�&�(�(����%�%�n�5�;�;�C�C�F�K�D��D�M�M�*�f�$E�E�F�F���
�
�j�&� A�A�B�B� )�� F��A�s4 �B
�B�A
B
�!B �"B
�B�B
� B
�B
)N)r �strr �
str | None�return�dict)r r r r r r )�__name__�
__module__�__qualname__r r � � r r r s � �R�Cr# r N)�
__future__r r r r r"