a
    _gF                  	   @  s  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZmZ d dlmZmZ d dlZd dlmZ ddlmZmZ ed	Zed
ejdZejdZerdddddZdddddZdddddZdddddZdddd d!Z ddd"d#d$Z!ddd"d%d&Z"n`erFd d'l#mZmZm Z m"Z"m!Z! d d(l$mZmZ n,d d'l%mZmZm Z m"Z"m!Z! d d(l&mZmZ erd d)lm'Z' nerd d)lm'Z' ndZ'd*d+d
d,d-d.Z(d/dd0d1d2Z)d/d3d0d4d5Z*d/d3d0d6d7Z+d8d3d9d:d;Z,d8d<d9d=d>Z-d?d@d
dd
dAdBdCZ.ddDdEdFdGdHdIdJZ/dd?d?dKdLdMdEdNddddOdPdQdRdSZ0d*d3d
dTdUdVZ1d*dWd
dTdXdYZ2d*dPd9dZd[Z3erG d\d] d]ejZ4n:erG d^d] d]ejZ4n d dl5ZG d_d] d]ej6j4ejZ4er e7Z8G d`da daee Z9nd dbl:m8Z8 e8Z9dS )c    )annotations)TYPE_CHECKINGAnyUnionGenericTypeVarCallablecastoverload)datedatetime)SelfLiteralN)	FieldInfo   )IncExStrBytesIntFloat_T_ModelT)boundz2.zdate | StrBytesIntFloatr   )valuereturnc                 C  s   d S N r   r   r   \/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/openai/_compat.py
parse_date   s    r   z!Union[datetime, StrBytesIntFloat]r   c                 C  s   d S r   r   r   r   r   r   parse_datetime   s    r   	type[Any]ztuple[Any, ...])tr   c                 C  s   d S r   r   r   r   r   r   get_args   s    r!   type[Any] | Nonebool)tpr   c                 C  s   d S r   r   )r$   r   r   r   is_union"   s    r%   c                 C  s   d S r   r   r    r   r   r   
get_origin%   s    r&   )type_r   c                 C  s   d S r   r   r'   r   r   r   is_literal_type(   s    r)   c                 C  s   d S r   r   r(   r   r   r   is_typeddict+   s    r*   )r!   r%   r&   r*   r)   )r   r   )
ConfigDictztype[_ModelT]object)modelr   r   c                 C  s"   t r| |S tt| |S d S r   )PYDANTIC_V2model_validater	   r   	parse_obj)r-   r   r   r   r   r0   O   s    
r0   r   )fieldr   c                 C  s   t r|  S | jS r   )r.   Zis_requiredrequiredr1   r   r   r   field_is_requiredV   s    r4   r   c                 C  s,   |   }tr(ddlm} ||kr$d S |S |S )Nr   )PydanticUndefined)get_defaultr.   Zpydantic_corer5   )r1   r   r5   r   r   r   field_get_default\   s    r7   c                 C  s   t r
| jS | jS r   )r.   
annotationZouter_type_r3   r   r   r   field_outer_typeg   s    r9   ztype[pydantic.BaseModel])r-   r   c                 C  s   t r
| jS | jS r   )r.   Zmodel_configZ
__config__r-   r   r   r   get_model_configm   s    r;   zdict[str, FieldInfo]c                 C  s   t r
| jS | jS r   )r.   Zmodel_fieldsZ
__fields__r:   r   r   r   get_model_fieldss   s    r<   Fdeep)r-   r>   r   c                C  s   t r| j|dS | j|dS )Nr=   )r.   
model_copycopy)r-   r>   r   r   r   r?   y   s    r?   indentzpydantic.BaseModelz
int | Nonestr)r-   rB   r   c                C  s   t r| j|dS | j|dS )NrA   )r.   Zmodel_dump_jsonjson)r-   rB   r   r   r   
model_json   s    rE   Tpython)excludeexclude_unsetexclude_defaultswarningsmodezIncEx | NonezLiteral['json', 'python']dict[str, Any])r-   rG   rH   rI   rJ   rK   r   c                C  s@   t st| dr*| j||||t r"|nddS td| j|||dS )N
model_dumpT)rK   rG   rH   rI   rJ   rL   )rG   rH   rI   )r.   hasattrrM   r	   dict)r-   rG   rH   rI   rJ   rK   r   r   r   rM      s     	
rM   )r-   datar   c                 C  s   t r| |S | |S r   )r.   r/   r0   r-   rP   r   r   r   model_parse   s    
rR   zstr | bytesc                 C  s   t r| |S | |S r   )r.   Zmodel_validate_jsonZ	parse_rawrQ   r   r   r   model_parse_json   s    
rS   c                 C  s   t r|  S |  S r   )r.   model_json_schemaZschemar:   r   r   r   rT      s    rT   c                   @  s   e Zd ZdS GenericModelN__name__
__module____qualname__r   r   r   r   rV          rV   c                   @  s   e Zd ZdS rU   rW   r   r   r   r   rV      r[   c                   @  s   e Zd ZdS rU   rW   r   r   r   r   rV      r[   c                   @  s   e Zd ZU ded< ded< dddddZeddd
ddddZeddd
ddddZddd
ddddZddddddZddddddZd	S )typed_cached_propertyzCallable[[Any], _T]funcz
str | NoneattrnameNone)r]   r   c                 C  s   d S r   r   )selfr]   r   r   r   __init__   r[   ztyped_cached_property.__init__Nr"   r   )instanceownerr   c                 C  s   d S r   r   r`   rb   rc   r   r   r   __get__   s    ztyped_cached_property.__get__r,   r   c                 C  s   d S r   r   rd   r   r   r   re      s    z	_T | Selfc                 C  s
   t  d S r   )NotImplementedErrorrd   r   r   r   re      s    r   rC   )rc   namer   c                 C  s   d S r   r   )r`   rc   rg   r   r   r   __set_name__   r[   z"typed_cached_property.__set_name__)rb   r   r   c                 C  s   d S r   r   )r`   rb   r   r   r   r   __set__   r[   ztyped_cached_property.__set__)N)N)N)	rX   rY   rZ   __annotations__ra   r
   re   rh   ri   r   r   r   r   r\      s   
r\   )cached_property);
__future__r   typingr   r   r   r   r   r   r	   r
   r   r   Ztyping_extensionsr   r   ZpydanticZpydantic.fieldsr   _typesr   r   r   Z	BaseModelr   VERSION
startswithr.   r   r   r!   r%   r&   r)   r*   Zpydantic.v1.typingZpydantic.v1.datetime_parseZpydantic.typingZpydantic.datetime_parser+   r0   r4   r7   r9   r;   r<   r?   rE   rM   rR   rS   rT   rV   Zpydantic.genericsZgenericspropertyrk   r\   	functoolsr   r   r   r   <module>   sn   (	
