execute method
Execute the tool with the given input.
Implementation
@override
Future<ToolResult> execute(Map<String, dynamic> input) async {
final validation = validateInput(input);
if (!validation.isValid) return ToolResult.error(validation.error!);
final parsed = SubagentInput.fromJson(input);
if (spawner != null) return spawner!(parsed);
// Stub: real implementation would spawn an agent session.
final agentId = '${parsed.name}_${DateTime.now().millisecondsSinceEpoch}';
return ToolResult.success(
'Sub-agent "$agentId" created with role "${parsed.role}". '
'Task queued: ${parsed.task}',
metadata: {'agent_id': agentId, 'status': 'queued'},
);
}