o
    ưis                     @   sj   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 deeZd	S )
    )ListOptionalTuple)CustomLogger)PromptManagementBasePromptManagementClient)AllMessageValues)
PromptSpec)StandardCallbackDynamicParamsc                   @   sV  e Zd Z		ddee dee fd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dZedefddZd
ee dee de
defddZ		dd
ee dee dee	 de
dee dee defddZ			dd
ee dee	 de
dee dee dee defddZdS )CustomPromptManagementFignore_prompt_manager_model%ignore_prompt_manager_optional_paramsc                 K   s   || _ || _d S )N)r   r   )selfr   r   kwargs r   d/home/app/Keep/.python/lib/python3.10/site-packages/litellm/integrations/custom_prompt_management.py__init__   s   zCustomPromptManagement.__init__Nmodelmessagesnon_default_params	prompt_idprompt_variablesdynamic_callback_paramsprompt_specprompt_labelprompt_versionreturnc                 C   s
   |||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   r   r   r   r   get_chat_completion_prompt   s   
z1CustomPromptManagement.get_chat_completion_promptc                 C      dS )Nzcustom-prompt-managementr   )r   r   r   r   integration_name/   s   z'CustomPromptManagement.integration_namec                 C   r   )NTr   )r   r   r   r   r   r   r   should_run_prompt_management3   s   z3CustomPromptManagement.should_run_prompt_managementc                 C   s   t d)Nz?Custom prompt management does not support compile prompt helperNotImplementedError)r   r   r   r   r   r   r   r   r   r   _compile_prompt_helper;   s   	z-CustomPromptManagement._compile_prompt_helperc                    s
   t d)NzECustom prompt management does not support async compile prompt helperr!   )r   r   r   r   r   r   r   r   r   r   async_compile_prompt_helperH   s   	z2CustomPromptManagement.async_compile_prompt_helper)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    
	



r   N)typingr   r   r   Z"litellm.integrations.custom_loggerr   Z+litellm.integrations.prompt_management_baser   r   Zlitellm.types.llms.openair   Z"litellm.types.prompts.init_promptsr	   Zlitellm.types.utilsr
   r   r   r   r   r   <module>   s    