
    is                     p    d dl mZ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 d dlmZ  G d dee      Zy	)
    )ListOptionalTuple)CustomLogger)PromptManagementBasePromptManagementClient)AllMessageValues)
PromptSpec)StandardCallbackDynamicParamsc                      e Zd Z	 	 ddee   dee   fdZ	 	 	 	 	 ddedee   de	dee   d	ee	   d
e
dee   dee   dee   dee   dee   deeee   e	f   fdZedefd       Zdee   dee   d
e
defdZ	 	 ddee   dee   d	ee	   d
e
dee   dee   defdZ	 	 	 ddee   d	ee	   d
e
dee   dee   dee   defdZy)CustomPromptManagementignore_prompt_manager_model%ignore_prompt_manager_optional_paramsc                      || _         || _        y )N)r   r   )selfr   r   kwargss       ~/Users/manta/Documents/Projects/TheRoad-I1/.venv/lib/python3.12/site-packages/litellm/integrations/custom_prompt_management.py__init__zCustomPromptManagement.__init__   s     ,G(1 	2    Nmodelmessagesnon_default_params	prompt_idprompt_variablesdynamic_callback_paramsprompt_specprompt_labelprompt_versionreturnc                     |||fS )ax  
        Returns:
        - model: str - the model to use (can be pulled from prompt management tool)
        - messages: List[AllMessageValues] - the messages to use (can be pulled from prompt management tool)
        - non_default_params: dict - update with any optional params (e.g. temperature, max_tokens, etc.) to use (can be pulled from prompt management tool)
         )r   r   r   r   r   r   r   r   r   r   r   r   s               r   get_chat_completion_promptz1CustomPromptManagement.get_chat_completion_prompt   s    ( h 222r   c                      y)Nzcustom-prompt-managementr!   )r   s    r   integration_namez'CustomPromptManagement.integration_name/   s    )r   c                      y)NTr!   )r   r   r   r   s       r   should_run_prompt_managementz3CustomPromptManagement.should_run_prompt_management3   s     r   c                     t        d      )Nz?Custom prompt management does not support compile prompt helperNotImplementedError)r   r   r   r   r   r   r   s          r   _compile_prompt_helperz-CustomPromptManagement._compile_prompt_helper;   s     "M
 	
r   c                     K   t        d      w)NzECustom prompt management does not support async compile prompt helperr(   )r   r   r   r   r   r   r   s          r   async_compile_prompt_helperz2CustomPromptManagement.async_compile_prompt_helperH   s      "S
 	
s   )FF)NNNFF)NN)NNN)__name__
__module____qualname__r   boolr   strr   r	   dictr   r
   intr   r"   propertyr$   r&   r   r*   r,   r!   r   r   r   r      s    7<@E	
%-d^	
 08~	
& -1&*(,6;@E33 '(3 !	3
 C=3 #4.3 "?3 j)3 sm3 !3 &.d^3 08~3 
sD)*D0	13, *# * *C= j) "?	
 
 '+(,
C=
 j)
 #4.	

 "?
 sm
 !
 
 
$ -1&*(,
C=
 #4.
 "?	

 j)
 sm
 !
 
 
r   r   N)typingr   r   r   "litellm.integrations.custom_loggerr   +litellm.integrations.prompt_management_baser   r   litellm.types.llms.openair	   "litellm.types.prompts.init_promptsr
   litellm.types.utilsr   r   r!   r   r   <module>r;      s/    ( ( ; 7 9 =F
\+? F
r   