Information about a Data Agent session.
| 34 | |
| 35 | @dataclass |
| 36 | class SessionInfo: |
| 37 | """Information about a Data Agent session.""" |
| 38 | |
| 39 | agent_id: str |
| 40 | session_id: str |
| 41 | status: SessionStatus = SessionStatus.CREATING |
| 42 | database_id: Optional[str] = None |
| 43 | workspace_id: Optional[str] = None |
| 44 | created_at: datetime = field(default_factory=datetime.now) |
| 45 | last_used_at: datetime = field(default_factory=datetime.now) |
| 46 | request_id: Optional[str] = None |
| 47 | |
| 48 | def is_running(self) -> bool: |
| 49 | """Check if session is in an active/usable state (RUNNING, IDLE or WAIT_INPUT).""" |
| 50 | return self.status in (SessionStatus.RUNNING, SessionStatus.IDLE, SessionStatus.WAIT_INPUT) |
| 51 | |
| 52 | def update_last_used(self) -> None: |
| 53 | """Update the last used timestamp.""" |
| 54 | self.last_used_at = datetime.now() |
| 55 | |
| 56 | |
| 57 | @dataclass |
no outgoing calls
no test coverage detected