Karn.Output behaviour
(Karn v1.0.0)
Defines the contract for receiving messages from the LLM .
By default uses the IO implementation
Callbacks
@callback send_blocks(messages :: [map()]) :: :ok | {:error, String.t()}
@callback send_error(message :: String.t()) :: :ok
@callback send_response(message :: String.t()) :: :ok
@callback send_usage(data :: map()) :: :ok | {:error, String.t()}