o
    ưi	                     @   s:   d dl mZ d dlmZ d dlmZmZ G dd dZdS )    )Dict)BaseContainerConfig)$ContainerCreateOptionalRequestParams"ContainerListOptionalRequestParamsc                   @   sR   e Zd ZededefddZedededefddZ	edede
fd	d
ZdS )ContainerRequestUtilspassed_paramsreturnc                 C   <   t  }g d}|D ]}|| v r| | dur| | ||< q	|S )zLExtract only valid container creation parameters from the passed parameters.)Zexpires_afterZfile_idsextra_headersZ
extra_bodyN)r   )r    container_create_optional_paramsvalid_paramsparam r   O/home/app/Keep/.python/lib/python3.10/site-packages/litellm/containers/utils.py-get_requested_container_create_optional_param   s   zCContainerRequestUtils.get_requested_container_create_optional_paramcontainer_provider_configr   c                    s,   |     fdd| D }| j|ddS )z3Get the optional parameters for container creation.c                    s   i | ]\}}| v r||qS r   r   ).0kvZsupported_paramsr   r   
<dictcomp>%   s
    zNContainerRequestUtils.get_optional_params_container_create.<locals>.<dictcomp>F)r   Zdrop_params)Zget_supported_openai_paramsitemsZmap_openai_params)r   r   Zfiltered_paramsr   r   r   $get_optional_params_container_create   s   
z:ContainerRequestUtils.get_optional_params_container_createc                 C   r	   )zHExtract only valid container list parameters from the passed parameters.)afterlimitorderr
   Zextra_queryN)r   )r   Zcontainer_list_optional_paramsr   r   r   r   r   +get_requested_container_list_optional_param0   s   zAContainerRequestUtils.get_requested_container_list_optional_paramN)__name__
__module____qualname__staticmethoddictr   r   r   r   r   r   r   r   r   r   r   r      s*    r   N)typingr   Z/litellm.llms.base_llm.containers.transformationr   Zlitellm.types.containers.mainr   r   r   r   r   r   r   <module>   s    