strands.session.repository_session_manager
Repository session manager implementation.
RepositorySessionManager
Section titled “RepositorySessionManager”class RepositorySessionManager(SessionManager[LocalAgent])Defined in: src/strands/session/repository_session_manager.py:27
Session manager for persisting agents in a SessionRepository.
This manager uses a :class:SessionRepository (a structured per-message CRUD interface),
not the unified :class:~strands.storage.storage.Storage protocol. It does not resolve
from the agent-level storage parameter. For snapshot-based persistence that integrates
with agent-level storage, use :class:~strands.session.snapshot_session_manager.SnapshotSessionManager.
__init__
Section titled “__init__”def __init__(session_id: str, session_repository: SessionRepository, **kwargs: Any)Defined in: src/strands/session/repository_session_manager.py:39
Initialize the RepositorySessionManager.
If no session with the specified session_id exists yet, it will be created in the session_repository.
Arguments:
session_id- ID to use for the session. A new session with this id will be created if it does not exist in the repository yetsession_repository- Underlying session repository to use to store the sessions state.**kwargs- Additional keyword arguments for future extensibility.
append_message
Section titled “append_message”def append_message(message: Message, agent: "LocalAgent", **kwargs: Any) -> NoneDefined in: src/strands/session/repository_session_manager.py:77
Append a message to the agent’s session.
Arguments:
message- Message to add to the agent in the sessionagent- Agent to append the message to**kwargs- Additional keyword arguments for future extensibility.
redact_latest_message
Section titled “redact_latest_message”def redact_latest_message(redact_message: Message, agent: "LocalAgent", **kwargs: Any) -> NoneDefined in: src/strands/session/repository_session_manager.py:96
Redact the latest message appended to the session.
Arguments:
redact_message- New message to use that contains the redact contentagent- Agent to apply the message redaction to**kwargs- Additional keyword arguments for future extensibility.
sync_agent
Section titled “sync_agent”def sync_agent(agent: "LocalAgent", **kwargs: Any) -> NoneDefined in: src/strands/session/repository_session_manager.py:110
Serialize and update the agent into the session repository.
For Agent, only updates if state or internal state has changed. BidiAgent is written on every sync, preserving its existing persistence behavior.
Arguments:
agent- Agent to sync to the session.**kwargs- Additional keyword arguments for future extensibility.
initialize
Section titled “initialize”def initialize(agent: "LocalAgent", **kwargs: Any) -> NoneDefined in: src/strands/session/repository_session_manager.py:182
Initialize an agent with a session.
Arguments:
agent- Agent to initialize from the session**kwargs- Additional keyword arguments for future extensibility.
sync_multi_agent
Section titled “sync_multi_agent”def sync_multi_agent(source: "MultiAgentBase", **kwargs: Any) -> NoneDefined in: src/strands/session/repository_session_manager.py:359
Serialize and update the multi-agent state into the session repository.
Arguments:
source- Multi-agent source object to sync to the session.**kwargs- Additional keyword arguments for future extensibility.
initialize_multi_agent
Section titled “initialize_multi_agent”def initialize_multi_agent(source: "MultiAgentBase", **kwargs: Any) -> NoneDefined in: src/strands/session/repository_session_manager.py:368
Initialize multi-agent state from the session repository.
Arguments:
source- Multi-agent source object to restore state into**kwargs- Additional keyword arguments for future extensibility.