class LittleGhost::StreamEvent
StreamEvent gives every provider and interface the same language for live agent output. Consumers can handle text, reasoning, tools, usage, retries, and completion without branching on a provider SDK.
Providers emit events such as :message_start, :text_delta, :reasoning_delta, :tool_call_start, :tool_call_delta, :tool_call_stop, :usage, :model_retry, and :message_stop. The terminal event carries a ModelResponse in data[:response].
event = LittleGhost::StreamEvent.build(:text_delta, text: "Hello") event.type # => :text_delta event.data[:text] # => "Hello"
Attributes
The immutable payload for this event kind.
The event kind, such as :text_delta, :usage, or :message_stop.
Public Class Methods
# File lib/little_ghost/stream_event.rb, line 43
Creates an immutable event with a symbol type and keyword payload.