Files

18 lines
583 B
Python
Raw Permalink Normal View History

from typing import Any, Callable
from fusionagi._logger import logger
class OutcomeVerifier:
def __init__(self, verify_fn=None):
self._verify_fn = verify_fn
def verify(self, step_result, context=None):
ctx = context or {}
if self._verify_fn:
try:
return self._verify_fn(step_result, ctx)
except Exception:
logger.exception("OutcomeVerifier failed")
return False
if isinstance(step_result, dict) and step_result.get("error"):
return False
return True