feat(providers): implement GeminiProvider for Google Gemini API #10617

Closed
HAL9000 wants to merge 1 commits from feat/v3.6.0/gemini-provider into master

1 Commits

Author SHA1 Message Date
HAL9000 db2437c155 feat(providers): implement GeminiProvider for Google Gemini API
CI / benchmark-publish (pull_request) Has been skipped
CI / helm (pull_request) Successful in 33s
CI / push-validation (pull_request) Successful in 28s
CI / build (pull_request) Successful in 1m1s
CI / lint (pull_request) Failing after 1m15s
CI / typecheck (pull_request) Successful in 1m32s
CI / quality (pull_request) Successful in 1m43s
CI / security (pull_request) Successful in 1m56s
CI / coverage (pull_request) Has been skipped
CI / integration_tests (pull_request) Successful in 4m39s
CI / unit_tests (pull_request) Successful in 5m11s
CI / docker (pull_request) Has been skipped
CI / e2e_tests (pull_request) Successful in 5m22s
CI / status-check (pull_request) Failing after 3s
Implements GeminiProvider class that enables actors to use Google Gemini
models (gemini-1.5-pro, gemini-1.5-flash, etc.) for plan execution.

- Add GeminiProvider in src/cleveragents/providers/llm/gemini_provider.py
  using langchain_google_genai.ChatGoogleGenerativeAI (backed by the
  google-generativeai SDK) with GEMINI_API_KEY / gemini_api_key settings
- Export GeminiProvider from cleveragents.providers.llm package __init__
- Wire ProviderType.GEMINI in registry.create_ai_provider() to return a
  dedicated GeminiProvider instance (separate from GoogleChatProvider)
- Add Behave BDD feature file features/gemini_provider.feature with 9
  scenarios covering instantiation, default model, streaming, kwargs
  forwarding, token counting, error handling, and API key validation
- Add step definitions in features/steps/gemini_provider_steps.py

ISSUES CLOSED: #5256
2026-04-28 07:14:36 +00:00