Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-prompt/src/lexigram/ai/prompt/exceptions.py: 100%
17 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"""Exceptions for the lexigram-ai-prompt package."""
3from __future__ import annotations
5from lexigram.contracts.ai.exceptions import AIError as _ContractsAIError
8class PromptError(_ContractsAIError):
9 """Base exception for all prompt-related errors."""
11 _code: str = "LEX_ERR_PROMPT_001"
14class PromptRenderError(PromptError):
15 """Raised when a template cannot be rendered.
17 Common causes: missing required variable, type mismatch, Jinja2 syntax error.
18 """
20 _code: str = "LEX_ERR_PROMPT_002"
23class PromptValidationError(PromptError):
24 """Raised when a variable fails validation (type, length, allowed values)."""
26 _code: str = "LEX_ERR_PROMPT_003"
29class PromptNotFoundError(PromptError):
30 """Raised when a named template is not found in the registry."""
32 _code: str = "LEX_ERR_PROMPT_004"
35class PromptVersionError(PromptError):
36 """Raised on version conflicts or invalid rollback targets."""
38 _code: str = "LEX_ERR_PROMPT_005"
41class PromptConfigError(PromptError):
42 """Raised when the prompt configuration is invalid."""
44 _code: str = "LEX_ERR_PROMPT_006"
47class OptimizationError(PromptError):
48 """Raised when prompt optimization fails."""
50 _code: str = "LEX_ERR_PROMPT_007"
53__all__ = [
54 "OptimizationError",
55 "PromptConfigError",
56 "PromptError",
57 "PromptNotFoundError",
58 "PromptRenderError",
59 "PromptValidationError",
60 "PromptVersionError",
61]