Clean up LLM digest provider errors

This commit is contained in:
Rijad Zuzo
2026-05-19 11:26:14 +02:00
parent e13d8b76cd
commit 0bfe67b1bf
2 changed files with 63 additions and 3 deletions
@@ -2,6 +2,7 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:relationship_saver/app/data/relationship_repository.dart';
import 'package:relationship_saver/app/state/local_data_state.dart';
import 'package:relationship_saver/core/llm/llm_config.dart';
import 'package:relationship_saver/core/llm/llm_service.dart';
import 'package:relationship_saver/features/ai_digest/application/ai_digest_notifier.dart';
import 'package:relationship_saver/features/ai_digest/application/ai_digest_response_parser.dart';
import 'package:relationship_saver/features/ai_digest/application/anonymized_llm_context_builder.dart';
@@ -185,11 +186,12 @@ class LlmDigestOrchestrator {
createdDraftCount: parsed.drafts.length,
);
} catch (error) {
await _markFailure('$error');
final String reason = _digestFailureReason(error);
await _markFailure(reason);
return LlmDigestRunResult(
started: true,
completed: false,
reason: '$error',
reason: reason,
);
}
}
@@ -232,6 +234,13 @@ class LlmDigestOrchestrator {
}
}
String _digestFailureReason(Object error) {
if (error is LlmProviderException) {
return error.message;
}
return '$error';
}
const String _systemPrompt = '''
You create private relationship-maintenance digest suggestions.
The input contains pseudonymous people only. Never ask for or invent names.