
    ht                         d dl mZmZ d dlmZmZmZmZmZm	Z	 d dl
Z
d dl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 erd d	lmZ d d
lmZ d dlmZ eZeZ eZneZeZ eZ G d de      Z! G d de      Z"y)    )ABCabstractmethod)TYPE_CHECKINGAnyDictListOptionalUnionN)UserAPIKeyAuth)AllMessageValuesCreateFileRequest%OpenAICreateFileRequestOptionalParamsOpenAIFileObjectOpenAIFilesPurpose)LlmProvidersModelResponse   )
BaseConfig)Logging)Router)HttpxBinaryResponseContentc                   t   e Zd Zeedefd              Zededee	   fd       Z
dee   dee   dededed	efd
Zedededededeeeef   f
d       Zedee   dej&                  dededef
d       Zdedee   dedededefdZ	 	 ddedej&                  dedededee   dedededee   dee   defdZy)BaseFilesConfigreturnc                      y N )selfs    f/var/www/Befach/backend/env/lib/python3.12/site-packages/litellm/llms/base_llm/files/transformation.pycustom_llm_providerz#BaseFilesConfig.custom_llm_provider!   s     	    modelc                      y r   r   )r   r"   s     r   get_supported_openai_paramsz+BaseFilesConfig.get_supported_openai_params&   s     	r!   api_baseapi_keyoptional_paramslitellm_paramsdatac                 .    | j                  |||||      S )N)r%   r&   r"   r'   r(   )get_complete_url)r   r%   r&   r"   r'   r(   r)   s          r   get_complete_file_urlz%BaseFilesConfig.get_complete_file_url,   s+     $$+) % 
 	
r!   create_file_datac                      y r   r   )r   r"   r-   r'   r(   s        r   transform_create_file_requestz-BaseFilesConfig.transform_create_file_request=        	r!   raw_responselogging_objc                      y r   r   )r   r"   r1   r2   r(   s        r   transform_create_file_responsez.BaseFilesConfig.transform_create_file_responseG   r0   r!   messagesheadersc                     t        d      )Nz^AudioTranscriptionConfig does not need a request transformation for audio transcription modelsNotImplementedError)r   r"   r5   r'   r(   r6   s         r   transform_requestz!BaseFilesConfig.transform_requestQ   s     "l
 	
r!   Nmodel_responserequest_dataencoding	json_modec                     t        d      )Nz_AudioTranscriptionConfig does not need a response transformation for audio transcription modelsr8   )r   r"   r1   r;   r2   r<   r5   r'   r(   r=   r&   r>   s               r   transform_responsez"BaseFilesConfig.transform_response]   s     "m
 	
r!   )NN)__name__
__module____qualname__propertyr   r   r    strr   r   r$   r	   dictr   r,   r
   bytesr/   httpxResponseLiteLLMLoggingObjr   r4   r   r:   r   r   boolr@   r   r!   r   r   r       s
   \    	3	4 

3-
 #
 	

 
 
  
"  , 	
  
tS%	   } nn '	
  
 



 '(

 	


 

 

 


. "&$(

 nn
 &	

 '
 
 '(
 
 
 
 #
 D>
 

r!   r   c                       e Zd Zedededee   dede	de
fd       Zededee   de
fd	       Zed
ee   dee   dedee
   fd       Zededee   dedede
f
d       Zededee   dededdf
d       Zy)BaseFileEndpointscreate_file_request
llm_routertarget_model_names_listlitellm_parent_otel_spanuser_api_key_dictr   c                    K   y wr   r   )r   rN   rO   rP   rQ   rR   s         r   acreate_filezBaseFileEndpoints.acreate_fileq   s      	   file_idc                    K   y wr   r   )r   rV   rQ   s      r   afile_retrievez BaseFileEndpoints.afile_retrieve|   s      	rU   purposer)   c                    K   y wr   r   )r   rY   rQ   r)   s       r   
afile_listzBaseFileEndpoints.afile_list   s      	rU   c                    K   y wr   r   r   rV   rQ   rO   r)   s        r   afile_deletezBaseFileEndpoints.afile_delete         	rU   r   c                    K   y wr   r   r]   s        r   afile_contentzBaseFileEndpoints.afile_content   r_   rU   N)rA   rB   rC   r   r   r   r   rE   Spanr   r   rT   r	   rX   r   r   r[   r^   ra   r   r!   r   rM   rM   p   s`   .  "&c	
 #' * 
   #+4. 
	  ,- #+4. 	
 
	   #+4. 	
  
   #+4. 	
  
& r!   rM   )#abcr   r   typingr   r   r   r   r	   r
   rH   litellm.proxy._typesr   litellm.types.llms.openair   r   r   r   r   litellm.types.utilsr   r   chat.transformationr   *litellm.litellm_core_utils.litellm_loggingr   _LiteLLMLoggingObjlitellm.routerr   _Routerr   rJ   rb   r   rM   r   r!   r   <module>rm      sm    # B B  /  < ,X0D*DFDFM
j M
`/ /r!   