summarizeText method

  1. @override
Future<String?> summarizeText(
  1. String text, {
  2. String? sessionId,
  3. SummarizationStyle style = SummarizationStyle.concise,
})
override

Implementation

@override
Future<String?> summarizeText(
  String text, {
  String? sessionId,
  SummarizationStyle style = SummarizationStyle.concise,
}) async {
  if (text.trim().isEmpty) {
    throw AppleFoundationException(
      'Text cannot be empty',
      code: 'INVALID_TEXT',
    );
  }

  try {
    final String? response = await _invokeMethodWithTimeout<String>(
      'summarizeText',
      {
        'text': text,
        if (sessionId != null) 'sessionId': sessionId,
        'style': style.key,
      },
    );
    return response;
  } catch (e) {
    _logError('summarizeText', e);
    throw AppleFoundationException(
      'Failed to summarize text: ${e.toString()}',
      code: 'SUMMARIZE_TEXT_FAILED',
      details: {'sessionId': sessionId, 'style': style.key},
    );
  }
}