o
    ie                     @  sl   d dl mZ d dlmZmZ d dlmZ ddlmZm	Z	 ddl
mZ ddlmZ eG d	d
 d
ee ZdS )    )annotations)	dataclassreplace)Any   )
AgentDepsT
RunContext   )ToolsetTool)WrapperToolsetc                      s:   e Zd ZU dZded< d fdd	Zd fddZ  ZS )RenamedToolsetzA toolset that renames the tools it contains using a dictionary mapping new names to original names.

    See [toolset docs](../toolsets.md#renaming-tools) for more information.
    zdict[str, str]name_mapctxRunContext[AgentDepsT]return"dict[str, ToolsetTool[AgentDepsT]]c                   sx   dd | j  D }t |I d H }i }| D ]\}}||d }|r5t|| t|j|dd||< q|||< q|S )Nc                 S  s   i | ]\}}||qS  r   ).0kvr   r   b/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/pydantic_ai/toolsets/renamed.py
<dictcomp>   s    z,RenamedToolset.get_tools.<locals>.<dictcomp>name)toolsettool_def)r   itemssuper	get_toolsgetr   r   )selfr   original_to_new_name_maporiginal_toolstoolsoriginal_nametoolnew_name	__class__r   r   r      s   
zRenamedToolset.get_toolsr   str	tool_argsdict[str, Any]r%   ToolsetTool[AgentDepsT]r   c                   sJ   | j ||}t||d}t|t|j|dd}t ||||I d H S )N)	tool_namer   )r   )r   r   r   r   r   	call_tool)r    r   r*   r   r%   r$   r'   r   r   r.   $   s
   zRenamedToolset.call_tool)r   r   r   r   )
r   r)   r*   r+   r   r   r%   r,   r   r   )__name__
__module____qualname____doc____annotations__r   r.   __classcell__r   r   r'   r   r      s
   
 r   N)
__future__r   dataclassesr   r   typingr   _run_contextr   r   abstractr
   wrapperr   r   r   r   r   r   <module>   s    