@@ -34,7 +34,7 @@ class SQLiteProvider(ConversationHistoryDB):
3434 - Session-based conversation retrieval
3535 """
3636
37- def __init__ (self , max_context_records : int = 20 , url : str = "" ) -> None :
37+ def __init__ (self , max_session_records : int = 20 , url : str = "" ) -> None :
3838 """Initialize the SQLModel SQLite database with LRU and time-based cleanup."""
3939 # Parse URL to get SQLite connection string
4040 connection_string = self ._parse_sqlite_url (url )
@@ -48,7 +48,7 @@ def __init__(self, max_context_records: int = 20, url: str = "") -> None:
4848 else {},
4949 )
5050
51- self ._max_context_records = max_context_records
51+ self ._max_session_records = max_session_records
5252
5353 # Initialize cleanup service for time-based cleanup
5454 self ._cleanup_service = ConversationCleanupService (engine = self .engine )
@@ -58,7 +58,7 @@ def __init__(self, max_context_records: int = 20, url: str = "") -> None:
5858
5959 logger .info (
6060 f"🗄️ SQLModel SQLite provider initialized: { connection_string } , "
61- f"max_records={ max_context_records } , retention_days={ self ._cleanup_service .retention_days } "
61+ f"max_records={ max_session_records } , retention_days={ self ._cleanup_service .retention_days } "
6262 )
6363
6464 def _parse_sqlite_url (self , url : str ) -> str :
@@ -88,8 +88,8 @@ def _cleanup_old_records(self) -> int:
8888
8989 def _cleanup_old_messages (self , session_id : str ) -> int :
9090 """
91- Remove old messages from a session using LRU (Least Recently Used) strategy.
92- Keeps only the most recent max_context_records messages per session.
91+ Remove old messages from a session using FIFO strategy.
92+ Keeps only the most recent max_session_records messages per session.
9393 """
9494 with Session (self .engine ) as session :
9595 # Count current messages in session
@@ -100,16 +100,16 @@ def _cleanup_old_messages(self, session_id: str) -> int:
100100 current_count = len (current_records )
101101
102102 logger .info (
103- f"🧹 LRU cleanup check for session { session_id } : { current_count } records "
104- f"(max: { self ._max_context_records } )"
103+ f"🧹 FIFO cleanup check for session { session_id } : { current_count } records "
104+ f"(max: { self ._max_session_records } )"
105105 )
106106
107- if current_count <= self ._max_context_records :
107+ if current_count <= self ._max_session_records :
108108 logger .info (" No cleanup needed - within limits" )
109109 return 0
110110
111- # Get oldest records to remove
112- records_to_remove = current_count - self ._max_context_records
111+ # Get oldest records to remove (FIFO)
112+ records_to_remove = current_count - self ._max_session_records
113113 oldest_stmt = (
114114 select (ConversationRecord )
115115 .where (ConversationRecord .session_id == session_id )
0 commit comments