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
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 07:19 +0800
1"""Exception hierarchy for AI Feedback."""
3from __future__ import annotations
5from lexigram.contracts.ai.exceptions import AIError
8class FeedbackError(AIError):
9 """Base exception for all feedback-related errors."""
11 _code: str = "LEX_ERR_FEED_001"
14class FeedbackProcessingError(FeedbackError):
15 """Raised when a feedback processor fails."""
17 _code: str = "LEX_ERR_FEED_002"
20class FeedbackValidationError(FeedbackError):
21 """Raised when feedback data fails validation."""
23 _code: str = "LEX_ERR_FEED_003"
26class FeedbackAuthorizationError(FeedbackError):
27 """Raised when the endpoint's authorization callback denies a submission."""
29 _code: str = "LEX_ERR_FEED_004"
32class FeedbackTooLargeError(FeedbackValidationError):
33 """Raised when a payload exceeds MAX_FEEDBACK_TEXT_LENGTH or MAX_CONTEXT_SIZE."""
35 _code: str = "LEX_ERR_FEED_005"
38__all__ = [
39 "FeedbackAuthorizationError",
40 "FeedbackError",
41 "FeedbackProcessingError",
42 "FeedbackTooLargeError",
43 "FeedbackValidationError",
44]