o
    i                     @  s|   d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 ddlmZmZ dd	lmZmZ eG d
d dee ZdS )    )annotations)Callable)	dataclassreplace)Any)Self   )
AgentDepsT
RunContext   )AbstractToolsetToolsetToolc                   @  sr   e Zd ZU dZded< ed(ddZed)d	d
Zd*ddZd+ddZ	d,ddZ
d-ddZd.d"d#Zd/d%d&Zd'S )0WrapperToolsetzA toolset that wraps another toolset and delegates to it.

    See [toolset docs](../toolsets.md#wrapping-a-toolset) for more information.
    AbstractToolset[AgentDepsT]wrappedreturn
str | Nonec                 C  s   d S N selfr   r   b/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/pydantic_ai/toolsets/wrapper.pyid   s   zWrapperToolset.idstrc                 C  s   | j j d| jj dS )N())	__class____name__r   labelr   r   r   r   r      s   zWrapperToolset.labelr   c                   s   | j  I d H  | S r   )r   
__aenter__r   r   r   r   r      s   zWrapperToolset.__aenter__argsr   bool | Nonec                   s   | j j| I d H S r   )r   	__aexit__)r   r    r   r   r   r"   "      zWrapperToolset.__aexit__ctxRunContext[AgentDepsT]"dict[str, ToolsetTool[AgentDepsT]]c                   s   | j |I d H S r   )r   	get_tools)r   r$   r   r   r   r'   %   r#   zWrapperToolset.get_toolsname	tool_argsdict[str, Any]toolToolsetTool[AgentDepsT]c                   s   | j ||||I d H S r   )r   	call_tool)r   r(   r)   r$   r+   r   r   r   r-   (   s   zWrapperToolset.call_toolvisitor-Callable[[AbstractToolset[AgentDepsT]], None]Nonec                 C  s   | j | d S r   )r   applyr   r.   r   r   r   r1   -   s   zWrapperToolset.applyDCallable[[AbstractToolset[AgentDepsT]], AbstractToolset[AgentDepsT]]c                 C  s   t | | j|dS )N)r   )r   r   visit_and_replacer2   r   r   r   r4   0   s   z WrapperToolset.visit_and_replaceN)r   r   )r   r   )r   r   )r    r   r   r!   )r$   r%   r   r&   )
r(   r   r)   r*   r$   r%   r+   r,   r   r   )r.   r/   r   r0   )r.   r3   r   r   )r   
__module____qualname____doc____annotations__propertyr   r   r   r"   r'   r-   r1   r4   r   r   r   r   r      s   
 




r   N)
__future__r   collections.abcr   dataclassesr   r   typingr   typing_extensionsr   _run_contextr	   r
   abstractr   r   r   r   r   r   r   <module>   s    