Skip to content

feat(gemini): Phase 6 -- list models + remote discovery #1598

@bug-ops

Description

@bug-ops

Part of #1592

Scope

Implement GET /v1beta/models for model listing and integration with TUI model picker.

Files to Modify

  • crates/zeph-llm/src/gemini.rs -- implement list_models_remote()
  • crates/zeph-llm/src/any.rs -- add AnyProvider::Gemini arm to list_models_remote() match

Key Implementation Details

  • Endpoint: GET /v1beta/models?key={API_KEY}
  • Response contains model list with name, displayName, inputTokenLimit, outputTokenLimit
  • Map to RemoteModelInfo { id, display_name, context_window, created_at }
  • Filter to generative models only (exclude embedding-only models from chat list)

Acceptance Criteria

  • list_models_remote() returns available Gemini models
  • Context window populated from inputTokenLimit
  • Display name populated from API response
  • Model cache integration works
  • Unit tests with wiremock

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions