Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-feedback/src/lexigram/ai/feedback/exceptions.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-25 07:19 +0800

1"""Exception hierarchy for AI Feedback.""" 

2 

3from __future__ import annotations 

4 

5from lexigram.contracts.ai.exceptions import AIError 

6 

7 

8class FeedbackError(AIError): 

9 """Base exception for all feedback-related errors.""" 

10 

11 _code: str = "LEX_ERR_FEED_001" 

12 

13 

14class FeedbackProcessingError(FeedbackError): 

15 """Raised when a feedback processor fails.""" 

16 

17 _code: str = "LEX_ERR_FEED_002" 

18 

19 

20class FeedbackValidationError(FeedbackError): 

21 """Raised when feedback data fails validation.""" 

22 

23 _code: str = "LEX_ERR_FEED_003" 

24 

25 

26class FeedbackAuthorizationError(FeedbackError): 

27 """Raised when the endpoint's authorization callback denies a submission.""" 

28 

29 _code: str = "LEX_ERR_FEED_004" 

30 

31 

32class FeedbackTooLargeError(FeedbackValidationError): 

33 """Raised when a payload exceeds MAX_FEEDBACK_TEXT_LENGTH or MAX_CONTEXT_SIZE.""" 

34 

35 _code: str = "LEX_ERR_FEED_005" 

36 

37 

38__all__ = [ 

39 "FeedbackAuthorizationError", 

40 "FeedbackError", 

41 "FeedbackProcessingError", 

42 "FeedbackTooLargeError", 

43 "FeedbackValidationError", 

44]