
    iK$                         d dl mZmZ d dlmZmZmZmZmZ d dl	m
Z
mZ d dlmZ d dlmZ d dlmZ e
rd dlmZ  G d d	e      Z G d
 de      Zy)    )ABCabstractmethod)AnyDictListOptionalTuple)TYPE_CHECKING	TypedDict)AllMessageValues)
PromptSpec)StandardCallbackDynamicParams)Loggingc                   n    e Zd ZU ee   ed<   ee   ed<   ee   ed<   eeee	f      ed<   eee      ed<   y)PromptManagementClient	prompt_idprompt_templateprompt_template_modelprompt_template_optional_paramscompleted_messagesN)
__name__
__module____qualname__r   str__annotations__r   r   r   r        |/Users/manta/Documents/Projects/TheRoad-I1/.venv/lib/python3.12/site-packages/litellm/integrations/prompt_management_base.pyr   r      sF    }*++#C=(%-d38n%== &6!788r   r   c                    6   e Zd Zeedefd              Zedee   dee   de	de
fd       Ze	 	 ddee   dee   dee   de	d	ee   d
ee   defd       Ze	 	 	 d dee   dee   de	dee   d	ee   d
ee   defd       Zdee   dee   dee   fdZ	 	 	 d dedee   dee   de	d	ee   d
ee   de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e   defdZdededefdZ	 	 d!dedee   dede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	 	 	 	 	 	 d#dedee   dedee   dee   de	dddee   deee      d	ee   d
ee   dee
   dee
   deeee   ef   fdZy)$PromptManagementBasereturnc                      y Nr   )selfs    r   integration_namez%PromptManagementBase.integration_name   s     	r   r   prompt_specdynamic_callback_paramsc                      y r#   r   )r$   r   r&   r'   s       r   should_run_prompt_managementz1PromptManagementBase.should_run_prompt_management   s     	r   Nprompt_variablesprompt_labelprompt_versionc                      y r#   r   )r$   r   r&   r*   r'   r+   r,   s          r   _compile_prompt_helperz+PromptManagementBase._compile_prompt_helper%   s     	r   c                    K   y wr#   r   )r$   r   r*   r'   r&   r+   r,   s          r   async_compile_prompt_helperz0PromptManagementBase.async_compile_prompt_helper1   s      	s   r   client_messagesc                     ||z   S r#   r   )r$   r   r1   s      r   merge_messagesz#PromptManagementBase.merge_messages=   s    
 00r   c                     | j                  ||||||      }	 |d   |z   }	|	|d<   |S # t        $ r}
t        d|
 d| d| d| d| 
      d }
~
ww xY w	N)r   r&   r*   r'   r+   r,   r   zError compiling prompt: z. Prompt id=z, prompt_variables=z, client_messages=z, dynamic_callback_params=r   )r.   	Exception
ValueError)r$   r   r*   r1   r'   r+   r,   r&   compiled_prompt_clientmessageses              r   compile_promptz#PromptManagementBase.compile_promptD   s     "&!<!<#-$;%) "= "
	-.?@?RH 8@34%%  	*1#\)DWXhWii{  }L  |M  Mg  h  g@  A 	s   ( 	AAAc                    K   | j                  ||||||       d {   }	 |d   |z   }	|	|d<   |S 7 # t        $ r}
t        d|
 d| d| d| d| 
      d }
~
ww xY wwr5   )r0   r6   r7   )r$   r   r*   r1   r'   r&   r+   r,   r8   r9   r:   s              r   async_compile_promptz)PromptManagementBase.async_compile_prompta   s      (,'G'G#-$;%) (H (
 "
	-.?@?RH 8@34%%#"
  	*1#\)DWXhWii{  }L  |M  Mg  h  g@  A 	s-   A2A4 A	AAAAprompt_management_clientmodelc                 l    |d   |d   S |j                  dj                  | j                        d      S )Nr   z{}/ )replaceformatr%   )r$   r>   r?   s      r   _get_model_from_promptz+PromptManagementBase._get_model_from_prompt~   s<     $$;<H+,CDD==d.C.C!DbIIr   r9   non_default_paramsignore_prompt_manager_model%ignore_prompt_manager_optional_paramsc                 t    |d   xs |}|d   xs i }i ||s|ni }	|s| j                  ||      }n|}|||	fS )Nr   r   )r>   r?   )rD   )
r$   r   r9   rE   r?   rF   rG   r   r   updated_non_default_paramss
             r   post_compile_prompt_processingz3PromptManagementBase.post_compile_prompt_processing   s     --ABNh =>D" 	(&
 &
 = 0&
" +//)8 0 E E(*DDDr   c                     |t        d      | j                  |||      s|||fS | j                  ||||||	      }| j                  |||||
|      S )Nz6prompt_id is required for Prompt Management Base classr   r&   r'   )r   r*   r1   r'   r+   r,   r   r9   rE   r?   rF   rG   )r7   r)   r;   rJ   )r$   r?   r9   rE   r   r*   r'   r&   r+   r,   rF   rG   r   s                r   get_chat_completion_promptz/PromptManagementBase.get_chat_completion_prompt   s     UVV00#$; 1 

 ($666---$$;%) . 
 22+1(C2W 3 
 	
r   litellm_logging_objLiteLLMLoggingObjtoolsc           	         K   | j                  |||      s|||fS | j                  ||||||
|       d {   }| j                  ||||||      S 7 w)NrL   )r   r*   r1   r'   r&   r+   r,   rM   )r)   r=   rJ   )r$   r?   r9   rE   r   r*   r'   rO   r&   rQ   r+   r,   rF   rG   r   s                  r    async_get_chat_completion_promptz5PromptManagementBase.async_get_chat_completion_prompt   s       00#$; 1 

 ($666 $ 9 9-$$;#%) !: !
 
 22+1(C2W 3 
 	

s   5AAA)NN)NNN)FF)NNNFF)NNNNFF)r   r   r   propertyr   r   r%   r   r   r   boolr)   dictintr   r.   r0   r   r   r3   r;   r=   rD   rJ   r	   rN   r   rS   r   r   r   r    r       s   #    C= j) "?	
 
   '+(,	C=	 j)	 #4.		
 "?	 sm	 !	 
 	 	  -1&*(,	C=	 #4.	 "?		
 j)	 sm	 !	 
 	 	1./1 ./1 
		1 '+(,,0&& #4.& ./	&
 "?& sm& !& j)& 
 &F -1&*(,&C=& #4.& ./	&
 "?& j)& sm& !& 
 &:J(>JGJJ	J 7<@EE/E '(E !	E
 E &.d^E 08~ER -1&*(,6;@E'
'
 '('
 !	'

 C='
 #4.'
 "?'
 j)'
 sm'
 !'
 &.d^'
 08~'
 
sD)*D0	1'
d -1&*&*(,6;@E(
(
 '((
 !	(

 C=(
 #4.(
 "?(
 1(
 j)(
 T
#(
 sm(
 !(
 &.d^(
 08~(
 
sD)*D0	1(
r   r    N)abcr   r   typingr   r   r   r   r	   typing_extensionsr
   r   litellm.types.llms.openair   "litellm.types.prompts.init_promptsr   litellm.types.utilsr   *litellm.litellm_core_utils.litellm_loggingr   rP   r   r    r   r   r   <module>r_      s:    # 3 3 6 6 9 =W9Y 9b
3 b
r   