Skip to main content

Module stream

Module stream 

Source
Expand description

Streaming event types and reconstruction.

Both StreamEvent and ContentDelta are forward-compatible: unknown type tags deserialize into the Other arm with the raw JSON preserved byte-for-byte. Strict-on-known semantics: a known tag with a malformed body returns a deserialization error rather than silently falling through.

EventStream is the typed wrapper around the SSE wire format. Two consumption patterns:

use claude_api::{Client, messages::{CreateMessageRequest, KnownContentDelta,
    KnownStreamEvent, ContentDelta, StreamEvent}, types::ModelId};
use futures_util::StreamExt;
let client = Client::new(std::env::var("ANTHROPIC_API_KEY").unwrap());
let request = CreateMessageRequest::builder()
    .model(ModelId::SONNET_4_6)
    .max_tokens(256)
    .user("Tell me a fact.")
    .build()?;
let mut stream = client.messages().create_stream(request).await?;
while let Some(event) = stream.next().await {
    if let StreamEvent::Known(KnownStreamEvent::ContentBlockDelta {
        delta: ContentDelta::Known(KnownContentDelta::TextDelta { text }),
        ..
    }) = event?
    {
        print!("{text}");
    }
}

Gated on the streaming feature.

Structs§

Aggregatorstreaming
Reconstructs a Message from a sequence of StreamEvents.
EventStreamstreaming
Typed stream of StreamEvents yielded from a streaming Messages request.
MessageDelta
Late-arriving updates to message-level fields, emitted in KnownStreamEvent::MessageDelta.

Enums§

ContentDelta
One delta update inside a KnownStreamEvent::ContentBlockDelta.
KnownContentDelta
All content-delta variants known to this SDK version.
KnownStreamEvent
All streaming event types known to this SDK version.
StreamEvent
A single event from the Messages streaming endpoint.