Coverage for /home/admin/Documents/AI/applications/lexigram-dev/lexigram/experimental/ai/lexigram-ai-memory/src/lexigram/ai/memory/constants.py: 93%
28 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"""Constants for lexigram-ai-memory."""
3from __future__ import annotations
5import importlib.metadata
7try:
8 __version__: str = importlib.metadata.version("lexigram-ai-memory")
9except ImportError:
10 __version__ = "0.0.0"
13# -- Environment Variable Prefixes -------------------------------------------
15ENV_PREFIX: str = "LEX_AI_MEMORY__"
16ENV_NESTED_DELIMITER: str = "__"
18# -- Working Memory Defaults -------------------------------------------------
20DEFAULT_SYSTEM_PROMPT_TOKENS: int = 512
21DEFAULT_RECENT_TURNS_FRACTION: float = 0.40
22DEFAULT_EPISODIC_FRACTION: float = 0.30
23DEFAULT_SEMANTIC_FRACTION: float = 0.20
24DEFAULT_TOOL_DESC_FRACTION: float = 0.10
25DEFAULT_MAX_RECENT_TURNS: int = 20
27# -- Episodic Memory Defaults ------------------------------------------------
29DEFAULT_EPISODIC_TOP_K: int = 10
30DEFAULT_RECENCY_WEIGHT: float = 0.3
31DEFAULT_IMPORTANCE_WEIGHT: float = 0.2
32DEFAULT_RELEVANCE_WEIGHT: float = 0.5
33DEFAULT_EPISODIC_TTL_SECONDS: int = 0 # 0 = no expiry
35# -- Semantic Memory Defaults ------------------------------------------------
37DEFAULT_MIN_CONFIDENCE: float = 0.5
38DEFAULT_MAX_FACTS_PER_ENTITY: int = 100
40# -- Consolidation Defaults --------------------------------------------------
42DEFAULT_CONSOLIDATION_INTERVAL_S: float = 3600.0
43DEFAULT_CONSOLIDATION_AGE_THRESHOLD_HOURS: float = 24.0
44DEFAULT_CONSOLIDATION_IMPORTANCE_PRUNE: float = 0.1
45DEFAULT_CONSOLIDATION_BATCH_SIZE: int = 100
47# -- Root Config Defaults ----------------------------------------------------
49DEFAULT_BACKEND: str = "in_memory"
50DEFAULT_TTL_SECONDS: int = 86400 * 30 # 30 days
52__all__ = [
53 "DEFAULT_BACKEND",
54 "DEFAULT_CONSOLIDATION_AGE_THRESHOLD_HOURS",
55 "DEFAULT_CONSOLIDATION_BATCH_SIZE",
56 "DEFAULT_CONSOLIDATION_IMPORTANCE_PRUNE",
57 "DEFAULT_CONSOLIDATION_INTERVAL_S",
58 "DEFAULT_EPISODIC_FRACTION",
59 "DEFAULT_EPISODIC_TOP_K",
60 "DEFAULT_EPISODIC_TTL_SECONDS",
61 "DEFAULT_IMPORTANCE_WEIGHT",
62 "DEFAULT_MAX_FACTS_PER_ENTITY",
63 "DEFAULT_MAX_RECENT_TURNS",
64 "DEFAULT_MIN_CONFIDENCE",
65 "DEFAULT_RECENCY_WEIGHT",
66 "DEFAULT_RECENT_TURNS_FRACTION",
67 "DEFAULT_RELEVANCE_WEIGHT",
68 "DEFAULT_SEMANTIC_FRACTION",
69 "DEFAULT_SYSTEM_PROMPT_TOKENS",
70 "DEFAULT_TOOL_DESC_FRACTION",
71 "DEFAULT_TTL_SECONDS",
72 "ENV_NESTED_DELIMITER",
73 "ENV_PREFIX",
74 "__version__",
75]