initial commit
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
"""
|
||||
Shared application state for the web frontend.
|
||||
"""
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Any, List, Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
class AppState:
|
||||
"""Singleton-ish shared state for the web application."""
|
||||
|
||||
memory_manager: Optional[Any] = None
|
||||
amd_optimizer: Optional[Any] = None
|
||||
pipeline: Optional[Any] = None
|
||||
broker: Optional[Any] = None
|
||||
model: Optional[Any] = None
|
||||
trainer: Optional[Any] = None
|
||||
broadcast_task: Optional[Any] = None
|
||||
|
||||
connections: List[Any] = field(default_factory=list)
|
||||
model_status: str = "untrained"
|
||||
training_active: bool = False
|
||||
trading_active: bool = False
|
||||
logs: List[str] = field(default_factory=list)
|
||||
|
||||
def add_log(self, message: str):
|
||||
"""Add a log entry (capped at 500 lines)."""
|
||||
self.logs.append(message)
|
||||
if len(self.logs) > 500:
|
||||
self.logs = self.logs[-500:]
|
||||
Reference in New Issue
Block a user