28 lines
658 B
Python
28 lines
658 B
Python
"""Agent OS recovery manager."""
|
|
|
|
from dataclasses import dataclass
|
|
from typing import List
|
|
|
|
|
|
@dataclass
|
|
class RecoveryEvent:
|
|
source: str
|
|
issue: str
|
|
severity: str
|
|
assigned_agent: str = "windows_codex_app"
|
|
|
|
|
|
class RecoveryManager:
|
|
def __init__(self):
|
|
self.events: List[RecoveryEvent] = []
|
|
|
|
def report_failure(self, event: RecoveryEvent):
|
|
self.events.append(event)
|
|
return {"status": "recovery_started", "assigned_agent": event.assigned_agent}
|
|
|
|
def history(self):
|
|
return self.events
|
|
|
|
def needs_admin_authorization(self, event: RecoveryEvent):
|
|
return event.severity in {"high", "critical"}
|