Skip to content

strands.session.file_session_manager

File-based session manager for local filesystem storage.

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:

Terminal window
/<sessions_dir>/
└── session_<session_id>/
├── session.json # Session metadata
└── agents/
└── agent_<agent_id>/
├── agent.json # Agent metadata
└── messages/
├── message_<id1>.json
└── message_<id2>.json
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.
def create_session(session: Session, **kwargs: Any) -> Session

Defined in: src/strands/session/file_session_manager.py:125

Create a new session.

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

Defined in: src/strands/session/file_session_manager.py:143

Read session data.

def delete_session(session_id: str, **kwargs: Any) -> None

Defined in: src/strands/session/file_session_manager.py:152

Delete session and all associated data.

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

Defined in: src/strands/session/file_session_manager.py:160

Create a new agent in the session.

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

Defined in: src/strands/session/file_session_manager.py:172

Read agent data.

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

Defined in: src/strands/session/file_session_manager.py:181

Update agent data.

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

Defined in: src/strands/session/file_session_manager.py:192

Create a new message for the agent.

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

Defined in: src/strands/session/file_session_manager.py:202

Read message data.

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

Defined in: src/strands/session/file_session_manager.py:210

Update message data.

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.

def create_multi_agent(session_id: str, multi_agent: "MultiAgentBase",
**kwargs: Any) -> None

Defined in: src/strands/session/file_session_manager.py:262

Create a new multiagent state in the session.

def read_multi_agent(session_id: str, multi_agent_id: str,
**kwargs: Any) -> dict[str, Any] | None

Defined in: src/strands/session/file_session_manager.py:272

Read multi-agent state from filesystem.

def update_multi_agent(session_id: str, multi_agent: "MultiAgentBase",
**kwargs: Any) -> None

Defined in: src/strands/session/file_session_manager.py:279

Update multi-agent state from filesystem.