Vibe.Runtime behaviour (vibe v0.2.0)

Copy Markdown View Source

Behaviour for stateful evaluation runtimes.

Summary

Types

eval_result()

@type eval_result() :: %{
  status: :ok | :error | :timeout,
  value: term(),
  output: String.t(),
  diagnostics: [map()]
}

Callbacks

evaluate(server, t, keyword)

@callback evaluate(GenServer.server(), String.t(), keyword()) ::
  {:ok, eval_result()} | {:error, term()}

start_link(keyword)

@callback start_link(keyword()) :: GenServer.on_start()

stop(server)

@callback stop(GenServer.server()) :: :ok