Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-guard/src/lexigram/ai/guard/constants.py: 90%
20 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"""GuardProtocol constants — thresholds, error codes, and metric names."""
3from __future__ import annotations
5import importlib.metadata
7try:
8 __version__: str = importlib.metadata.version("lexigram-ai-guard")
9except ImportError:
10 __version__ = "0.0.0"
13# -- Environment Variable Prefixes -------------------------------------------
14ENV_PREFIX: str = "LEX_AI_GUARD__"
15"""Environment variable prefix for Guard configuration."""
17ENV_NESTED_DELIMITER: str = "__"
18"""Delimiter for nested env var keys."""
21# ---------------------------------------------------------------------------
22# Default safety thresholds
23# ---------------------------------------------------------------------------
25# Default confidence threshold above which an input is flagged as unsafe.
26DEFAULT_DETECTION_THRESHOLD: float = 0.85
28# Maximum allowed prompt length in characters before truncation.
29DEFAULT_MAX_INPUT_LENGTH: int = 32_768
31# Default maximum output length in characters.
32DEFAULT_MAX_OUTPUT_LENGTH: int = 16_384
34# ---------------------------------------------------------------------------
35# Error codes
36# ---------------------------------------------------------------------------
38ERROR_INPUT_GUARD_VIOLATION: str = "LEX_GUARD_001"
39ERROR_OUTPUT_GUARD_VIOLATION: str = "LEX_GUARD_002"
40ERROR_GUARD_CONFIG_INVALID: str = "LEX_GUARD_003"
42# ---------------------------------------------------------------------------
43# MetricProtocol names
44# ---------------------------------------------------------------------------
46METRIC_GUARD_CHECKS_TOTAL: str = "ai.guard.checks.total"
47METRIC_GUARD_VIOLATIONS_TOTAL: str = "ai.guard.violations.total"
48METRIC_GUARD_CHECK_DURATION_MS: str = "ai.guard.check.duration_ms"
50__all__ = [
51 "DEFAULT_DETECTION_THRESHOLD",
52 "DEFAULT_MAX_INPUT_LENGTH",
53 "DEFAULT_MAX_OUTPUT_LENGTH",
54 "ENV_NESTED_DELIMITER",
55 "ENV_PREFIX",
56 "ERROR_GUARD_CONFIG_INVALID",
57 "ERROR_INPUT_GUARD_VIOLATION",
58 "ERROR_OUTPUT_GUARD_VIOLATION",
59 "METRIC_GUARD_CHECKS_TOTAL",
60 "METRIC_GUARD_CHECK_DURATION_MS",
61 "METRIC_GUARD_VIOLATIONS_TOTAL",
62 "__version__",
63]