diagnose abstract method

Future<FFAiResponse> diagnose({
  1. required FFSnapshot snapshot,
  2. required String systemPrompt,
  3. required String userPrompt,
})

Sends prompt to the underlying provider and returns the assistant text.

Always throws FFAiException on any non-success path (wrong key, network error, rate-limit, etc.) so callers only need one catch block.

Implementation

Future<FFAiResponse> diagnose({
  required FFSnapshot snapshot,
  required String systemPrompt,
  required String userPrompt,
});