strands.session.session_repository
Session repository interface for agent session management.
SessionRepository
class SessionRepository(ABC)Defined in: src/strands/session/session_repository.py:12
Abstract repository for creating, reading, and updating Sessions, AgentSessions, and AgentMessages.
create_session
@abstractmethoddef create_session(session: Session, **kwargs: Any) -> SessionDefined in: src/strands/session/session_repository.py:16
Create a new Session.
read_session
@abstractmethoddef read_session(session_id: str, **kwargs: Any) -> Session | NoneDefined in: src/strands/session/session_repository.py:20
Read a Session.
create_agent
@abstractmethoddef create_agent(session_id: str, session_agent: SessionAgent, **kwargs: Any) -> NoneDefined in: src/strands/session/session_repository.py:24
Create a new Agent in a Session.
read_agent
@abstractmethoddef read_agent(session_id: str, agent_id: str, **kwargs: Any) -> SessionAgent | NoneDefined in: src/strands/session/session_repository.py:28
Read an Agent.
update_agent
@abstractmethoddef update_agent(session_id: str, session_agent: SessionAgent, **kwargs: Any) -> NoneDefined in: src/strands/session/session_repository.py:32
Update an Agent.
create_message
@abstractmethoddef create_message(session_id: str, agent_id: str, session_message: SessionMessage, **kwargs: Any) -> NoneDefined in: src/strands/session/session_repository.py:36
Create a new Message for the Agent.
read_message
@abstractmethoddef read_message(session_id: str, agent_id: str, message_id: int, **kwargs: Any) -> SessionMessage | NoneDefined in: src/strands/session/session_repository.py:40
Read a Message.
update_message
@abstractmethoddef update_message(session_id: str, agent_id: str, session_message: SessionMessage, **kwargs: Any) -> NoneDefined in: src/strands/session/session_repository.py:44
Update a Message.
A message is usually only updated when some content is redacted due to a guardrail.
list_messages
@abstractmethoddef list_messages(session_id: str, agent_id: str, limit: int | None = None, offset: int = 0, **kwargs: Any) -> list[SessionMessage]Defined in: src/strands/session/session_repository.py:51
List Messages from an Agent with pagination.
create_multi_agent
def create_multi_agent(session_id: str, multi_agent: "MultiAgentBase", **kwargs: Any) -> NoneDefined in: src/strands/session/session_repository.py:56
Create a new MultiAgent state for the Session.
read_multi_agent
def read_multi_agent(session_id: str, multi_agent_id: str, **kwargs: Any) -> dict[str, Any] | NoneDefined in: src/strands/session/session_repository.py:60
Read the MultiAgent state for the Session.
update_multi_agent
def update_multi_agent(session_id: str, multi_agent: "MultiAgentBase", **kwargs: Any) -> NoneDefined in: src/strands/session/session_repository.py:64
Update the MultiAgent state for the Session.