Non-streaming message completion.
Future<Message> createMessage({ required List<Message> messages, required String systemPrompt, List<ToolDefinition> tools = const [], int? maxTokens, });