zot/internal/auth
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
..
auth_test.go initial commit 2026-04-17 20:36:38 +02:00
callback.go feat(auth,tui): dark login pages + /logout picker 2026-04-19 20:14:22 +02:00
kimi.go Add built-in Kimi provider support 2026-05-05 08:40:37 +02:00
manager.go add Google Gemini provider 2026-05-07 21:15:34 +02:00
oauth.go Add built-in Kimi provider support 2026-05-05 08:40:37 +02:00
probe.go add Google Gemini provider 2026-05-07 21:15:34 +02:00
server.go add Google Gemini provider 2026-05-07 21:15:34 +02:00
store.go add Google Gemini provider 2026-05-07 21:15:34 +02:00