
    AHj	                     @    d dl mZ d dlmZ d dlmZmZ  G d d      Zy)    )Dict)BaseContainerConfig)$ContainerCreateOptionalRequestParams"ContainerListOptionalRequestParamsc                   ^    e Zd Zededefd       Zedededefd       Z	edede
fd       Zy)	ContainerRequestUtilspassed_paramsreturnc                 V    t               }g d}|D ]  }|| v s| |   | |   ||<    |S )zLExtract only valid container creation parameters from the passed parameters.)expires_afterfile_idsextra_headers
extra_body)r   )r	    container_create_optional_paramsvalid_paramsparams       P/root/tools/cai/cai_env/lib/python3.12/site-packages/litellm/containers/utils.py-get_requested_container_create_optional_paramzCContainerRequestUtils.get_requested_container_create_optional_param   sR    
 ,P+Q(
 " 	OE%-*>*J:G:N07	O 0/    container_provider_configr   c                     | j                         }|j                         D ci c]  \  }}||v r|| }}}| j                  |d      S c c}}w )z3Get the optional parameters for container creation.F)r   drop_params)get_supported_openai_paramsitemsmap_openai_params)r   r   supported_paramskvfiltered_paramss         r   $get_optional_params_container_createz:ContainerRequestUtils.get_optional_params_container_create   sq     5PPR
 9>>@
1$$ qD
 
 )::-< ; 
 	

s   Ac                 V    t               }g d}|D ]  }|| v s| |   | |   ||<    |S )zHExtract only valid container list parameters from the passed parameters.)afterlimitorderr   extra_query)r   )r	   container_list_optional_paramsr   r   s       r   +get_requested_container_list_optional_paramzAContainerRequestUtils.get_requested_container_list_optional_param3   sR    
 *L)M&
 " 	ME%-*>*J8Ee8L.u5	M .-r   N)__name__
__module____qualname__staticmethoddictr   r   r   r   r    r   r'    r   r   r   r   
   sv    00	-0 0& 
#6
*N
 

 
& ..	+. .r   r   N)typingr   /litellm.llms.base_llm.containers.transformationr   litellm.types.containers.mainr   r   r   r-   r   r   <module>r1      s     O<. <.r   