Karn.Output behaviour (Karn v1.0.0)

Defines the contract for receiving messages from the LLM . By default uses the IO implementation

Summary

Callbacks

send_blocks(messages)

@callback send_blocks(messages :: [map()]) :: :ok | {:error, String.t()}

send_error(message)

@callback send_error(message :: String.t()) :: :ok

send_response(message)

@callback send_response(message :: String.t()) :: :ok

send_state(data)

@callback send_state(data :: struct()) :: :ok | {:error, String.t()}

send_usage(data)

@callback send_usage(data :: map()) :: :ok | {:error, String.t()}

Functions

send_blocks(messages)

send_error(message)

send_response(message)

send_state(data)

send_usage(data)