MCPcopy Create free account
hub / github.com/RightNow-AI/rightnow-cli / SessionManager

Class SessionManager

rightnow_cli/sessions/manager.py:25–544  ·  view source on GitHub ↗

Manages session lifecycle and operations. Provides high-level interface for: - Creating and managing sessions - Saving and loading sessions - Forking sessions - Session cleanup - Auto-save

Source from the content-addressed store, hash-verified

23
24
25class SessionManager:
26 """
27 Manages session lifecycle and operations.
28
29 Provides high-level interface for:
30 - Creating and managing sessions
31 - Saving and loading sessions
32 - Forking sessions
33 - Session cleanup
34 - Auto-save
35 """
36
37 def __init__(self, working_dir: Path, agent_name: str = "general"):
38 """
39 Initialize session manager.
40
41 Args:
42 working_dir: Working directory
43 agent_name: Current agent name
44 """
45 self.working_dir = Path(working_dir)
46 self.agent_name = agent_name
47
48 # Storage
49 config_dir = self.working_dir / ".rightnow"
50 self.storage = SessionStorage(config_dir)
51
52 # Current session
53 self.current_session: Optional[Session] = None
54
55 # Auto-save
56 self.auto_save_enabled = False
57 self.auto_save_interval = 60 # seconds
58 self.auto_save_thread: Optional[threading.Thread] = None
59 self._stop_auto_save = threading.Event()
60
61 def create_session(
62 self,
63 name: Optional[str] = None,
64 messages: Optional[List[Any]] = None,
65 description: str = ""
66 ) -> Session:
67 """
68 Create new session.
69
70 Args:
71 name: Session name (auto-generated if None)
72 messages: Initial messages
73 description: Optional description
74
75 Returns:
76 New session
77 """
78 # Generate ID
79 session_id = Session.generate_id()
80
81 # Auto-generate name if not provided
82 if not name:

Callers 3

load_latest_sessionFunction · 0.85
__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected