validateInput method

  1. @override
ValidationResult validateInput(
  1. Map<String, dynamic> input
)
override

Validate input before execution and permission checks.

Implementation

@override
ValidationResult validateInput(Map<String, dynamic> input) {
  if (input['file_path'] == null) {
    return const ValidationResult.invalid('file_path is required');
  }
  final edits = input['edits'];
  if (edits == null || edits is! List || edits.isEmpty) {
    return const ValidationResult.invalid('edits must be a non-empty array');
  }
  for (var i = 0; i < edits.length; i++) {
    final e = edits[i] as Map<String, dynamic>;
    if (e['old_text'] == null || e['new_text'] == null) {
      return ValidationResult.invalid('Edit $i missing old_text or new_text');
    }
  }
  return const ValidationResult.valid();
}