strands.session.session_repository
Session repository interface for agent session management.
SessionRepository
Section titled “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
Section titled “create_session”@abstractmethoddef create_session(session: Session, **kwargs: Any) -> SessionDefined in: src/strands/session/session_repository.py:16
Create a new Session.
read_session
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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
Section titled “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.