#!/bin/bash
# Let Gemini-Timmy configure itself as Anthropic fallback.
# Hermes CLI won't accept --provider custom, so we use hermes setup flow.
# But first: prove Gemini works, then manually add fallback_model.

# Add Google Gemini as custom_provider + fallback_model in one shot
python3 << 'PYEOF'
import yaml, sys, os

config_path = os.path.expanduser("~/.hermes/config.yaml")
with open(config_path) as f:
    config = yaml.safe_load(f)

# 1. Add Gemini to custom_providers if missing
providers = config.get("custom_providers", []) or []
has_gemini = any("gemini" in (p.get("name","").lower()) for p in providers)
if not has_gemini:
    providers.append({
        "name": "Google Gemini",
        "base_url": "https://generativelanguage.googleapis.com/v1beta/openai",
        "api_key_env": "GEMINI_API_KEY",
        "model": "gemini-2.5-pro",
    })
    config["custom_providers"] = providers
    print("+ Added Google Gemini custom provider")

# 2. Add fallback_model block if missing
if "fallback_model" not in config or not config.get("fallback_model"):
    config["fallback_model"] = {
        "provider": "custom",
        "model": "gemini-2.5-pro",
        "base_url": "https://generativelanguage.googleapis.com/v1beta/openai",
        "api_key_env": "GEMINI_API_KEY",
    }
    print("+ Added fallback_model -> gemini-2.5-pro")
else:
    print("= fallback_model already configured")

with open(config_path, "w") as f:
    yaml.dump(config, f, default_flow_style=False, sort_keys=False)

print("\nDone. When Anthropic quota exhausts, Hermes will failover to Gemini 2.5 Pro.")
print("Primary: claude-opus-4-6 (Anthropic)")
print("Fallback: gemini-2.5-pro (Google AI)")
PYEOF
