b55300ff6f
- Add TerminalSessionModel DB table with instance_id FK, name, status, created_at, last_activity_at, closed_at columns - Add Alembic migration for terminal_sessions table - Refactor TerminalManager to use composite key (instance_id, session_id) supporting up to 5 concurrent sessions per instance - Add create_session, get_session, get_sessions_for_instance, close_session - Preserve get_or_create_session for backward compatibility (default session) - Fix attach_websocket to only close sockets within same session - Add name (auto-generated 'Session N') and status tracking to TerminalSession - Add 7 unit tests for multi-session logic Quality gates: pytest (7 new passed, 174 total passed, 51 pre-existing failures)
27 lines
758 B
Python
27 lines
758 B
Python
from src.models.base import Base
|
|
from src.models.config_folder import ConfigFolder
|
|
from src.models.config_profile import ConfigProfile, ConfigProfileInclude
|
|
from src.models.git_repository import GitRepository
|
|
from src.models.project import Project
|
|
from src.models.ssh_key import SSHKey
|
|
from src.models.terminal_session import TerminalSessionModel
|
|
from src.models.tool_instance import ToolInstance
|
|
from src.models.tool_type import ToolType
|
|
from src.models.user import User
|
|
from src.models.user_config import UserConfig
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"ConfigFolder",
|
|
"ConfigProfile",
|
|
"ConfigProfileInclude",
|
|
"GitRepository",
|
|
"Project",
|
|
"SSHKey",
|
|
"TerminalSessionModel",
|
|
"ToolInstance",
|
|
"ToolType",
|
|
"User",
|
|
"UserConfig",
|
|
]
|