claude/streaming
Types
A delta in a streaming content block.
pub type Delta {
TextDelta(String)
InputJsonDelta(String)
ThinkingDelta(String)
}
Constructors
-
TextDelta(String) -
InputJsonDelta(String) -
ThinkingDelta(String)
Usage information in a message_delta event.
pub type DeltaUsage {
DeltaUsage(output_tokens: Int)
}
Constructors
-
DeltaUsage(output_tokens: Int)
A streaming event from the Anthropic Messages API (SSE).
pub type StreamEvent {
MessageStart(message: message.Message)
ContentBlockStart(
index: Int,
content_block: content.ContentBlock,
)
ContentBlockDelta(index: Int, delta: Delta)
ContentBlockStop(index: Int)
MessageDelta(
stop_reason: option.Option(message.StopReason),
usage: DeltaUsage,
)
MessageStop
Ping
UnknownEvent(event_type: String, data: String)
}
Constructors
-
MessageStart(message: message.Message) -
ContentBlockStart( index: Int, content_block: content.ContentBlock, ) -
ContentBlockDelta(index: Int, delta: Delta) -
ContentBlockStop(index: Int) -
MessageDelta( stop_reason: option.Option(message.StopReason), usage: DeltaUsage, ) -
MessageStop -
Ping -
UnknownEvent(event_type: String, data: String)
Values
pub fn parse_event(
event_type: String,
data: String,
) -> StreamEvent
Parse a single event given its type and JSON data string.
pub fn parse_sse(text: String) -> List(StreamEvent)
Parse a full SSE text payload into a list of StreamEvents.
SSE events are separated by blank lines (“\n\n”). Each event block
contains an event: line and a data: line.