File size: 641 Bytes
33f435b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from typing import Optional, Dict, Any
from dataclasses import dataclass

@dataclass
class ProviderError(Exception):
    """Base class for Provider-related exceptions"""
    message: str
    details: Optional[Dict[str, Any]] = None

    def __str__(self):
        return f"{self.message} - Details: {self.details}" if self.details else self.message

class ResponseTimeoutError(ProviderError):
    pass

class ContentFilterError(ProviderError):
    pass

class BrowserError(ProviderError):
    pass

class MessageTooLongError(ProviderError):
    pass

class LoginPromptError(ProviderError):
    pass

class AuthError(ProviderError):
    pass