Ë
    uPêj„  ã                   ó4   — d dl mZmZ d dlmZ  G d„ d«      Zy)é    )ÚAnyÚFinal)ÚContentPolicyViolationErrorc                   ój   — e Zd ZdZedededededef
d„«       Zedede	e
eef   e
dz  f   fd	„«       Zy)
ÚAzureOpenAIExceptionMappingz=
    Class for creating Azure OpenAI specific exceptions
    ÚmessageÚmodelÚextra_informationÚoriginal_exceptionÚreturnc                 ót  — t         j                  |«      \  }}t        |t        «      r|j	                  d«      ndxs | }t        |t        «      r|j	                  d«      nd}t        |t        «      r|j	                  d«      nd}||xs d|xs dddœ}	t        |d||t        |d	d«      |||xs dd
œ|	¬«      ‚)z9
        Create a content policy violation error
        r   NÚtypeÚcodeÚinvalid_request_errorÚcontent_policy_violation)r   r   r   ÚparamÚazureÚresponse)Ú
innererrorÚinner_errorÚazure_error)r   Úllm_providerr	   Úlitellm_debug_infor   Úprovider_specific_fieldsÚbody)r   Ú_extract_azure_errorÚ
isinstanceÚdictÚgetr   Úgetattr)
r   r	   r
   r   r   r   Úprovider_messageÚprovider_typeÚprovider_codeÚopenai_style_bodys
             úi/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/litellm/llms/azure/exception_mapping.pyÚ%create_content_policy_violation_errorzAAzureOpenAIExceptionMapping.create_content_policy_violation_error   sÚ   € ô $?×#SÑ#SÐTfÓ#gÑ ˆ�[ô BLÈKÔY]ÔA^ ;§?¡?°9Ô#=ÐdhÒ"tÐmtÐÜ:DÀ[ÔRVÔ:W˜{Ÿ™¨vÔ6Ð]aˆÜ:DÀ[ÔRVÔ:W˜{Ÿ™¨vÔ6Ð]aˆð
 (Ø!Ò<Ð%<Ø!Ò?Ð%?Øñ	4
Ðô *Ø$Ø ØØ0ÜÐ/°¸TÓBð *à*à*Ò2¨dñ&ð #ô
ð 	
ó    Nc                 óP  — t        | dd«      xs i }t        |t        «      si dfS t        |j                  d«      t        «      r|j                  di «      }n|}|j                  d«      xs7 |j                  d«      xs$ |j                  d«      xs |j                  d«      }||fS )ab  Extract Azure OpenAI error payload and inner error details.

        Azure error formats can vary by endpoint/version. Common shapes:
        - {"innererror": {...}} (legacy)
        - {"error": {"code": "...", "message": "...", "type": "...", "inner_error": {...}}}
        - {"code": "...", "message": "...", "type": "..."} (already flattened)
        r   NÚerrorr   r   )r    r   r   r   )r   Ú	body_dictr   r   s       r%   r   z0AzureOpenAIExceptionMapping._extract_azure_error6   sª   € ô #Ð#5°v¸tÓDÒJÈˆ	Ü˜)¤TÔ*Ø�t�8ˆOô �i—m‘m GÓ,¬dÔ3Ø#Ÿ-™-¨°Ó4‰Kà#ˆKð �O‰O˜MÓ*ò ,Ø�‰˜|Ó,ò,à�}‰}˜\Ó*ò,ð �}‰}˜]Ó+ð	 	ð ˜KÐ'Ð'r'   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstaticmethodÚstrÚ	Exceptionr   r&   Útupler   r   r   © r'   r%   r   r      s„   „ ñð ð(
Øð(
àð(
ð ð(
ð &ð	(
ð
 
%ò(
ó ð(
ðT ð(Ø%ð(à	ˆt�C˜�H‰~˜t d™{Ð*Ñ	+ò(ó ñ(r'   r   N)Útypingr   r   Úlitellm.exceptionsr   r   r3   r'   r%   ú<module>r6      s   ðß å :÷M(ò M(r'   