
    gO                         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Z	de j                  e   fdZ
d	 Zd
e j                  d   fdZd Zy)    N   )EmbedByTypeResponseEmbeddings)_get_model_fieldsModel)pprintreturnc                 l    t        |       j                         D cg c]  }t        |       c}S c c}w N)r   keysstr)objxs     E/var/www/openai/venv/lib/python3.12/site-packages/cohere/overrides.py
get_fieldsr   	   s.    -c2779:9qCF9:::s   1c                     t        |       j                         D cg c]S  \  }}|j                  xs@ |xr8 |j                  xr* |j                  d   xr |j                  d   j                  xs |U c}}S c c}}w )Nr   )r   itemsaliasmetadata)r   
field_name
field_infos      r   get_aliases_or_fieldr      s     S!'') * #J
 	  	KZ{J,?,?{JDWDWXYDZ{_i_r_rst_u_{_{  	K  AK  	K)  s   AA9c                 T    t        t        t        |       t        |       z               S r
   )listsetr   r   )r   s    r   get_aliases_and_fieldsr      s!    JsO&:3&??@AA    selfr   c                 R   t        |       j                         D ]g  \  }}|j                  xs< |xr8 |j                  xr* |j                  d   xr |j                  d   j                  }||k(  s||k(  s[t	        | |      c S  t        dt        |       j                   d| d      )Nr   'z' object has no attribute ')r   r   r   r   getattrAttributeErrortype__name__)r   namer   r   r   s        r   allow_access_to_aliasesr%      s    "3D"9"?"?"A
J   tr:#6#6r:;N;Nq;QrV`ViVijkVlVrVr 	D=J$.4,,	 #B
 
DJ  ;D6CE Er   c                  .    t        t        dt               y)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   run_overridesr*   $   s     )=:QRr   )typing r   core.pydantic_utilitiesr   r   r   Listr   r   r   r   Typer%   r*   r)   r   r   <module>r0      s^     + = ;v{{3' ;S!1 B
E&++g"6 ESr   