Commit Graph

5 Commits

  • **feat(util): add -reasoning suffix support for Gemini models**
    Adds support for the `-reasoning` model name suffix which enables
    thinking/reasoning mode with dynamic budget. This allows clients to
    request reasoning-enabled inference using model names like
    `gemini-2.5-flash-reasoning` without explicit configuration.
    
    The suffix is normalized to the base model (e.g., gemini-2.5-flash)
    with thinkingBudget=-1 (dynamic) and include_thoughts=true.
    
    Follows the existing pattern established by -nothinking and
    -thinking-N suffixes.
  • Fixed: #291
    **feat(executor): add thinking level to budget conversion utility**
    
    - Introduced `ConvertThinkingLevelToBudget` to map thinking level ("high"/"low") to corresponding budget values.
    - Applied the utility in `aistudio_executor.go` before stripping unsupported configs.
    - Updated dependencies to include `tidwall/gjson` for JSON parsing.
  • Add AMP fallback proxy and shared Gemini normalization
    - add fallback handler that forwards Amp provider requests to ampcode.com when the provider isn’t configured locally
    - wrap AMP provider routes with the fallback so requests always have a handler
    - share Gemini thinking model normalization helper between core handlers and AMP fallback
  • Feature: #103
    feat(gemini): add Gemini thinking configuration support and metadata normalization
    
    - Introduced logic to parse and apply `thinkingBudget` and `include_thoughts` configurations from metadata.
    - Enhanced request handling to include normalized Gemini model metadata, preserving the original model identifier.
    - Updated Gemini and Gemini-CLI executors to apply thinking configuration based on metadata overrides.
    - Refactored handlers to support metadata extraction and cloning during request preparation.