
    5i"                    l    d 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y)z
Provider-specific exception classes.

All provider errors inherit from ProviderError, which formats messages
with the provider name prefix for easy identification in logs.
    )annotationsc                  $     e Zd ZdZd fdZ xZS )ProviderErrorz'Base exception for all provider errors.c                >    || _         t        | 	  d| d|        y )N[z] )providersuper__init__)selfr   message	__class__s      9/root/.openclaw/workspace/visionaryfx/providers/errors.pyr
   zProviderError.__init__   s$     1XJb	23    )r   strr   r   __name__
__module____qualname____doc__r
   __classcell__r   s   @r   r   r      s    14 4r   r   c                  $     e Zd ZdZd fdZ xZS )ProviderUnavailableErrorzCProvider cannot be used (missing credentials, not installed, etc.).c                :    || _         t        | 	  |d|        y )NzProvider unavailable: )reasonr	   r
   )r   r   r   r   s      r   r
   z!ProviderUnavailableError.__init__   s!    %;F8#DEr   )r   r   r   r   r   r   s   @r   r   r      s    MF Fr   r   c                  &     e Zd ZdZdd fdZ xZS )ProviderGenerationErrorz#Generation failed during execution.c                H    || _         || _        t        |   |d|        y )NzGeneration failed: )r   originalr	   r
   )r   r   r   r   r   s       r   r
   z ProviderGenerationError.__init__   s(     %8#ABr   )N)r   r   r   r   r   zException | Noner   r   s   @r   r   r      s    -C Cr   r   c                  $     e Zd ZdZd fdZ xZS )ProviderNotConfiguredErrorz1Provider is selected but not properly configured.c                X    || _         t        | 	  |ddj                  |              y )NzMissing configuration: z, )missingr	   r
   join)r   r   r#   r   s      r   r
   z#ProviderNotConfiguredError.__init__'   s+    %<TYYw=O<P#QRr   )r   r   r#   z	list[str]r   r   s   @r   r!   r!   $   s    ;S Sr   r!   N)r   
__future__r   	Exceptionr   r   r   r!    r   r   <module>r(      sE    #4I 4F} FCm CS Sr   