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:27
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:44
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 temp dir).**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:125
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:143
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:152
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:160
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:172
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:181
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:192
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:202
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:210
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:222
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:262
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:272
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:279
Update multi-agent state from filesystem.