strands.session.file_session_manager
File-based session manager for local filesystem storage.
FileSessionManager
Section titled “FileSessionManager”class FileSessionManager(RepositorySessionManager, SessionRepository)Defined in: src/strands/session/file_session_manager.py:28
File-based session manager for local filesystem storage.
Creates the following filesystem structure for the session storage:
/<sessions_dir>/└── session_<session_id>/ ├── session.json # Session metadata └── agents/ └── agent_<agent_id>/ ├── agent.json # Agent metadata └── messages/ ├── message_<id1>.json └── message_<id2>.json__init__
Section titled “__init__”def __init__(session_id: str, storage_dir: str | None = None, **kwargs: Any)Defined in: src/strands/session/file_session_manager.py:45
Initialize FileSession with filesystem storage.
Arguments:
session_id- ID for the session. ID is not allowed to contain path separators (e.g., a/b).storage_dir- Directory for local filesystem storage. Defaults to a user-private~/.strands/sessions/directory.**kwargs- Additional keyword arguments for future extensibility.
create_session
Section titled “create_session”def create_session(session: Session, **kwargs: Any) -> SessionDefined in: src/strands/session/file_session_manager.py:164
Create a new session.
read_session
Section titled “read_session”def read_session(session_id: str, **kwargs: Any) -> Session | NoneDefined in: src/strands/session/file_session_manager.py:182
Read session data.
delete_session
Section titled “delete_session”def delete_session(session_id: str, **kwargs: Any) -> NoneDefined in: src/strands/session/file_session_manager.py:191
Delete session and all associated data.
create_agent
Section titled “create_agent”def create_agent(session_id: str, session_agent: SessionAgent, **kwargs: Any) -> NoneDefined in: src/strands/session/file_session_manager.py:199
Create a new agent in the session.
read_agent
Section titled “read_agent”def read_agent(session_id: str, agent_id: str, **kwargs: Any) -> SessionAgent | NoneDefined in: src/strands/session/file_session_manager.py:211
Read agent data.
update_agent
Section titled “update_agent”def update_agent(session_id: str, session_agent: SessionAgent, **kwargs: Any) -> NoneDefined in: src/strands/session/file_session_manager.py:220
Update agent data.
create_message
Section titled “create_message”def create_message(session_id: str, agent_id: str, session_message: SessionMessage, **kwargs: Any) -> NoneDefined in: src/strands/session/file_session_manager.py:231
Create a new message for the agent.
read_message
Section titled “read_message”def read_message(session_id: str, agent_id: str, message_id: int, **kwargs: Any) -> SessionMessage | NoneDefined in: src/strands/session/file_session_manager.py:241
Read message data.
update_message
Section titled “update_message”def update_message(session_id: str, agent_id: str, session_message: SessionMessage, **kwargs: Any) -> NoneDefined in: src/strands/session/file_session_manager.py:249
Update message data.
list_messages
Section titled “list_messages”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/file_session_manager.py:261
List messages for 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/file_session_manager.py:301
Create a new multiagent state in 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/file_session_manager.py:311
Read multi-agent state from filesystem.
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/file_session_manager.py:318
Update multi-agent state from filesystem.