AssistantMessageEventStream class

The event stream returned by provider stream calls.

Ported from pi's AssistantMessageEventStream. Completes when a DoneEvent or ErrorEvent is pushed; result then yields the final AssistantMessage (the error message for ErrorEvent, per the providers-never-throw contract).

final stream = provider.stream(model, context);
await for (final event in stream) {
  if (event is TextDeltaEvent) write(event.delta);
}
final message = await stream.result;
Inheritance

Properties

extractResult → AssistantMessage Function(AssistantMessageEvent event)
Extracts the terminal value from a completion event.
finalinherited
first → Future<AssistantMessageEvent>
The first element of this stream.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
isBroadcast → bool
Whether this stream is a broadcast stream.
no setterinherited
isComplete → bool Function(AssistantMessageEvent event)
Predicate marking the terminal event of the stream.
finalinherited
isEmpty → Future<bool>
Whether this stream contains any elements.
no setterinherited
last → Future<AssistantMessageEvent>
The last element of this stream.
no setterinherited
length → Future<int>
The number of elements in this stream.
no setterinherited
result → Future<AssistantMessage>
A future that completes with the terminal value: the result extracted from the completion event, or the value passed to end.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
single → Future<AssistantMessageEvent>
The single element of this stream.
no setterinherited

Methods

any(bool test(AssistantMessageEvent event)) → Future<bool>
Checks whether test accepts any element provided by this stream.
inherited
asBroadcastStream({void onListen(StreamSubscription<AssistantMessageEvent> subscription)?, void onCancel(StreamSubscription<AssistantMessageEvent> subscription)?}) → Stream<AssistantMessageEvent>
Returns a multi-subscription stream that produces the same events as this.
inherited
asyncExpand<E>(Stream<E>? convert(AssistantMessageEvent event)) → Stream<E>
Transforms each element into a sequence of asynchronous events.
inherited
asyncMap<E>(FutureOr<E> convert(AssistantMessageEvent event)) → Stream<E>
Creates a new stream with each data event of this stream asynchronously mapped to a new event.
inherited
cast<R>() → Stream<R>
Adapt this stream to be a Stream<R>.
inherited
contains(Object? needle) → Future<bool>
Returns whether needle occurs in the elements provided by this stream.
inherited
distinct([bool equals(AssistantMessageEvent previous, AssistantMessageEvent next)?]) → Stream<AssistantMessageEvent>
Skips data events if they are equal to the previous data event.
inherited
drain<E>([E? futureValue]) → Future<E>
Discards all data on this stream, but signals when it is done or an error occurred.
inherited
elementAt(int index) → Future<AssistantMessageEvent>
Returns the value of the indexth data event of this stream.
inherited
end([AssistantMessage? result]) → void
Marks the stream as finished and closes it.
inherited
every(bool test(AssistantMessageEvent event)) → Future<bool>
Checks whether test accepts all elements provided by this stream.
inherited
expand<S>(Iterable<S> convert(AssistantMessageEvent element)) → Stream<S>
Transforms each element of this stream into a sequence of elements.
inherited
firstWhere(bool test(AssistantMessageEvent event), {AssistantMessageEvent orElse()?}) → Future<AssistantMessageEvent>
Finds the first element of this stream matching test.
inherited
fold<S>(S initialValue, S combine(S previous, AssistantMessageEvent element)) → Future<S>
Combines a sequence of values by repeatedly applying combine.
inherited
forEach(void action(AssistantMessageEvent element)) → Future<void>
Executes action on each element of this stream.
inherited
handleError(Function onError, {bool test(dynamic error)?}) → Stream<AssistantMessageEvent>
Creates a wrapper Stream that intercepts some errors from this stream.
inherited
join([String separator = ""]) → Future<String>
Combines the string representation of elements into a single string.
inherited
lastWhere(bool test(AssistantMessageEvent event), {AssistantMessageEvent orElse()?}) → Future<AssistantMessageEvent>
Finds the last element in this stream matching test.
inherited
listen(void onData(AssistantMessageEvent event)?, {Function? onError, void onDone()?, bool? cancelOnError}) → StreamSubscription<AssistantMessageEvent>
Adds a subscription to this stream.
inherited
map<S>(S convert(AssistantMessageEvent event)) → Stream<S>
Transforms each element of this stream into a new stream event.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
pipe(StreamConsumer<AssistantMessageEvent> streamConsumer) → Future
Pipes the events of this stream into streamConsumer.
inherited
push(AssistantMessageEvent event) → void
Pushes event to consumers.
inherited
reduce(AssistantMessageEvent combine(AssistantMessageEvent previous, AssistantMessageEvent element)) → Future<AssistantMessageEvent>
Combines a sequence of values by repeatedly applying combine.
inherited
singleWhere(bool test(AssistantMessageEvent event), {AssistantMessageEvent orElse()?}) → Future<AssistantMessageEvent>
Finds the single element in this stream matching test.
inherited
skip(int count) → Stream<AssistantMessageEvent>
Skips the first count data events from this stream.
inherited
skipWhile(bool test(AssistantMessageEvent event)) → Stream<AssistantMessageEvent>
Skip data events from this stream while they are matched by test.
inherited
take(int count) → Stream<AssistantMessageEvent>
Provides at most the first count data events of this stream.
inherited
takeWhile(bool test(AssistantMessageEvent event)) → Stream<AssistantMessageEvent>
Forwards data events while test is successful.
inherited
timeout(Duration timeLimit, {void onTimeout(EventSink<AssistantMessageEvent> sink)?}) → Stream<AssistantMessageEvent>
Creates a new stream with the same events as this stream.
inherited
toList() → Future<List<AssistantMessageEvent>>
Collects all elements of this stream in a List.
inherited
toSet() → Future<Set<AssistantMessageEvent>>
Collects the data of this stream in a Set.
inherited
toString() → String
A string representation of this object.
inherited
transform<S>(StreamTransformer<AssistantMessageEvent, S> streamTransformer) → Stream<S>
Applies streamTransformer to this stream.
inherited
where(bool test(AssistantMessageEvent event)) → Stream<AssistantMessageEvent>
Creates a new stream from this stream that discards some elements.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited