Behaviour and types for LLM integrations.
Summary
Callbacks
Says something to a session that is already running.
Types
@type close_fun() :: (-> any())
@type provider() :: sdk()
@type sdk() :: :claude | :codex | :amp | :cursor | :antigravity | :simulated
@type stream() :: Enumerable.t()
@type stream_event() :: map()
Callbacks
Says something to a session that is already running.
{:ok, :delivered} means the text reached the running turn and it continues.
{:ok, :interrupted} means the turn was ended and the caller has to resume
the provider thread with this text — which lane applies is the provider's
transport fact, not the caller's choice.