listSessions method
List all saved session IDs, newest first.
Implementation
Future<List<String>> listSessions() async {
final dir = Directory(baseDir);
if (!await dir.exists()) return const [];
final sessions = <_SessionEntry>[];
await for (final entity in dir.list()) {
if (entity is! File) continue;
if (!entity.path.endsWith('.json')) continue;
final name = entity.path.split('/').last;
final sessionId = name.replaceAll('.json', '');
final stat = await entity.stat();
sessions.add(_SessionEntry(sessionId, stat.modified));
}
sessions.sort((a, b) => b.modified.compareTo(a.modified));
return sessions.map((s) => s.id).toList();
}