Source code for agent.stores.base

"""
Base session store interface.
"""

from abc import ABC, abstractmethod
from typing import Any


[docs] class SessionStore(ABC): """ Abstract base class for session storage. Session stores persist conversation history across sessions. """
[docs] @abstractmethod def save(self, session_id: str, data: dict[str, Any]) -> None: """ Save session data. Args: session_id: Unique session identifier data: Session data to save """ ...
[docs] @abstractmethod def load(self, session_id: str) -> dict[str, Any] | None: """ Load session data. Args: session_id: Unique session identifier Returns: Session data if found, None otherwise """ ...
[docs] @abstractmethod def delete(self, session_id: str) -> bool: """ Delete session data. Args: session_id: Unique session identifier Returns: True if deleted, False if not found """ ...
[docs] @abstractmethod def list_sessions(self) -> list[str]: """ List all session IDs. Returns: List of session identifiers """ ...
[docs] def exists(self, session_id: str) -> bool: """ Check if a session exists. Args: session_id: Unique session identifier Returns: True if session exists """ return self.load(session_id) is not None