feat: add Google Gemini provider with CLI token reuse support

- Add src/providers/gemini.rs with support for:
  - Direct API key (GEMINI_API_KEY env var or config)
  - Gemini CLI OAuth token reuse (~/.gemini/oauth_creds.json)
  - GOOGLE_API_KEY environment variable fallback
- Register gemini provider in src/providers/mod.rs with aliases: gemini, google, google-gemini
- Add Gemini to onboarding wizard with:
  - Auto-detection of existing Gemini CLI credentials
  - Model selection (gemini-2.0-flash, gemini-1.5-pro, etc.)
  - API key URL and env var guidance
- Add comprehensive tests for Gemini provider
- Fix pre-existing clippy warnings in email_channel.rs and whatsapp.rs

Closes #XX (Gemini CLI token reuse feature request)
This commit is contained in:
argenis de la rosa 2026-02-14 14:58:19 -05:00
parent 1862c18d10
commit 3bb5deff37
6 changed files with 527 additions and 32 deletions

View file

@ -14,6 +14,8 @@ pub use imessage::IMessageChannel;
pub use matrix::MatrixChannel;
pub use slack::SlackChannel;
pub use telegram::TelegramChannel;
#[allow(unused_imports)]
pub use whatsapp::WhatsAppChannel;
pub use traits::Channel;
use crate::config::Config;