| class G4FError(Exception): | |
| """Base exception for all g4f-related errors.""" | |
| pass | |
| class ProviderNotFoundError(G4FError): | |
| """Raised when a provider is not found.""" | |
| pass | |
| class ProviderNotWorkingError(G4FError): | |
| """Raised when the provider is unavailable or failing.""" | |
| pass | |
| class StreamNotSupportedError(G4FError): | |
| """Raised when the requested provider does not support streaming.""" | |
| pass | |
| class ModelNotFoundError(G4FError): | |
| """Raised when a model is not found.""" | |
| pass | |
| class ModelNotAllowedError(G4FError): | |
| """Raised when a model is not allowed by configuration or policy.""" | |
| pass | |
| class RetryProviderError(G4FError): | |
| """Raised to retry with another provider.""" | |
| pass | |
| class RetryNoProviderError(G4FError): | |
| """Raised when there are no providers left to retry.""" | |
| pass | |
| class VersionNotFoundError(G4FError): | |
| """Raised when the version could not be determined.""" | |
| pass | |
| class MissingRequirementsError(G4FError): | |
| """Raised when a required dependency is missing.""" | |
| pass | |
| class NestAsyncioError(MissingRequirementsError): | |
| """Raised when 'nest_asyncio' is missing.""" | |
| pass | |
| class MissingAuthError(G4FError): | |
| """Raised when authentication details are missing.""" | |
| pass | |
| class PaymentRequiredError(G4FError): | |
| """Raised when a provider requires payment before access.""" | |
| pass | |
| class NoMediaResponseError(G4FError): | |
| """Raised when a media request returns no response.""" | |
| pass | |
| class ResponseError(G4FError): | |
| """Base class for response-related errors.""" | |
| pass | |
| class ResponseStatusError(ResponseError): | |
| """Raised when an HTTP response returns a non-success status code.""" | |
| pass | |
| class CloudflareError(ResponseStatusError): | |
| """Raised when a request is blocked by Cloudflare.""" | |
| pass | |
| class RateLimitError(ResponseStatusError): | |
| """Raised when the provider's rate limit has been exceeded.""" | |
| pass | |
| class NoValidHarFileError(G4FError): | |
| """Raised when no valid HAR file is found.""" | |
| pass | |
| class TimeoutError(G4FError): | |
| """Raised for timeout errors during API requests.""" | |
| pass | |
| class ConversationLimitError(G4FError): | |
| """Raised when a conversation limit is reached on the provider.""" | |
| pass |