LockedIn / app /core /errors.py
JermaineAI's picture
Add service error types
38c99d5
raw
history blame contribute delete
595 Bytes
from dataclasses import dataclass
from typing import Any
ROADMAP_GENERATION_FAILED = "ROADMAP_GENERATION_FAILED"
RESOURCE_SEARCH_FAILED = "RESOURCE_SEARCH_FAILED"
MODEL_PROVIDER_FAILED = "MODEL_PROVIDER_FAILED"
SCHEMA_VALIDATION_FAILED = "SCHEMA_VALIDATION_FAILED"
LINK_VALIDATION_FAILED = "LINK_VALIDATION_FAILED"
CACHE_ERROR = "CACHE_ERROR"
@dataclass
class ServiceError(Exception):
code: str
message: str
stage: str
retryable: bool = True
debug: dict[str, Any] | None = None
def __str__(self) -> str:
return f"{self.code} at {self.stage}: {self.message}"