Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-prompt/src/lexigram/ai/prompt/constants.py: 89%

19 statements  

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

1"""Prompt constants — rendering formats, limits, and error codes.""" 

2 

3from __future__ import annotations 

4 

5import importlib.metadata 

6 

7from lexigram.ai.prompt.rendering.engine import RenderFormat 

8 

9try: 

10 __version__: str = importlib.metadata.version("lexigram-ai-prompt") 

11except ImportError: 

12 __version__ = "0.0.0" 

13 

14 

15# -- Environment Variable Prefixes ------------------------------------------- 

16ENV_PREFIX: str = "LEX_AI_PROMPT__" 

17"""Environment variable prefix for Prompt configuration.""" 

18 

19ENV_NESTED_DELIMITER: str = "__" 

20"""Delimiter for nested env var keys.""" 

21 

22 

23# --------------------------------------------------------------------------- 

24# Rendering formats 

25# --------------------------------------------------------------------------- 

26 

27DEFAULT_RENDER_FORMAT: RenderFormat = RenderFormat.F_STRING 

28"""Render format applied when a template or configuration doesn't specify one.""" 

29 

30# --------------------------------------------------------------------------- 

31# Limits 

32# --------------------------------------------------------------------------- 

33 

34MAX_PROMPT_VERSIONS: int = 100 

35 

36MAX_RENDERED_PROMPT_LENGTH: int = 64_000 

37 

38# --------------------------------------------------------------------------- 

39# Error codes 

40# --------------------------------------------------------------------------- 

41 

42ERROR_TEMPLATE_NOT_FOUND: str = "LEX_PROMPT_001" 

43ERROR_VARIABLE_MISSING: str = "LEX_PROMPT_002" 

44ERROR_RENDER_FAILED: str = "LEX_PROMPT_003" 

45 

46__all__ = [ 

47 "DEFAULT_RENDER_FORMAT", 

48 "ENV_NESTED_DELIMITER", 

49 "ENV_PREFIX", 

50 "ERROR_RENDER_FAILED", 

51 "ERROR_TEMPLATE_NOT_FOUND", 

52 "ERROR_VARIABLE_MISSING", 

53 "MAX_PROMPT_VERSIONS", 

54 "MAX_RENDERED_PROMPT_LENGTH", 

55 "__version__", 

56]