File size: 595 Bytes
38c99d5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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}"
|