Files
evotraders/backend/runtime/agent_runtime.py

29 lines
859 B
Python

from __future__ import annotations
from dataclasses import dataclass, field
from datetime import datetime, UTC
from typing import Any, Dict
@dataclass
class AgentRuntimeState:
agent_id: str
display_name: str | None = None
status: str = "idle"
last_session: str | None = None
last_updated: datetime = field(default_factory=lambda: datetime.now(UTC))
def update(self, status: str, session_key: str | None = None) -> None:
self.status = status
self.last_session = session_key
self.last_updated = datetime.now(UTC)
def to_dict(self) -> Dict[str, Any]:
return {
"agent_id": self.agent_id,
"display_name": self.display_name,
"status": self.status,
"last_session": self.last_session,
"last_updated": self.last_updated.isoformat(),
}