chatStream method
      
  
Stream<ChatStreamEvent> 
chatStream(
    
- List<ChatMessage> messages, {
- List<Tool> ? tools,
- CancelToken? cancelToken,
override
    Sends a streaming chat request to the provider
messages - The conversation history as a list of chat messages
tools - Optional list of tools to use in the chat
cancelToken - Optional token to cancel the stream
Returns a stream of chat events
Implementation
@override
Stream<ChatStreamEvent> chatStream(
  List<ChatMessage> messages, {
  List<Tool>? tools,
  CancelToken? cancelToken,
}) async* {
  final effectiveTools = tools ?? config.tools;
  final requestBody = _buildRequestBody(messages, effectiveTools, true);
  // Reset stream state
  _resetStreamState();
  // Create SSE stream
  final stream = client.postStreamRaw(
    chatEndpoint,
    requestBody,
    cancelToken: cancelToken,
  );
  await for (final chunk in stream) {
    final events = _parseStreamEvents(chunk);
    for (final event in events) {
      yield event;
    }
  }
}