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
« 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."""
3from __future__ import annotations
5import importlib.metadata
7from lexigram.ai.prompt.rendering.engine import RenderFormat
9try:
10 __version__: str = importlib.metadata.version("lexigram-ai-prompt")
11except ImportError:
12 __version__ = "0.0.0"
15# -- Environment Variable Prefixes -------------------------------------------
16ENV_PREFIX: str = "LEX_AI_PROMPT__"
17"""Environment variable prefix for Prompt configuration."""
19ENV_NESTED_DELIMITER: str = "__"
20"""Delimiter for nested env var keys."""
23# ---------------------------------------------------------------------------
24# Rendering formats
25# ---------------------------------------------------------------------------
27DEFAULT_RENDER_FORMAT: RenderFormat = RenderFormat.F_STRING
28"""Render format applied when a template or configuration doesn't specify one."""
30# ---------------------------------------------------------------------------
31# Limits
32# ---------------------------------------------------------------------------
34MAX_PROMPT_VERSIONS: int = 100
36MAX_RENDERED_PROMPT_LENGTH: int = 64_000
38# ---------------------------------------------------------------------------
39# Error codes
40# ---------------------------------------------------------------------------
42ERROR_TEMPLATE_NOT_FOUND: str = "LEX_PROMPT_001"
43ERROR_VARIABLE_MISSING: str = "LEX_PROMPT_002"
44ERROR_RENDER_FAILED: str = "LEX_PROMPT_003"
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]