summarizeHistory method

  1. @override
Future<String> summarizeHistory(
  1. List<ChatMessage> messages
)
override

Summarizes a conversation history into a concise 2-3 sentence summary

messages - The conversation messages to summarize

Returns a string containing the summary or throws an LLMError

Implementation

@override
Future<String> summarizeHistory(List<ChatMessage> messages) async {
  final prompt =
      'Summarize in 2-3 sentences:\n${messages.map((m) => '${m.role.name}: ${m.content}').join('\n')}';
  final request = [ChatMessage.user(prompt)];
  final response = await chat(request);
  final text = response.text;
  if (text == null) {
    throw const GenericError('no text in summary response');
  }
  return text;
}