o
    iO                     @   s   d Z ddlmZmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZ ddlmZmZmZ dd
edee deeef fddZd
ededeeef dee dee f
ddZdededefddZdedeeee f fddZd	S )zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.    )AnyDictListOptional)Headers)	BaseModel)	FieldInfo   )HeaderMetadatafind_field_metadata)_is_set_populate_from_globals_val_to_stringNheaders_paramsgblsreturnc                 C   s8   i }g }t | rt| ||g }t |rt|d || |S N)r   _populate_headers)r   r   headersglobals_already_populated r   ]/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/mistralai/utils/headers.pyget_headers   s   r   header_valuesskip_fieldsc                 C   s   g }t | ts	|S | jj}|D ]@}||v rq|| }|jd ur"|jn|}t|t}	|	d u r.qt|t| |t|\}
}|rA|	| t
|	j|
}
|
dkrO|
||< q|S )N )
isinstancer   	__class__model_fieldsaliasr   r
   r   getattrappend_serialize_headerexplode)r   r   r   r   r   param_fieldsnamefieldf_namemetadatavalueglobal_foundr   r   r   r   !   s,   


r   r#   objc                 C   s  t |sdS t|tr^g }|jj}|D ]=}|| }t|t}|s!q|jd ur)|jn|}t||}t |s5q| rD|	| dt
|  q|	| |	t
| qt|dkr\d|S dS t|trg }| D ]$\}	}
t |
srqi| r|	|	 dt
|
  qi|	|	 |	t
|
 qit|dkrddd |D S dS t|trg }|D ]}
t |
sq|	t
|
 qt|dkrd|S dS t |rt
| S dS )Nr   =r   ,c                 S   s   g | ]}t |qS r   )str).0itemr   r   r   
<listcomp>o   s    z%_serialize_header.<locals>.<listcomp>)r   r   r   r   r   r   r
   r   r    r!   r   lenjoinr   itemsr   )r#   r+   r4   
obj_fieldsr%   	obj_fieldobj_param_metadatar'   valkeyr)   r   r   r   r"   E   sZ   









r"   r   c                 C   s8   i }|   D ]\}}||vrg ||< || | q|S r   )r4   r!   )r   reskvr   r   r   get_response_headers   s   r=   r   )__doc__typingr   r   r   r   httpxr   pydanticr   pydantic.fieldsr   r(   r
   r   valuesr   r   r   r.   r   r   boolr"   r=   r   r   r   r   <module>   s*    $

$"<