renderToolActivity function

String renderToolActivity(
  1. ToolActivity activity
)

Format a tool use activity into a human-readable string. Port of renderToolActivity() from renderToolActivity.tsx.

Implementation

String renderToolActivity(ToolActivity activity) {
  final name = activity.toolName;
  final input = activity.input;

  // Try to extract a user-facing description from the input.
  for (final v in input.values) {
    if (v is String && v.trim().isNotEmpty) {
      final oneLine = v.replaceAll(RegExp(r'\s+'), ' ').trim();
      final truncated = oneLine.length > 60
          ? '${oneLine.substring(0, 57)}...'
          : oneLine;
      return '$name $truncated';
    }
  }
  return name;
}