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 head =
      '${timestamp.toIso8601String()} ${sinceRunStart.inMilliseconds}ms ${kind.name}';
  final parts = [
    if (toolName != null) 'name=$toolName',
    if (toolCallId != null) 'id=$toolCallId',
    if (isError != null) 'error=$isError',
    if (stopReason != null) 'stop=$stopReason',
    if (httpStatus != null) 'http=$httpStatus',
    if (outputBytes != null) 'out=${outputBytes}B',
    if (attempt != null) 'attempt=$attempt',
    ?detail,
  ];
  return parts.isEmpty ? head : '$head ${parts.join(' ')}';
}