Add dynamic analyst runtime updates and deployment guides
This commit is contained in:
@@ -8,6 +8,7 @@ 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))
|
||||
@@ -20,6 +21,7 @@ class AgentRuntimeState:
|
||||
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(),
|
||||
|
||||
@@ -102,12 +102,22 @@ class TradingRuntimeManager:
|
||||
self._persist_snapshot()
|
||||
return entry
|
||||
|
||||
def register_agent(self, agent_id: str) -> AgentRuntimeState:
|
||||
state = AgentRuntimeState(agent_id=agent_id)
|
||||
def register_agent(
|
||||
self,
|
||||
agent_id: str,
|
||||
display_name: Optional[str] = None,
|
||||
) -> AgentRuntimeState:
|
||||
state = AgentRuntimeState(agent_id=agent_id, display_name=display_name)
|
||||
self.registry.register(agent_id, state)
|
||||
self._persist_snapshot()
|
||||
return state
|
||||
|
||||
def unregister_agent(self, agent_id: str) -> Optional[AgentRuntimeState]:
|
||||
state = self.registry.unregister(agent_id)
|
||||
if state is not None:
|
||||
self._persist_snapshot()
|
||||
return state
|
||||
|
||||
def register_pending_approval(self, approval_id: str, payload: Dict[str, Any]) -> None:
|
||||
payload.setdefault("status", "pending")
|
||||
payload.setdefault("created_at", datetime.now(UTC).isoformat())
|
||||
|
||||
@@ -13,6 +13,9 @@ class RuntimeRegistry:
|
||||
def get(self, agent_id: str) -> Optional["AgentRuntimeState"]:
|
||||
return self._states.get(agent_id)
|
||||
|
||||
def unregister(self, agent_id: str) -> Optional["AgentRuntimeState"]:
|
||||
return self._states.pop(agent_id, None)
|
||||
|
||||
def list_agents(self) -> list[str]:
|
||||
return list(self._states.keys())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user