Behaviour for human-in-the-loop adapters used by wait.human.
wait.human
Interviewers can source answers from a console, queue, callback, HTTP workflow, or any custom adapter that implements the callbacks below.
@callback ask(AttractorEx.Node.t(), [map()], map(), keyword()) :: {:ok, term()} | {:timeout} | {:skip} | {:error, term()} | term() | nil
@callback ask_multiple(AttractorEx.Node.t(), [map()], map(), keyword()) :: {:ok, [term()]} | {:timeout} | {:skip} | {:error, term()} | term() | nil
@callback inform(AttractorEx.Node.t(), map(), map(), keyword()) :: :ok | {:ok, term()} | {:error, term()} | term()