zot/internal/provider
patriceckhart ef93175bf9 add Google Gemini provider
- internal/provider/gemini.go: REST client against
  generativelanguage.googleapis.com/v1beta/models/{id}:streamGenerateContent
  ?alt=sse, mapping our message/tool format to Gemini's Content/Part schema
  and translating SSE chunks into the existing assistant-message event
  stream. Handles text, tool calls, thought-summary parts, and per-model
  thinking config (thinkingBudget for 2.5, thinkingLevel for 3.x with
  Gemini-3-Pro pinned to LOW minimum).
- internal/provider/discover.go: DiscoverGoogle pages /v1beta/models and
  filters to chat-capable ids (skips embeddings, AQA).
- internal/provider/models.go: catalog entries for gemini-2.5-pro,
  2.5-flash, 2.5-flash-lite, 2.0-flash, 2.0-flash-lite.
- internal/auth: 'google' is a recognized provider; API-key probe hits
  /v1beta/models with x-goog-api-key. OAuth flows reject google with a
  clear 'API-key only' error since Gemini Advanced subscriptions don't
  issue API tokens.
- internal/agent: env lookup for GEMINI_API_KEY / GOOGLE_API_KEY,
  default model gemini-2.5-pro, NewClient wires provider.NewGemini,
  background model discovery, /login + /logout + rescue dialog all
  include google.
- README: new ### Google Gemini section with auth model, free-tier
  limits, and reasoning-config notes.
2026-05-07 21:15:34 +02:00
..
anthropic.go add model rescue picker and silent transient retries 2026-05-06 20:40:31 +02:00
anthropic_image.go anthropic: downscale oversized images on outbound requests 2026-04-28 12:48:13 +02:00
anthropic_image_test.go anthropic: downscale oversized images on outbound requests 2026-04-28 12:48:13 +02:00
cache.go initial commit 2026-04-17 20:36:38 +02:00
discover.go add Google Gemini provider 2026-05-07 21:15:34 +02:00
gemini.go add Google Gemini provider 2026-05-07 21:15:34 +02:00
gemini_test.go add Google Gemini provider 2026-05-07 21:15:34 +02:00
merge.go initial commit 2026-04-17 20:36:38 +02:00
models.go add Google Gemini provider 2026-05-07 21:15:34 +02:00
openai.go add model rescue picker and silent transient retries 2026-05-06 20:40:31 +02:00
openai_codex.go add model rescue picker and silent transient retries 2026-05-06 20:40:31 +02:00
provider.go provider: replay reasoning items and repair orphan tool results 2026-05-05 15:00:41 +02:00
provider_test.go fix kimi empty assistant messages 2026-05-06 18:49:43 +02:00
refreshing.go feat: auto-refresh OAuth tokens before each API call 2026-04-24 19:37:44 +02:00
retry.go add model rescue picker and silent transient retries 2026-05-06 20:40:31 +02:00
retry_test.go add model rescue picker and silent transient retries 2026-05-06 20:40:31 +02:00
sse.go initial commit 2026-04-17 20:36:38 +02:00
usermodels.go Add built-in Kimi provider support 2026-05-05 08:40:37 +02:00