public interface StreamingListener

Known subtypesStreamingListener.Adapter

Callback for LlmClient.chatStream. Every method is invoked on the EDT; implementations can update UI directly without further marshalling. The terminal ChatResponse is delivered via the AsyncResource returned by chatStream, not via this listener.

Tool-call streaming differs by provider: OpenAI and Anthropic emit argument JSON in fragments (potentially many onToolCallDelta calls per tool); Gemini delivers tool calls atomically at the end (a single call with the complete argumentsFragment set to the full JSON). Either pattern is valid.

Nested types

class StreamingListener.AdapterNo-op default implementation.

Methods

public abstract void onContentDelta(String textDelta)A chunk of assistant text.
public abstract void onToolCallDelta(int index, String id, String name, String argumentsFragment)A tool-call fragment.
public abstract void onUsage(Usage usage)Token-accounting update.
public abstract void onError(Throwable t)Mid-stream error (e.g. connection reset).

Method details

onContentDelta

public abstract void onContentDelta(String textDelta)
A chunk of assistant text. Append it to whatever text buffer you’re rendering.

Parameters

textDelta String
next ordered text fragment

onToolCallDelta

public abstract void onToolCallDelta(int index, String id, String name, String argumentsFragment)
A tool-call fragment. index lets you correlate fragments that belong to the same call when multiple tools are streamed in parallel. name is non-null on the first fragment for each call. argumentsFragment is the next slice of the arguments JSON; concatenate fragments for the same index to reassemble. id is the provider’s tool-call id, present on the first fragment.

Parameters

index int
zero-based tool call within the response
id String
provider tool-call id, normally present on the first fragment
name String
requested tool name, normally present on the first fragment
argumentsFragment String
next JSON argument fragment

onUsage

public abstract void onUsage(Usage usage)
Token-accounting update. Most providers send this once at the end; some send incremental counts.

Parameters

usage Usage
latest provider token counts

onError

public abstract void onError(Throwable t)
Mid-stream error (e.g. connection reset). The AsyncResource returned by chatStream will also complete with this same exception, so listeners can typically ignore this and react to the resource. Implemented for parity with other SDKs.

Parameters

t Throwable
stream failure also delivered by the returned resource