o
    #`^h	                     @  s*   d dl mZ ddlmZmZ ddd	Zd
S )    )annotations   )is_dictis_listaccdict[object, object]deltareturnc           	      C  s  |  D ]\}}|| vr|| |< q| | }|d u r|| |< q|dks&|dkr+|| |< qt|tr:t|tr:||7 }nt|ttfrMt|ttfrM||7 }nt|r[t|r[t||}nst|rt|rtdd |D rr|	| q|D ]Y}t|st
d| z|d }W n ty } ztd| |d }~ww t|tst
d| z|| }W n ty   ||| Y qtw t|st
dt||||< qt|| |< q| S )	Nindextypec                 s  s     | ]}t |tttfV  qd S )N)
isinstancestrintfloat).0x r   Z/home/air/shanriGPT/back/venv/lib/python3.10/site-packages/openai/lib/streaming/_deltas.py	<genexpr>$   s    z#accumulate_delta.<locals>.<genexpr>z1Unexpected list delta entry is not a dictionary: z2Expected list delta entry to have an `index` key; z>Unexpected, list delta entry `index` value is not an integer; znot handled yet)itemsr   r   r   r   r   accumulate_deltar   allextend	TypeErrorKeyErrorRuntimeError
IndexErrorinsert)	r   r   keydelta_value	acc_valuedelta_entryr
   exc	acc_entryr   r   r   r      sT   




r   N)r   r   r   r   r	   r   )
__future__r   _utilsr   r   r   r   r   r   r   <module>   s    