o
    io                     @   s  d Z ddlmZ ddlZddlZddlZddlmZmZmZm	Z	m
Z
mZ ddlZddlmZ ddlZddlmZmZ ddlmZ dd	lmZmZmZmZ d
efddZdd Zd
efddZdd Zd
efddZdd ZdefddZ dd Z!dedefddZ"dedefd d!Z#d"d# Z$d$d% Z%d&e&defd'd(Z'd)ej(de)fd*d+Z*d)ej(de)fd,d-Z+d)ej(de,fd.d/Z-d)ej(de,fd0d1Z.d2ededefd3d4Z/d2edefd5d6Z0ej1d7e)de	ed8f fd9d:Z2dS );zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    )DecimalN)AnyDictListTupleUnionget_args)
get_origin)
ConfigDictcreate_model)	from_json   )	BaseModelNullableOptionalNullableUnsetas_strc                        fdd}|S )Nc                    s`   t t| rtd tt| v r| d u rd S t| tr| S t| ts&td r,t| S t| S )NzExpected Decimal object)	is_uniontyper   
isinstancer   r   
ValueErrorstrfloatdr    a/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai/utils/serializers.py	serialize   s   (

z$serialize_decimal.<locals>.serializer   r   r   r   r   r   serialize_decimal      r!   c                 C   sB   | d u rd S t | ttfr| S t | tttfstdtt| S )NzExpected string, int or float)r   r   r   r   intr   r   r   r   r   r   validate_decimal"   s   r$   c                    r   )Nc                    \   t t| rtd tt| v r| d u rd S t| tr| S t| ts&td r,t| S | S )NzExpected float)r   r   r   r   r   r   r   r   fr   r   r   r   0      (

z"serialize_float.<locals>.serializer   r    r   r   r   serialize_float/   r"   r)   c                 C   8   | d u rd S t | ttfr| S t | tstdt| S NExpected string)r   r   r   r   r   r&   r   r   r   validate_float?      
r-   c                    r   )Nc                    r%   )NExpected int)r   r   r   r   r   r#   r   r   )ir   r   r   r   M   r(   z serialize_int.<locals>.serializer   r    r   r   r   serialize_intL   r"   r1   c                 C   r*   r+   )r   r#   r   r   r   )br   r   r   validate_int\   r.   r3   is_intc                    r   )Nc                    sJ   | d u rd S t | tr| S  rt | tstd| S t | ts#td| S )Nr/   r,   )r   r   r#   r   r   )er4   r   r   validatej   s   


z$validate_open_enum.<locals>.validater   )r4   r7   r   r6   r   validate_open_enumi   s   r8   c                    r   )Nc                    sF   t t| rtd tt| v r| d u rd S  | kr!td  | S )Nz	Expected )r   r   r   r   )cvr   r   r7   ~   s
   (z validate_const.<locals>.validater   )r;   r7   r   r:   r   validate_const}   s   
r<   typreturnc                 C   s   t t| |S N)	unmarshalr   )rawr=   r   r   r   unmarshal_json      rB   c                 C   s*   t d|dftdddd}|| d}|jS )NUnmarshaller.Tpopulate_by_namearbitrary_types_allowedbody
__config__rI   )r   r
   rI   )valr=   unmarshallermr   r   r   r@      s   

r@   c                 C   sr   t |r
| d u r
dS td|dftdddd}|| d}|jdddd	}t|d
kr,dS tj|tt| ddS )Nnull
Marshaller.TrE   rH   rK   json)by_aliasmodeexclude_noner    ),:)
separators)	is_nullabler   r
   
model_dumplenrQ   dumpsnextiter)rL   r=   
marshallerrN   r   r   r   r   marshal_json   s   

r`   c                 C   sh   t | }|tu s|tu rdS |tustd t| vrdS t| D ]}t |tu s.t |tu r1 dS q dS )NTF)r	   r   r   r   r   r   )fieldoriginargr   r   r   rY      s   rY   objc                    s   t  fddtdD S )zX
    Returns True if the given object is a typing.Union or typing_extensions.Union.
    c                 3   s    | ]} |u V  qd S r?   r   ).0
typing_objrd   r   r   	<genexpr>   s    
zis_union.<locals>.<genexpr>r   )any_get_typing_objects_by_name_ofrg   r   rg   r   r      s   r   streamc                 C   s   d |  S )NrU   )join	iter_textrk   r   r   r   stream_to_text   rC   ro   c                    s    d dd |  2 I d H S )NrU   c                    s   g | z3 d H W }|q6 S r?   r   )re   chunkr   r   r   
<listcomp>   s    z(stream_to_text_async.<locals>.<listcomp>)rl   
aiter_textrn   r   r   r   stream_to_text_async   s   rs   c                 C   s   | j S r?   )contentrn   r   r   r   stream_to_bytes   s   ru   c                    s   |   I d H S r?   )areadrn   r   r   r   stream_to_bytes_async   s   rw   datac                 C   s   t | s	t| |S | S r?   )_contains_pydantic_modelr@   )rx   r=   r   r   r   get_pydantic_model   s   
rz   c                 C   sN   t | trdS t | trtdd | D S t | tr%tdd |  D S dS )NTc                 s       | ]}t |V  qd S r?   ry   )re   itemr   r   r   rh          z+_contains_pydantic_model.<locals>.<genexpr>c                 s   r{   r?   r|   )re   valuer   r   r   rh      r~   F)r   r   r   ri   r   values)rx   r   r   r   ry      s   


ry   name.c                    s0   t  fddttfD }|std |S )z
    Get typing objects by name from typing and typing_extensions.
    Reference: https://typing-extensions.readthedocs.io/en/latest/#runtime-use-of-types
    c                 3   s$    | ]}t | rt| V  qd S r?   )hasattrgetattr)re   moduler   r   r   rh      s    
z1_get_typing_objects_by_name_of.<locals>.<genexpr>z:Neither typing nor typing_extensions has an object called )tupletypingtyping_extensionsr   )r   resultr   r   r   rj      s   rj   )3__doc__decimalr   	functoolsrQ   r   r   r   r   r   r   r   r   r	   httpxpydanticr
   r   pydantic_corer   types.basemodelr   r   r   r   boolr!   r$   r)   r-   r1   r3   r8   r<   rB   r@   r`   rY   objectr   Responser   ro   rs   bytesru   rw   rz   ry   cacherj   r   r   r   r   <module>   sB     	 