formatToolUseSummary function
Format a compact tool use summary for remote sessions. Port of formatToolUseSummary() from RemoteSessionDetailDialog.tsx.
Implementation
String formatToolUseSummary(String name, dynamic input) {
if (name == 'ExitPlanModeTool') {
return 'Review the plan in Neomage on the web';
}
if (input == null || input is! Map) return name;
// AskUserQuestion: show the question text
if (name == 'AskUserQuestion' && input.containsKey('questions')) {
final qs = input['questions'];
if (qs is List && qs.isNotEmpty && qs[0] is Map) {
final q = qs[0]['question'] as String? ?? qs[0]['header'] as String?;
if (q != null && q.isNotEmpty) {
final oneLine = q.replaceAll(RegExp(r'\s+'), ' ').trim();
final truncated = oneLine.length > 50
? '${oneLine.substring(0, 47)}...'
: oneLine;
return 'Answer in browser: $truncated';
}
}
}
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;
}