aidial_assistant/chain/callbacks/chain_callback.py (12 lines of code) (raw):

from abc import ABC, abstractmethod from aidial_assistant.chain.callbacks.command_callback import CommandCallback from aidial_assistant.chain.callbacks.result_callback import ResultCallback class ChainCallback(ABC): """Callback for reporting command chain""" @abstractmethod def command_callback(self) -> CommandCallback: """Returns a callback for reporting a command""" @abstractmethod def on_state(self, request: str, response: str): """Report an AI message""" @abstractmethod def result_callback(self) -> ResultCallback: """Returns a callback for reporting a result""" @abstractmethod def on_error(self, title: str, error: str): """Called when an error occurs"""