execute method
Executes the tool actions using the supplied LLM arguments.
Implementation
@override
Future<MCPToolResult> execute(Map<String, dynamic> arguments) async {
final assignee = arguments['assignee'] as String? ?? 'clone';
final task = arguments['task'] as String? ?? '';
final enabledTools = (arguments['enabledTools'] as List?)?.cast<String>();
if (task.trim().isEmpty) {
return MCPToolResult.error('Task description cannot be empty.');
}
try {
final result = await runner(
assignee: assignee,
task: task,
enabledTools: enabledTools,
);
return MCPToolResult.text(result);
} catch (e) {
return MCPToolResult.error('Failed to execute delegated sub-task: $e');
}
}