dheraingoud's picture
fix(compatibility): resolve python 3.12 compatibility NameErrors and SyntaxErrors
05e7f80
Raw
History Blame Contribute Delete
1.18 kB
"""Deterministic application and readiness errors."""
from collections.abc import Iterable
from free_claude_code.core.failures import FailureKind
class ApplicationError(Exception):
"""Base for request/readiness failures, not finalized upstream failures."""
kind: FailureKind
status_code: int
def __init__(self, message: str) -> None:
super().__init__(message)
self.message = message
class InvalidRequestError(ApplicationError):
"""The accepted request cannot be executed deterministically."""
kind = FailureKind.INVALID_REQUEST
status_code = 400
class UnknownProviderError(InvalidRequestError):
"""The configured provider identifier is not registered."""
@classmethod
def for_provider(
cls, provider_id: str, supported_provider_ids: Iterable[str]
) -> "UnknownProviderError":
supported = "', '".join(supported_provider_ids)
return cls(f"Unknown provider_type: '{provider_id}'. Supported: '{supported}'")
class ApplicationUnavailableError(ApplicationError):
"""The application cannot currently provide a request runtime."""
kind = FailureKind.UNAVAILABLE
status_code = 503