TheJackBright's picture
Deploy GitHub root master to Space
c296d62
"""Supervisor agent."""
from __future__ import annotations
from app.common.enums import DecisionMode
from app.common.types import PolyGuardState
from app.models.policy.uncertainty import estimate_uncertainty
class SupervisorAgent:
name = "SupervisorAgent"
def run(self, state: PolyGuardState, dosing_active: bool) -> dict:
uncertainty = estimate_uncertainty(state)
if uncertainty > 0.72:
mode = DecisionMode.REVIEW
elif state.sub_environment.value == "PRECISION_DOSING":
mode = DecisionMode.DOSE_OPT
elif dosing_active:
mode = DecisionMode.DOSE_OPT
else:
mode = DecisionMode.REGIMEN_OPT
return {"mode": mode.value, "uncertainty": uncertainty, "sub_environment": state.sub_environment.value}