refactor AgentRoom with RoomStatus enum