Ë
    cQbjÝ!  ã                  óì  — d dl mZ ddlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ e G d	„ d
«      «       Z G d„ dej                  «      Ze G d„ d«      «       Ze G d„ d«      «       Zd!d„Zd!d„Z	 	 	 	 	 	 	 	 d"d„Z	 	 	 	 d#d„Z ed«      e G d„ d«      «       «       Z ed«      e G d„ d«      «       «       Z ed«      e G d„ d«      «       «       Z ed«      e G d„ d «      «       «       Zy)$é    )Úannotationsé   )Úevent_classÚT_JSON_DICT)Ú	dataclassN)Údom)Úpage)Úruntimec                  óR   — e Zd ZU dZdZded<   dZded<   dZded<   d„ Ze	d„ «       Z
y)	Ú
Annotationz
    Tool annotations
    Nztyping.Optional[bool]Ú	read_onlyÚuntrusted_contentÚ
autosubmitc                ó¼   — t        «       }| j                  �| j                  |d<   | j                  �| j                  |d<   | j                  �| j                  |d<   |S )NÚreadOnlyÚuntrustedContentr   )Údictr   r   r   ©ÚselfÚjsons     úb/var/www/html/venv/lib/python3.12/site-packages/selenium/webdriver/common/devtools/v150/web_mcp.pyÚto_jsonzAnnotation.to_json   s[   € Ü‹vˆØ�>‰>Ð%Ø#Ÿ~™~ˆD�ÑØ×!Ñ!Ð-Ø'+×'=Ñ'=ˆDÐ#Ñ$Ø�?‰?Ð&Ø!%§¡ˆD�ÑØˆó    c                óŽ   —  | d|v rt        |d   «      nd d|v rt        |d   «      nd d|v rt        |d   «      ¬«      S d ¬«      S )Nr   r   r   )r   r   r   )Úbool©Úclsr   s     r   Ú	from_jsonzAnnotation.from_json)   sc   € áØ0:¸dÑ0B”d˜4 
Ñ+Ô,ÈØ@RÐVZÑ@Zœd 4Ð(:Ñ#;Ô<Ð`dØ3?À4Ñ3G”t˜D Ñ.Ó/ô
ð 	
ð NRô
ð 	
r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__annotations__r   r   r   Úclassmethodr   © r   r   r   r      sH   … ñð (,€IÐ$Ó+ð 04ÐÐ,Ó3ð )-€JÐ%Ó,òð ñ
ó ñ
r   r   c                  ó2   — e Zd ZdZdZdZdZd„ Zed„ «       Z	y)ÚInvocationStatusz5
    Represents the status of a tool invocation.
    Ú	CompletedÚCanceledÚErrorc                ó   — | j                   S ©N)Úvalue)r   s    r   r   zInvocationStatus.to_json:   s   € Ø�z‰zÐr   c                ó   —  | |«      S r,   r%   r   s     r   r   zInvocationStatus.from_json=   s   € á�4‹yÐr   N)
r   r    r!   r"   Ú	COMPLETEDÚCANCELEDÚERRORr   r$   r   r%   r   r   r'   r'   2   s1   „ ñð €IØ€HØ€Eòð ñó ñr   r'   c                  ó~   — e Zd ZU dZded<   ded<   ded<   dZded	<   dZd
ed<   dZded<   dZded<   d„ Z	e
d„ «       Zy)ÚToolz3
    Definition of a tool that can be invoked.
    ÚstrÚnameÚdescriptionúpage.FrameIdÚframe_idNztyping.Optional[dict]Úinput_schemaztyping.Optional[Annotation]r   z"typing.Optional[dom.BackendNodeId]Úbackend_node_idz#typing.Optional[runtime.StackTrace]Ústack_tracec                ó¼  — t        «       }| j                  |d<   | j                  |d<   | j                  j	                  «       |d<   | j
                  �| j
                  |d<   | j                  �| j                  j	                  «       |d<   | j                  �| j                  j	                  «       |d<   | j                  �| j                  j	                  «       |d<   |S )Nr5   r6   ÚframeIdÚinputSchemar   ÚbackendNodeIdÚ
stackTrace)	r   r5   r6   r8   r   r9   r   r:   r;   r   s     r   r   zTool.to_json\   sÌ   € Ü‹vˆØ—y‘yˆˆV‰Ø"×.Ñ.ˆˆ]ÑØŸ-™-×/Ñ/Ó1ˆˆY‰Ø×ÑÐ(Ø"&×"3Ñ"3ˆD�ÑØ×ÑÐ'Ø"&×"2Ñ"2×":Ñ":Ó"<ˆD�ÑØ×ÑÐ+Ø$(×$8Ñ$8×$@Ñ$@Ó$BˆD�Ñ!Ø×ÑÐ'Ø!%×!1Ñ!1×!9Ñ!9Ó!;ˆD�ÑØˆr   c                óŽ  —  | t        |d   «      t        |d   «      t        j                  j                  |d   «      d|v rt	        |d   «      nd d|v rt
        j                  |d   «      nd d|v r"t        j                  j                  |d   «      nd d|v r't        j                  j                  |d   «      ¬«      S d ¬«      S )	Nr5   r6   r=   r>   r   r?   r@   )r5   r6   r8   r9   r   r:   r;   )
r4   r	   ÚFrameIdr   r   r   r   ÚBackendNodeIdr
   Ú
StackTracer   s     r   r   zTool.from_jsonk   sÉ   € áÜ�T˜&‘\Ó"Ü˜D Ñ/Ó0Ü—\‘\×+Ñ+¨D°©OÓ<Ø6CÀtÑ6Kœ˜d =Ñ1Ô2ÐQUØERÐVZÑEZœ
×,Ñ,¨T°-Ñ-@ÔAÐ`dØRaÐeiÑRiœC×-Ñ-×7Ñ7¸¸_Ñ8MÔNÐosØLXÐ\`ÑL`œ×*Ñ*×4Ñ4°T¸,Ñ5GÓHô
ð 	
ð gkô
ð 	
r   )r   r    r!   r"   r#   r9   r   r:   r;   r   r$   r   r%   r   r   r3   r3   B   sk   … ñð ƒIð Óð Óð +/€LÐ'Ó.ð 04€KÐ,Ó3ð ;?€OÐ7Ó>ð 8<€KÐ4Ó;òð ñ	
ó ñ	
r   r3   c                  ó<   — e Zd ZU dZded<   ded<   d„ Zed„ «       Zy)	ÚRemovedToolz0
    Definition of a tool that was removed.
    r4   r5   r7   r8   c                ór   — t        «       }| j                  |d<   | j                  j                  «       |d<   |S )Nr5   r=   )r   r5   r8   r   r   s     r   r   zRemovedTool.to_jsonƒ   s1   € Ü‹vˆØ—y‘yˆˆV‰ØŸ-™-×/Ñ/Ó1ˆˆY‰Øˆr   c                ón   —  | t        |d   «      t        j                  j                  |d   «      ¬«      S )Nr5   r=   )r5   r8   ©r4   r	   rB   r   r   s     r   r   zRemovedTool.from_json‰   s1   € áÜ�T˜&‘\Ó"Ü—\‘\×+Ñ+¨D°©OÓ<ô
ð 	
r   N)r   r    r!   r"   r#   r   r$   r   r%   r   r   rF   rF   x   s/   … ñð ƒIð Óòð ñ
ó ñ
r   rF   c               #  ó   K  — ddi} | –—}y­w)zœ
    Enables the WebMCP domain, allowing events to be sent. Enabling the domain will trigger a toolsAdded event for
    all currently registered tools.
    ÚmethodzWebMCP.enableNr%   ©Úcmd_dictr   s     r   ÚenablerN   ‘   s   è ø€ ð 	�/ð€Hð ‰>�Dùó   ‚
c               #  ó   K  — ddi} | –—}y­w)z%
    Disables the WebMCP domain.
    rK   zWebMCP.disableNr%   rL   s     r   ÚdisablerQ   œ   s   è ø€ ð
 	Ð"ð€Hð ‰>�DùrO   c              #  ó†   K  — t        «       }| j                  «       |d<   ||d<   ||d<   d|dœ}|–—}t        |d   «      S ­w)a<  
    Invokes a registered tool.

    :param frame_id: Frame in which to invoke the tool.
    :param tool_name: Name of the tool to invoke.
    :param input_: Input parameters for the tool, matching the tool's inputSchema.
    :returns: Unique identifier for this invocation. Response is sent before tool events.
    r=   ÚtoolNameÚinputzWebMCP.invokeTool©rK   ÚparamsÚinvocationId)r   r   r4   )r8   Ú	tool_nameÚinput_rV   rM   r   s         r   Úinvoke_toolrZ   ¦   s[   è ø€ ô ›&€FØ ×(Ñ(Ó*€Fˆ9ÑØ"€Fˆ:ÑØ€Fˆ7�Oà%Øñ€Hð ‰>€DÜˆt�NÑ#Ó$Ð$ùs   ‚?Ac              #  ó<   K  — t        «       }| |d<   d|dœ}|–—}y­w)zh
    Cancels a pending tool invocation.

    :param invocation_id: Invocation identifier to cancel.
    rW   zWebMCP.cancelInvocationrU   N)r   )Úinvocation_idrV   rM   r   s       r   Úcancel_invocationr]   ¿   s/   è ø€ ô ›&€FØ*€Fˆ>Ñà+Øñ€Hð ‰>�Dùs   ‚zWebMCP.toolsAddedc                  ó.   — e Zd ZU dZded<   edd„«       Zy)Ú
ToolsAddedz/
    Event fired when new tools are added.
    ztyping.List[Tool]Útoolsc                óf   —  | |d   D �cg c]  }t         j                  |«      ‘Œ c}¬«      S c c}w ©Nr`   )r`   )r3   r   ©r   r   Úis      r   r   zToolsAdded.from_jsonÙ   s-   € áØ.2°7©mÖ<¨”4—>‘> !Õ$Ò<ô
ð 	
ùÚ<ó   Š.N)r   r   Úreturnr_   ©r   r    r!   r"   r#   r$   r   r%   r   r   r_   r_   Ð   s!   … ñð Óàò
ó ñ
r   r_   zWebMCP.toolsRemovedc                  ó.   — e Zd ZU dZded<   edd„«       Zy)ÚToolsRemovedz-
    Event fired when tools are removed.
    ztyping.List[RemovedTool]r`   c                óf   —  | |d   D �cg c]  }t         j                  |«      ‘Œ c}¬«      S c c}w rb   )rF   r   rc   s      r   r   zToolsRemoved.from_jsoné   s/   € áØ59¸'±]ÖC°”;×(Ñ(¨Õ+ÒCô
ð 	
ùÚCre   N)r   r   rf   ri   rg   r%   r   r   ri   ri   à   s!   … ñð $Ó#àò
ó ñ
r   ri   zWebMCP.toolInvokedc                  óL   — e Zd ZU dZded<   ded<   ded<   ded<   ed
d„«       Zy	)ÚToolInvokedz4
    Event fired when a tool invocation starts.
    r4   rX   r7   r8   r\   rY   c           	     ó¢   —  | t        |d   «      t        j                  j                  |d   «      t        |d   «      t        |d   «      ¬«      S )NrS   r=   rW   rT   )rX   r8   r\   rY   rI   r   s     r   r   zToolInvoked.from_jsonÿ   sK   € áÜ˜$˜zÑ*Ó+Ü—\‘\×+Ñ+¨D°©OÓ<Ü˜d >Ñ2Ó3Ü�t˜G‘}Ó%ô	
ð 	
r   N)r   r   rf   rl   rg   r%   r   r   rl   rl   ð   s1   … ñð ƒNàÓàÓàƒKàò
ó ñ
r   rl   zWebMCP.toolRespondedc                  óV   — e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   edd„«       Zy)ÚToolRespondedz@
    Event fired when a tool invocation completes or fails.
    r4   r\   r'   Ústatusztyping.Optional[typing.Any]Úoutputztyping.Optional[str]Ú
error_textz%typing.Optional[runtime.RemoteObject]Ú	exceptionc           
     óì   —  | t        |d   «      t        j                  |d   «      d|v r|d   nd d|v rt        |d   «      nd d|v r't        j                  j                  |d   «      ¬«      S d ¬«      S )NrW   rp   rq   Ú	errorTextrs   )r\   rp   rq   rr   rs   )r4   r'   r   r
   ÚRemoteObjectr   s     r   r   zToolResponded.from_json  s†   € áÜ˜d >Ñ2Ó3Ü#×-Ñ-¨d°8©nÓ=Ø%-°Ñ%5�4˜’>¸4Ø1<ÀÑ1D”s˜4 Ñ,Ô-È$ØKVÐZ^ÑK^”g×*Ñ*×4Ñ4°T¸+Ñ5FÓGô
ð 	
ð
 eiô
ð 	
r   N)r   r   rf   ro   rg   r%   r   r   ro   ro   	  s;   … ñð ÓàÓð (Ó'à$Ó$à4Ó4àò
ó ñ
r   ro   )rf   ú0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])r8   r7   rX   r4   rY   r   rf   z/typing.Generator[T_JSON_DICT, T_JSON_DICT, str])r\   r4   rf   rw   )Ú
__future__r   Úutilr   r   Údataclassesr   ÚenumÚtypingÚ r   r	   r
   r   ÚEnumr'   r3   rF   rN   rQ   rZ   r]   r_   ri   rl   ro   r%   r   r   ú<module>r      s`  ðõ #ß *Ý !Û Û Ý Ý Ý ð ÷
ð 
ó ð
ô@�t—y‘yô ð  ÷2
ð 2
ó ð2
ðj ÷
ð 
ó ð
ó0óð%Øð%àð%ð ð%ð 
7ó	%ð2Øðà	7óñ" Ð Ó!Ø
÷
ð 
ó ó "ð
ñ Ð"Ó#Ø
÷
ð 
ó ó $ð
ñ Ð!Ó"Ø
÷
ð 
ó ó #ð
ñ. Ð#Ó$Ø
÷
ð 
ó ó %ñ
r   