Skip to content

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

@abstractmethod
def create_session(session: Session, **kwargs: Any) -> Session

Defined in: src/strands/session/session_repository.py:16

Create a new Session.

read_session

@abstractmethod
def read_session(session_id: str, **kwargs: Any) -> Session | None

Defined in: src/strands/session/session_repository.py:20

Read a Session.

create_agent

@abstractmethod
def create_agent(session_id: str, session_agent: SessionAgent,
**kwargs: Any) -> None

Defined in: src/strands/session/session_repository.py:24

Create a new Agent in a Session.

read_agent

@abstractmethod
def read_agent(session_id: str, agent_id: str,
**kwargs: Any) -> SessionAgent | None

Defined in: src/strands/session/session_repository.py:28

Read an Agent.

update_agent

@abstractmethod
def update_agent(session_id: str, session_agent: SessionAgent,
**kwargs: Any) -> None

Defined in: src/strands/session/session_repository.py:32

Update an Agent.

create_message

@abstractmethod
def create_message(session_id: str, agent_id: str,
session_message: SessionMessage, **kwargs: Any) -> None

Defined in: src/strands/session/session_repository.py:36

Create a new Message for the Agent.

read_message

@abstractmethod
def read_message(session_id: str, agent_id: str, message_id: int,
**kwargs: Any) -> SessionMessage | None

Defined in: src/strands/session/session_repository.py:40

Read a Message.

update_message

@abstractmethod
def update_message(session_id: str, agent_id: str,
session_message: SessionMessage, **kwargs: Any) -> None

Defined 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

@abstractmethod
def 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) -> None

Defined 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] | None

Defined 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) -> None

Defined in: src/strands/session/session_repository.py:64

Update the MultiAgent state for the Session.