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

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.

Search Document