o
    iO                     @   s   d dl Z ddlmZ ddlmZmZ d dlmZ de je fddZ	de je fd	d
Z
dd Zde jd fddZdd ZdS )    N   )EmbedByTypeResponseEmbeddings)_get_model_fieldsModel)pprintreturnc                 C      dd t |  D S )Nc                 S   s   g | ]}t |qS  )str).0xr	   r	   V/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/cohere/overrides.py
<listcomp>
   s    zget_fields.<locals>.<listcomp>)r   keysobjr	   r	   r   
get_fields	   s   r   c                 C   r   )Nc                 S   s:   g | ]\}}|j p|r|jr|jd  r|jd  j p|qS )r   )aliasmetadata)r   
field_name
field_infor	   r	   r   r      s    (z(get_aliases_or_field.<locals>.<listcomp>)r   itemsr   r	   r	   r   get_aliases_or_field   s   
r   c                 C   s   t tt| t|  S )N)listsetr   r   r   r	   r	   r   get_aliases_and_fields   s   r   selfr   c                 C   sv   t |  D ]&\}}|jp|o|jo|jd o|jd j}||ks%||kr,t| |  S qtdt| j d| d)Nr   'z' object has no attribute ')r   r   r   r   getattrAttributeErrortype__name__)r   namer   r   r   r	   r	   r   allow_access_to_aliases   s   r#   c                   C   s   t tdt dS )z
        These are overrides to allow us to make changes to generated code without touching the generated files themselves.
        Should be used judiciously!
    __getattr__N)setattrr   r#   r	   r	   r	   r   run_overrides$   s   r&   )typing r   core.pydantic_utilitiesr   r   r   Listr
   r   r   r   Typer#   r&   r	   r	   r	   r   <module>   s    
