
    )`i+                        d Z ddlmZ ddlmZmZ ddlmZmZ ddl	m
Z
 erddlmZ ddlmZ ddlmZmZ  e
e          Z G d	 d
          ZdS )z Prompt management functionality.    )annotations)TYPE_CHECKINGAny)MessagePrompt)
get_logger)Context)ServerSessionT)LifespanContextTRequestTc                  B    e Zd ZdZdddZdd
ZddZddZ	 	 dddZdS )PromptManagerzManages FastMCP prompts.Twarn_on_duplicate_promptsboolc                "    i | _         || _        d S )N)_promptsr   )selfr   s     v/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/mcp/server/fastmcp/prompts/manager.py__init__zPromptManager.__init__   s    +-)B&&&    namestrreturnPrompt | Nonec                6    | j                             |          S )zGet prompt by name.)r   get)r   r   s     r   
get_promptzPromptManager.get_prompt   s    }  &&&r   list[Prompt]c                N    t          | j                                                  S )zList all registered prompts.)listr   values)r   s    r   list_promptszPromptManager.list_prompts   s    DM((**+++r   promptr   c                    | j                             |j                  }|r+| j        r"t                              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!   sd     =$$V[11 	- HFFFGGGO%+fk"r   N	argumentsdict[str, Any] | Nonecontext:Context[ServerSessionT, LifespanContextT, RequestT] | Nonelist[Message]c                   K   |                      |          }|st          d|           |                    ||           d{V S )z'Render a prompt by name with arguments.zUnknown prompt: )r+   N)r   
ValueErrorrender)r   r   r)   r+   r#   s        r   render_promptzPromptManager.render_prompt1   s`       && 	8666777]]9g]>>>>>>>>>r   )T)r   r   )r   r   r   r   )r   r   )r#   r   r   r   )NN)r   r   r)   r*   r+   r,   r   r-   )	__name__
__module____qualname____doc__r   r   r"   r(   r1    r   r   r   r      s        ""C C C C C' ' ' ', , , ,   & ,0NR	? ? ? ? ? ? ?r   r   N)r5   
__future__r   typingr   r   mcp.server.fastmcp.prompts.baser   r   $mcp.server.fastmcp.utilities.loggingr   mcp.server.fastmcp.serverr	   mcp.server.sessionr
   mcp.shared.contextr   r   r2   r%   r   r6   r   r   <module>r>      s    & & " " " " " " % % % % % % % % ; ; ; ; ; ; ; ; ; ; ; ; ; ; >111111111111========	H		*? *? *? *? *? *? *? *? *? *?r   