
    {h                     T    d Z ddlmZ ddlmZmZ ddlmZ  ee      Z	 G d d      Z
y)z Prompt management functionality.    )Any)MessagePrompt)
get_loggerc                       e Zd ZdZddefdZdededz  fdZde	e   fdZ
d	edefd
Zddedeeef   dz  de	e   fdZy)PromptManagerzManages FastMCP prompts.warn_on_duplicate_promptsc                      i | _         || _        y N)_promptsr	   )selfr	   s     c/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/mcp/server/fastmcp/prompts/manager.py__init__zPromptManager.__init__   s    +-)B&    namereturnNc                 8    | j                   j                  |      S )zGet prompt by name.)r   get)r   r   s     r   
get_promptzPromptManager.get_prompt   s    }}  &&r   c                 H    t        | j                  j                               S )zList all registered prompts.)listr   values)r   s    r   list_promptszPromptManager.list_prompts   s    DMM((*++r   promptc                     | j                   j                  |j                        }|r0| j                  r"t        j                  d|j                          |S || j                   |j                  <   |S )zAdd a prompt to the manager.zPrompt already exists: )r   r   r   r	   loggerwarning)r   r   existings      r   
add_promptzPromptManager.add_prompt   s\     ==$$V[[1--!8FGO%+fkk"r   	argumentsc                    K   | j                  |      }|st        d|       |j                  |       d{   S 7 w)z'Render a prompt by name with arguments.zUnknown prompt: N)r   
ValueErrorrender)r   r   r    r   s       r   render_promptzPromptManager.render_prompt*   s?     &/v677]]9----s   6?=?)Tr   )__name__
__module____qualname____doc__boolr   strr   r   r   r   r   dictr   r   r$    r   r   r   r      s    "C$ C's 'v} ',d6l , 
 . .S#X8M .Y]^eYf .r   r   N)r(   typingr   mcp.server.fastmcp.prompts.baser   r   $mcp.server.fastmcp.utilities.loggingr   r%   r   r   r,   r   r   <module>r0      s%    &  ; ;	H	%. %.r   