toString method

  1. @override
String toString()
override

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Implementation

@override
String toString() {
  final textContent = text;
  final calls = toolCalls;
  final thinkingContent = thinking;

  final parts = <String>[];

  if (thinkingContent != null) {
    parts.add('Thinking: $thinkingContent');
  }

  if (calls != null) {
    parts.add(calls.map((c) => c.toString()).join('\n'));
  }

  if (textContent != null) {
    parts.add(textContent);
  }

  return parts.join('\n');
}