formatToolSchema function

String formatToolSchema(
  1. String toolName
)

Format a tool schema for display.

Implementation

String formatToolSchema(String toolName) {
  final schema = _schemas[toolName];
  if (schema == null) return 'Unknown tool: $toolName';

  final buffer = StringBuffer();
  buffer.writeln('Tool: ${schema['name']}');
  buffer.writeln('Description: ${schema['description']}');

  final inputSchema = schema['input_schema'] as Map<String, dynamic>? ?? {};
  final properties = inputSchema['properties'] as Map<String, dynamic>? ?? {};
  final required = (inputSchema['required'] as List?)?.cast<String>() ?? [];

  if (properties.isNotEmpty) {
    buffer.writeln('Parameters:');
    for (final entry in properties.entries) {
      final prop = entry.value as Map<String, dynamic>;
      final isRequired = required.contains(entry.key);
      final type = prop['type'] ?? 'any';
      buffer.write('  ${entry.key} ($type)');
      if (isRequired) buffer.write(' [required]');
      if (prop['description'] != null) {
        buffer.write(' — ${prop['description']}');
      }
      buffer.writeln();
    }
  }

  return buffer.toString();
}