o
    ùT·jõ  ã                   @  s4   d dl mZ ddlmZmZ ddd	„Zddd„ZdS )é    )Úannotationsé   )Úis_dictÚis_listÚvalueÚobjectÚreturnÚboolc                 C  s   t | ƒotdd„ | D ƒƒS )Nc                 s  s    � | ]}t |ƒod |v V  qdS )ÚindexN)r   )Ú.0Úentry© r   ú_/home/dinkstrade/pdmp-scanner/venv/lib/python3.10/site-packages/openai/lib/streaming/_deltas.pyÚ	<genexpr>   ó   € z'_has_indexed_entries.<locals>.<genexpr>)r   Úany)r   r   r   r   Ú_has_indexed_entries   s   r   Úaccúdict[object, object]Údeltac           	      C  sÂ  |  ¡ D ]Ú\}}|| vs| | d u r t|ƒrg | |< n|| |< q| | }|dks,|dkr1|| |< qt|tƒr@t|tƒr@||7 }nšt|ttfƒrSt|ttfƒrS||7 }n‡t|ƒrat|ƒrat||ƒ}nyt|ƒrÚt|ƒrÚt	dd„ |D ƒƒr~|sxt|ƒs~| 
|¡ q|D ]Y}t|ƒs�td|› �ƒ‚z|d }W n ty§ } ztd|› �ƒ|‚d }~ww t|tƒs´td|› �ƒ‚z|| }W n tyÉ   | ||¡ Y q€w t|ƒsÒtdƒ‚t||ƒ||< q€|| |< q| S )	Nr
   Útypec                 s  s    � | ]}t |tttfƒV  qd S )N)Ú
isinstanceÚstrÚintÚfloat)r   Úxr   r   r   r   ,   r   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   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   
   sZ   


ÿÿ
€ÿ
ÿ
r   N)r   r   r   r	   )r   r   r   r   r   r   )Ú
__future__r   Ú_utilsr   r   r   r   r   r   r   r   Ú<module>   s    
