Clean up LLM digest provider errors
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user