Class MappingTrackingStreamingChatResponseHandler

java.lang.Object
dev.langchain4j.internal.MappingTrackingStreamingChatResponseHandler
All Implemented Interfaces:
StreamingChatResponseHandler

public class MappingTrackingStreamingChatResponseHandler extends Object implements StreamingChatResponseHandler
Delegating StreamingChatResponseHandler that records whether the underlying handler received any typed, user-facing callback (partial response/thinking/tool call, complete tool call, complete response or error) while processing a single provider streaming event - i.e. whether the event was mapped to a typed callback.

Providers use this to decide whether to additionally surface a raw event via StreamingChatResponseHandler.onUnmappedRawEvent(Object): a raw event should only be emitted for events that were not mapped to a typed callback. Forwarding a raw event (via onUnmappedRawEvent(Object)) does not count as a mapping.

Not thread-safe: it assumes a provider processes streaming events one at a time and calls resetMappingTracking() before each event.