
    X j4                       S SK Jr  SSKJrJr  S SKJr  S SKrS SKrSSK	J
r
  SSK	Jr  SSK	Jr  \ " S	 S
5      5       r\ " S S5      5       rSS jr\" S5      \ " S S5      5       5       r\" S5      \ " S S5      5       5       rg)    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)page)runtimec                  L    \ rS rSr% SrSrS\S'   SrS\S'   S r\	S 5       r
S	rg)

Annotation   z
Tool annotations
Nztyping.Optional[bool]	read_only
autosubmitc                    [        5       nU R                  b  U R                  US'   U R                  b  U R                  US'   U$ )NreadOnlyr   )dictr   r   selfjsons     ڀ/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/selenium/webdriver/common/devtools/v147/web_mcp.pyto_jsonAnnotation.to_json   s>    v>>%#~~D??&!%D    c                d    U " SU;   a  [        US   5      OS SU;   a  [        US   5      S9$ S S9$ )Nr   r   )r   r   )boolclsr   s     r   	from_jsonAnnotation.from_json$   sF    0:d0Bd4
+,3?43GtD./
 	
MQ
 	
r    )__name__
__module____qualname____firstlineno____doc__r   __annotations__r   r   classmethodr   __static_attributes__r    r   r   r   r      s:     (,I$+ )-J%, 
 
r   r   c                      \ rS rSr% SrS\S'   S\S'   S\S'   SrS	\S
'   SrS\S'   SrS\S'   Sr	S\S'   S r
\S 5       rSrg)Tool,   z+
Definition of a tool that can be invoked.
strnamedescriptionz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                   [        5       nU R                  US'   U R                  US'   U R                  R	                  5       US'   U R
                  b  U R
                  US'   U R                  b  U R                  R	                  5       US'   U R                  b  U R                  R	                  5       US'   U R                  b  U R                  R	                  5       US'   U$ )Nr-   r.   frameIdinputSchemar   backendNodeId
stackTrace)	r   r-   r.   r/   r   r0   r   r1   r2   r   s     r   r   Tool.to_jsonF   s    vyyV"..]--//1Y("&"3"3D'"&"2"2":":"<D+$($8$8$@$@$BD!'!%!1!1!9!9!;Dr   c                   U " [        US   5      [        US   5      [        R                  R                  US   5      SU;   a  [	        US   5      OS SU;   a  [
        R                  US   5      OS SU;   a"  [        R                  R                  US   5      OS SU;   a$  [        R                  R                  US   5      S9$ S S9$ )	Nr-   r.   r4   r5   r   r6   r7   )r-   r.   r/   r0   r   r1   r2   )
r,   r	   FrameIdr   r   r   r   BackendNodeIdr
   
StackTracer   s     r   r   Tool.from_jsonU   s    T&\"D/0\\++DO<6Ct6Kd=12QUERVZEZ
,,T--@A`dRaeiRiC--77_8MNosLX\`L`**44T,5GH
 	
 gk
 	
r   r    )r!   r"   r#   r$   r%   r&   r0   r   r1   r2   r   r'   r   r(   r    r   r   r*   r*   ,   sk     I   +/L'. 04K,3 ;?O7> 8<K4; 	
 	
r   r*   c               #     #    SS0n U v ng7f)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   enablerA   b   s      	/H >Ds   
zWebMCP.toolsAddedc                  8    \ rS rSr% SrS\S'   \SS j5       rSrg)	
ToolsAddedm   z'
Event fired when new tools are added.
typing.List[Tool]toolsc                f    U " US    Vs/ s H  n[         R                  U5      PM     snS9$ s  snf NrF   )rF   r*   r   r   r   is      r   r   ToolsAdded.from_jsonv   1    .27m<m4>>!$m<
 	
<   .r    N)r   r   returnrC   	r!   r"   r#   r$   r%   r&   r'   r   r(   r    r   r   rC   rC   m   !     
 
r   rC   zWebMCP.toolsRemovedc                  8    \ rS rSr% SrS\S'   \SS j5       rSrg)	ToolsRemoved}   z%
Event fired when tools are removed.
rE   rF   c                f    U " US    Vs/ s H  n[         R                  U5      PM     snS9$ s  snf rH   rI   rJ   s      r   r   ToolsRemoved.from_json   rM   rN   r    N)r   r   rO   rS   rP   r    r   r   rS   rS   }   rQ   r   rS   )rO   z0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r*   rA   rC   rS   r    r   r   <module>r]      s    # * !      
 
 
4 2
 2
 2
j  !

 
  "
 "#

 
  $
r   