Ë
    uPêj  ã                   óò   — U d Z ddlmZmZ ddlmZ  G d„ de«      Zi dd“dd	“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d“d!d"“Zee   e	d#<   d$ed%e
d&z  fd'„Zd$ed%e
d&z  fd(„Zd$ed%efd)„Zy&)*zB
Common utilities and exceptions for the NVIDIA Riva STT provider
é    )ÚAnyÚFinal)ÚBaseLLMExceptionc                   ó   — e Zd ZdZy)ÚNvidiaRivaExceptiona  
    Exception raised for NVIDIA Riva (gRPC) errors.

    ``status_code`` is an HTTP-equivalent code derived from the underlying
    gRPC ``StatusCode`` (when available) so that litellm's existing error
    classifiers (RateLimitError, AuthenticationError, etc.) keep working.
    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    új/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/nvidia_riva/common_utils.pyr   r   
   s   „ òr   r   ÚOKéÈ   Ú	CANCELLEDió  ÚUNKNOWNéô  ÚINVALID_ARGUMENTi�  ÚDEADLINE_EXCEEDEDiø  Ú	NOT_FOUNDi”  ÚALREADY_EXISTSi™  ÚPERMISSION_DENIEDi“  ÚRESOURCE_EXHAUSTEDi­  ÚFAILED_PRECONDITIONÚABORTEDÚOUT_OF_RANGEÚUNIMPLEMENTEDiõ  ÚINTERNALÚUNAVAILABLEi÷  Ú	DATA_LOSSÚUNAUTHENTICATEDi‘  Ú_GRPC_STATUS_CODE_TO_HTTPÚerrorÚreturnNc                 ó¤   — t        | dd«      }t        |«      r'	  |«       }t        |dd«      }t        |t        «      r|S y# t        $ r d}Y Œ-w xY w)zí
    Best-effort extraction of a gRPC StatusCode name from an arbitrary error.

    Works for ``grpc.RpcError`` instances (which expose ``.code()``) as well
    as plain exceptions whose string representation contains a status name.
    ÚcodeNÚname©ÚgetattrÚcallableÚ	ExceptionÚ
isinstanceÚstr)r#   Úcode_fnr&   r'   s       r   Ú_extract_grpc_status_namer/   ,   s^   € ô ˜U F¨DÓ1€GÜ�Ôð	Ù“9ˆDô ˜d F¨DÓ1ˆÜ�dœCÔ ØˆKØøô ò 	ØŠDð	ús   šA ÁAÁAc                 óŽ   — t        | dd«      }t        |«      r	  |«       }t        |t        «      r|r|S y# t        $ r d}Y Œ"w xY w)zKBest-effort extraction of a human-readable detail string from a gRPC error.ÚdetailsNr(   )r#   Ú
details_fnr1   s      r   Ú_extract_grpc_detailsr3   ?   sP   € ä  y°$Ó7€JÜ�
Ôð	Ù “lˆGô �gœsÔ#©ØˆNØøô	 ò 	ØŠGð	ús   š6 ¶AÁAc                 ó´   — t        | «      }t        j                  |xs dd«      }t        | «      xs t	        | «      }|rd|› d|› �nd|› �}t        ||¬«      S )z¡
    Convert a gRPC error (or any exception raised from the Riva client) into
    a ``NvidiaRivaException`` with an appropriate HTTP-equivalent status code.
    Ú r   zNVIDIA Riva gRPC error (z): zNVIDIA Riva error: )Ústatus_codeÚmessage)r/   r"   Úgetr3   r-   r   )r#   Ústatus_nameÚhttp_statusÚdetailr7   s        r   Úgrpc_error_to_litellm_exceptionr<   L   sf   € ô
 3°5Ó9€KÜ2×6Ñ6°{Ò7HÀbÈ#ÓN€Kä)¨%Ó0Ò>´C¸³J€FÙEPÐ(¨¨°S¸¸ÑAÐXkÐlrÐksÐVt€GÜ¨;ÀÔHÐHr   )r   Útypingr   r   Ú)litellm.llms.base_llm.chat.transformationr   r   r"   ÚdictÚ__annotations__r-   r/   r3   r+   r<   r   r   r   ú<module>rA      s?  ðò÷ å FôÐ*ô ð*Øˆ#ð*à�ð*ð ˆsð*ð ˜ð	*ð
 ˜ð*ð �ð*ð �cð*ð ˜ð*ð ˜#ð*ð ˜3ð*ð ˆsð*ð �Cð*ð �Sð*ð �ð*ð �3ð*ð  �ð!*ð" �sð#*Ð ˜5 ™;ó ð* Sð ¨S°4©Zó ð&
 ð 
¨¨t©ó 
ð
I¨9ð 
IÐ9Lô 
Ir   