toolUseSearchText function

String toolUseSearchText(
  1. dynamic input
)

Extract searchable text from a tool_use input.

renderToolUseMessage shows input fields like command (Bash), pattern (Grep), file_path (Read/Edit), prompt (Agent).

Implementation

String toolUseSearchText(dynamic input) {
  if (input == null || input is! Map<String, dynamic>) return '';

  final parts = <String>[];

  // Primary argument fields
  for (final k in [
    'command',
    'pattern',
    'file_path',
    'path',
    'prompt',
    'description',
    'query',
    'url',
    'skill',
  ]) {
    final v = input[k];
    if (v is String) parts.add(v);
  }

  // Array fields (args, files)
  for (final k in ['args', 'files']) {
    final v = input[k];
    if (v is List && v.every((x) => x is String)) {
      parts.add((v as List<String>).join(' '));
    }
  }

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