sendMessageWithCallback method

Future<void> sendMessageWithCallback(
  1. Message message,
  2. MessageCallback callback, {
  3. Map<String, Object?>? extraContext,
})

Sends a message to the conversation and streams chunks to callback.

Implementation

Future<void> sendMessageWithCallback(
  Message message,
  MessageCallback callback, {
  Map<String, Object?>? extraContext,
}) async {
  final handle = _handle;
  if (handle == null) {
    throw const LiteRtLmException('Conversation is already disposed.');
  }
  final extraContextJson = extraContext == null || extraContext.isEmpty
      ? null
      : jsonEncode(extraContext);
  final controller = _ToolCallingMessageCallback(
    handle: handle,
    userCallback: callback,
    handleToolCalls: _handleToolCalls,
    automaticToolCalling: _automaticToolCalling,
    extraContextJson: extraContextJson,
  );
  return controller.send(message);
}