execute method
Execute the tool with the given input.
Implementation
@override
Future<ToolResult> execute(Map<String, dynamic> input) async {
final to = input['to'] as String? ?? '';
final summary = input['summary'] as String?;
final message = input['message'];
// Handle plain text messages
if (message is String) {
if (to == '*') {
return _handleBroadcast(message, summary);
}
return _handleMessage(to, message, summary);
}
// Handle structured messages
if (message is Map<String, dynamic>) {
return _handleStructuredMessage(to, message, summary);
}
return ToolResult.error('Invalid message format');
}