ask method

  1. @override
Future<String?> ask(
  1. String prompt, {
  2. String? sessionId,
})
override

Implementation

@override
Future<String?> ask(String prompt, {String? sessionId}) async {
  if (prompt.trim().isEmpty) {
    throw AppleFoundationException(
      'Prompt cannot be empty',
      code: 'INVALID_PROMPT',
    );
  }

  try {
    final String? response = await _invokeMethodWithTimeout<String>('ask', {
      'prompt': prompt,
      if (sessionId != null) 'sessionId': sessionId,
    });
    return response;
  } catch (e) {
    _logError('ask', e);
    throw AppleFoundationException(
      'Failed to process prompt: ${e.toString()}',
      code: 'ASK_FAILED',
      details: {'prompt': prompt, 'sessionId': sessionId},
    );
  }
}