chatStream method

Stream<SyniChatEvent> chatStream(
  1. String message, {
  2. Map<String, dynamic>? hsiContext,
  3. int seed = 0,
  4. SyniExecutionMode mode = SyniExecutionMode.localFirst,
})

Streaming counterpart to chat. Emits SyniChatDeltas as tokens arrive, then exactly one SyniChatFinal.

Implementation

Stream<SyniChatEvent> chatStream(
  String message, {
  Map<String, dynamic>? hsiContext,
  int seed = 0,
  SyniExecutionMode mode = SyniExecutionMode.localFirst,
}) async* {
  final (_, persona) = _requireReady();
  Stream<SyniChatEvent> local() =>
      _localChatStream(persona, message, hsiContext, seed);
  Stream<SyniChatEvent> cloud() =>
      _cloudChatStream(persona, message, hsiContext);
  yield* _routeStream(mode, local, cloud);
}