§
    ­eî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     úf/home/div/.hermes/hermes-agent/venv/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   € å�D”M×(Ò(Ñ*Ô*Ñ+Ô+Ð+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à%+ˆŒ�f”kÑ"Øˆ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à—]’] 9°g�]Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>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ð'ð 'ð 'ð 'ð,ð ,ð ,ð ,ðð ð ð ð& ,0ØNRð	?ð ?ð ?ð ?ð ?ð ?ð ?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   