chat method
Sends a chat request to the provider with a sequence of messages.
messages - The conversation history as a list of chat messages
cancelToken - Optional token to cancel the request
Returns the provider's response or throws an LLMError
Implementation
@override
Future<ChatResponse> chat(
  List<ChatMessage> messages, {
  CancelToken? cancelToken,
}) async {
  // Use Responses API if enabled, otherwise use Chat Completions API
  if (config.useResponsesAPI && _responses != null) {
    return _responses.chat(messages, cancelToken: cancelToken);
  } else {
    return _chat.chat(messages, cancelToken: cancelToken);
  }
}