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] : 'list';
switch (subcommand) {
case 'list':
case '':
return _list();
case 'current':
return TextCommandResult('Current session: ${getCurrentSessionId()}');
case 'delete':
if (parts.length < 2) {
return const TextCommandResult('Usage: /session delete <id>');
}
return _delete(parts[1]);
default:
return TextCommandResult(
'Unknown subcommand: $subcommand\n'
'Usage: /session [list|current|delete <id>]',
);
}
}