validateInput method
Validate input before execution and permission checks.
Implementation
@override
ValidationResult validateInput(Map<String, dynamic> input) {
final action = input['action'] as String?;
if (action == null ||
!['read', 'write', 'append', 'list'].contains(action)) {
return const ValidationResult.invalid(
'action must be read, write, append, or list',
);
}
if (action != 'list' && (input['path'] == null)) {
return ValidationResult.invalid('path is required for $action');
}
if ((action == 'write' || action == 'append') && input['content'] == null) {
return ValidationResult.invalid('content is required for $action');
}
return const ValidationResult.valid();
}