TypeScript SDKFeature Clients

StreamsTypeScript SDK

Streams Client

StreamsClient publishes to and reads from durable topics. Unlike runs.subscribeToStream, topics are stored, independent of any run, and readers can resume from a cursor.

Methods

events()

Yields topic's messages after options.cursor, or from the oldest retained. If the connection drops, it resubscribes from the last message yielded, so nothing is skipped or repeated. Ends when the server hangs up an idle subscription, options.signal aborts, or the caller stops iterating; throws on errors a retry can't fix, such as an expired cursor.

Parameters

ParameterTypeDescription
topicstringthe topic to read from
options?StreamCallOptionsoptional namespace override, resume cursor, and abort signal

Returns

AsyncIterable<StreamEvent>

publish()

Resolves once the message is stored. A client's messages to a topic are delivered in the order publish() was called.

Parameters

ParameterTypeDescription
topicstringthe topic to publish to
messagestring | Uint8Array<ArrayBufferLike>the message payload
options?StreamCallOptionsoptional namespace override

Returns

Promise<void>

topicMetadata()

Describes topic's retained messages. Rejects with a NOT_FOUND gRPC error for a topic nothing was published to.

Parameters

ParameterTypeDescription
topicstringthe topic to describe
options?Pick<StreamCallOptions, "namespace">optional namespace override

Returns

Promise<StreamTopicMetadata>

Type Aliases

StreamTopicMetadata

type StreamTopicMetadata = object;

Covers only messages within the tenant's retention.

Properties

PropertyTypeDescription
lastPublishedAt?Datewhen the newest retained message was stored; undefined when none is retained
latestCursor?stringresumes events() after the newest retained message; undefined when none is retained

Last updated on October 8, 2026

On this page