ChatToolCall.fromOpenAI constructor

ChatToolCall.fromOpenAI(
  1. Map call
)

Implementation

factory ChatToolCall.fromOpenAI(Map call) {
  final function = call['function'];
  final arguments = function is Map ? function['arguments'] : null;
  dynamic decoded = arguments;
  if (arguments is String && arguments.trim().isNotEmpty) {
    decoded = jsonDecode(arguments);
  }
  return ChatToolCall(
    id: call['id']?.toString() ?? Utils.generateRandomId(12),
    name: function is Map ? function['name']?.toString() ?? '' : '',
    inputs: decoded is Map ? Map<String, dynamic>.from(decoded) : {},
  );
}