Skip to main content
ConverseStream returns the same Bedrock event union you already handle: messageStart → contentBlockStart → contentBlockDelta → contentBlockStop → messageStop → metadata. Under the hood the gateway streams server-sent events; the SDK translates each chunk into typed Bedrock events, and the final metadata event always carries token usage and latency. Streams are never cut off by the request timeout — the timeout applies only until response headers arrive, so long generations run to completion. One honest exception: if the upstream provider goes completely silent (no chunks at all, distinct from a model still generating) for roughly 30 seconds — a few minutes on deep-reasoning models that think before emitting — the gateway fails the request quickly so retries and fallbacks can engage, instead of leaving the connection hanging.