| ⇢ | A | GrokProvider added | |
| ⇢ | A | MistralProvider added | |
| ⇢ | A | DeepSeekProvider added | |
| ⇢ | A | GrokDocumentProvider added | |
| ⇢ | A | GeminiProvider added | |
| ⇢ | A | GrokImageProvider added | |
| A | ↛ | DeepSeekAiProvider removed | |
| A | ↛ | GeminiAiProvider removed | |
| A | ↛ | GrokAiProvider removed | |
| A | ↛ | MistralAiProvider removed |
| ⇢ | B | DeepSeekProvider::generateLearnPath() added | |
| ⇢ | B | GrokProvider::generateLearnPath() added | |
| ⇢ | B | GeminiProvider::generateLearnPath() added | |
| ⇢ | B | MistralProvider::generateLearnPath() added | |
| ⇢ | B | GrokDocumentProvider::requestGrokAI() added | |
| ⇢ | B | GrokImageProvider::requestGrokAI() added | |
| ⇢ | B | GrokProvider::requestGrokAI() added | |
| ⇢ | B | AiController::generateImage() added | |
| ⇢ | A | GeminiProvider::requestGemini() added | |
| ⇢ | A | MistralProvider::requestMistralAI() added | |
| ⋮ | view more | ||
| B | ↛ | MistralAiProvider::generateLearnPath() removed | |
| B | ↛ | GeminiAiProvider::generateLearnPath() removed | |
| B | ↛ | GrokAiProvider::generateLearnPath() removed | |
| B | ↛ | DeepSeekAiProvider::generateLearnPath() removed | |
| B | ↛ | GrokAiProvider::requestGrokAI() removed | |
| A | ↛ | GeminiAiProvider::requestGemini() removed | |
| A | ↛ | MistralAiProvider::requestMistralAI() removed | |
| A | ↛ | DeepSeekAiProvider::requestDeepSeekAI() removed | |
| A | ↛ | GeminiAiProvider::filterValidAikenQuestions() removed | |
| A | ↛ | GrokAiProvider::filterValidAikenQuestions() removed | |
| ⋮ | view more | ||