§
    	Êjc	  ã                  óV  — d Z ddlmZ ddlmZ  G d„ de¦  «        Z G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Z	 G d„ de¦  «        Z
 G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )zSError hierarchy. Every error maps to an HTTP status and an OpenAI-style error body.é    )Úannotations)ÚAnyc                  ó\   ‡ — e Zd ZU dZded<   dZded<   dZded<   dd
dœdˆ fd„Zdd„Zˆ xZ	S )ÚMuse2APIErroriô  ÚintÚstatus_codeÚserver_errorÚstrÚ
error_typeÚinternal_errorÚcodeÚ N)r   Úmessageú
str | NoneÚreturnÚNonec               óž   •— t          ¦   «                              |p| j        j        ¦  «         |p| j        j        | _        |r	|| _        d S d S )N)ÚsuperÚ__init__Ú	__class__Ú__name__r   r   )Úselfr   r   r   s      €ú+C:\Projects\Muse2API\src\muse2api\errors.pyr   zMuse2APIError.__init__   sS   ø€ Ý‰Œ×Ò˜Ð; D¤NÔ$;Ñ<Ô<Ð<ØÐ9 $¤.Ô"9ˆŒØð 	ØˆDŒIˆIˆIð	ð 	ó    údict[str, Any]c                ó0   — d| j         | j        | j        dœiS )NÚerror)r   Útyper   )r   r   r   )r   s    r   Úto_bodyzMuse2APIError.to_body   s   € Ø T¤\¸4¼?ÐTXÔT]Ð^Ð^Ð_Ð_r   )r   )r   r
   r   r   r   r   )r   r   )
r   Ú
__module__Ú__qualname__r   Ú__annotations__r   r   r   r   Ú__classcell__)r   s   @r   r   r      sŸ   ø€ € € € € € Ø€KÐÐÐÑØ$€JÐ$Ð$Ð$Ñ$Ø €DÐ Ð Ð Ñ ðÀð ð ð ð ð ð ð ð ð`ð `ð `ð `ð `ð `ð `ð `r   r   c                  ó   — e Zd ZdZdZdZdS )ÚInvalidRequesti�  Úinvalid_request_errorÚinvalid_requestN©r   r    r!   r   r   r   © r   r   r%   r%      s   € € € € € Ø€KØ(€JØ€D€D€Dr   r%   c                  ó   — e Zd ZdZdZdZdS )ÚUnauthorizedi‘  Úauthentication_errorÚinvalid_api_keyNr(   r)   r   r   r+   r+      s   € € € € € Ø€KØ'€JØ€D€D€Dr   r+   c                  ó   — e Zd ZdZdZdZdS )ÚNotFoundi”  r&   Ú	not_foundNr(   r)   r   r   r/   r/   $   s   € € € € € Ø€KØ(€JØ€D€D€Dr   r/   c                  ó   — e Zd ZdZdZdZdZdS )ÚFeatureNotImplementedzCReserved endpoint or driver capability that has not been built yet.iõ  Únot_implementedN)r   r    r!   Ú__doc__r   r   r   r)   r   r   r2   r2   *   s#   € € € € € ØMÐMà€KØ"€JØ€D€D€Dr   r2   c                  ó   — e Zd ZdZdZdZdS )ÚNoAccountAvailablei÷  r	   Úno_account_availableNr(   r)   r   r   r6   r6   3   s   € € € € € Ø€KØ€JØ!€D€D€Dr   r6   c                  ó.   — e Zd ZU dZdZdZdZdZded<   dS )ÚUpstreamErrorzUGeneric upstream failure. ``retryable`` tells the service layer whether to fail over.iö  Úupstream_errorTÚboolÚ	retryableN)	r   r    r!   r4   r   r   r   r<   r"   r)   r   r   r9   r9   :   s8   € € € € € € Ø_Ð_à€KØ!€JØ€DØ€IÐÐÐÑÐÐr   r9   c                  ó   — e Zd ZdZdZdS )ÚUpstreamAuthErrorzGThe account's session is invalid; the account should be marked invalid.Úupstream_auth_failedN)r   r    r!   r4   r   r)   r   r   r>   r>   C   s   € € € € € ØQÐQà!€D€D€Dr   r>   c                  ó   — e Zd ZdZdZdZdS )ÚUpstreamQuotaErrorz;The account ran out of quota; the account should cool down.i­  Úupstream_quota_exhaustedN)r   r    r!   r4   r   r   r)   r   r   rA   rA   I   s   € € € € € ØEÐEà€KØ%€D€D€Dr   rA   c                  ó   — e Zd ZdZdZdS )ÚUpstreamTimeoutiø  Úupstream_timeoutN)r   r    r!   r   r   r)   r   r   rD   rD   P   s   € € € € € Ø€KØ€D€D€Dr   rD   c                  ó   — e Zd ZdZdZdZdS )ÚUpstreamRefusedzUUpstream answered but did not produce what was asked (e.g. text instead of an image).Úupstream_refusedFN)r   r    r!   r4   r   r<   r)   r   r   rG   rG   U   s   € € € € € Ø_Ð_à€DØ€I€I€Ir   rG   N)r4   Ú
__future__r   Útypingr   Ú	Exceptionr   r%   r+   r/   r2   r6   r9   r>   rA   rD   rG   r)   r   r   ú<module>rL      s  ðØ YÐ Yà "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð ð`ð `ð `ð `ð `�Iñ `ô `ð `ð ð ð ð ð �]ñ ô ð ðð ð ð ð �=ñ ô ð ðð ð ð ð ˆ}ñ ô ð ðð ð ð ð ˜Mñ ô ð ð"ð "ð "ð "ð "˜ñ "ô "ð "ðð ð ð ð �Mñ ô ð ð"ð "ð "ð "ð "˜ñ "ô "ð "ð&ð &ð &ð &ð &˜ñ &ô &ð &ðð ð ð ð �mñ ô ð ð
ð ð ð ð �mñ ô ð ð ð r   