execute method
Execute the command.
Implementation
@override
Future<CommandResult> execute(String args, ToolUseContext context) async {
final parts = args.trim().split(RegExp(r'\s+'));
final subcommand = parts.isNotEmpty && parts[0].isNotEmpty
? parts[0]
: 'list';
switch (subcommand) {
case 'list':
return _listTasks();
case 'cancel':
case 'kill':
if (parts.length < 2) {
return const TextCommandResult('Usage: /tasks cancel <task-id>');
}
final success = await cancelTask(parts[1]);
if (success) {
return TextCommandResult('Cancelled task: ${parts[1]}');
}
return TextCommandResult(
'Task not found or already completed: ${parts[1]}',
);
default:
return TextCommandResult(
'Unknown subcommand: $subcommand\n'
'Usage: /tasks [list|cancel <id>]',
);
}
}