getSessionHistory method
Get all entries for a session.
Implementation
Future<List<HistoryEntry>> getSessionHistory(String sessionId) async {
// Check cache first.
if (_sessionCache.containsKey(sessionId)) {
return List.unmodifiable(_sessionCache[sessionId]!);
}
// Load from disk.
final file = File('$_baseDir/$sessionId.jsonl');
if (!await file.exists()) return [];
final lines = await file.readAsLines();
final entries = <HistoryEntry>[];
for (final line in lines) {
if (line.trim().isEmpty) continue;
try {
entries.add(
HistoryEntry.fromJson(jsonDecode(line) as Map<String, dynamic>),
);
} catch (_) {
// Skip malformed entries.
}
}
_sessionCache[sessionId] = entries;
return List.unmodifiable(entries);
}