mirror of
https://github.com/leonvanzyl/autocoder.git
synced 2026-01-30 14:22:04 +00:00
Add new features for interactive terminal sessions and dev server control: Terminal Component: - New Terminal.tsx component using xterm.js for full terminal emulation - WebSocket-based PTY communication with bidirectional I/O - Cross-platform support (Windows via winpty, Unix via built-in pty) - Auto-reconnection with exponential backoff - Fix duplicate WebSocket connection bug by checking CONNECTING state - Add manual close flag to prevent auto-reconnect race conditions - Add project tracking to avoid duplicate connects on initial activation Dev Server Management: - New DevServerControl.tsx for starting/stopping dev servers - DevServerManager service for subprocess management - WebSocket streaming of dev server output - Project configuration service for reading package.json scripts Backend Infrastructure: - Terminal router with WebSocket endpoint for PTY I/O - DevServer router for server lifecycle management - Terminal session manager with callback-based output streaming - Enhanced WebSocket schemas for terminal and dev server messages UI Integration: - New Terminal and Dev Server tabs in the main application - Updated DebugLogViewer with improved UI and functionality - Extended useWebSocket hook for terminal message handling Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37 lines
761 B
Python
37 lines
761 B
Python
"""
|
|
Backend Services
|
|
================
|
|
|
|
Business logic and process management services.
|
|
"""
|
|
|
|
from .process_manager import AgentProcessManager
|
|
from .project_config import (
|
|
clear_dev_command,
|
|
detect_project_type,
|
|
get_default_dev_command,
|
|
get_dev_command,
|
|
get_project_config,
|
|
set_dev_command,
|
|
)
|
|
from .terminal_manager import (
|
|
TerminalSession,
|
|
cleanup_all_terminals,
|
|
get_terminal_session,
|
|
remove_terminal_session,
|
|
)
|
|
|
|
__all__ = [
|
|
"AgentProcessManager",
|
|
"TerminalSession",
|
|
"cleanup_all_terminals",
|
|
"clear_dev_command",
|
|
"detect_project_type",
|
|
"get_default_dev_command",
|
|
"get_dev_command",
|
|
"get_project_config",
|
|
"get_terminal_session",
|
|
"remove_terminal_session",
|
|
"set_dev_command",
|
|
]
|