run property
Runs the tool. Whatever it returns is given back to the model verbatim, so return text the model can read. Throwing is fine: the failure is reported to the model, which can try something else.
Implementation
final Future<String> Function(Map<String, Object?> input) run;