pub fn discover_free_opencode_models() -> Vec<String>Expand description
Discover free opencode models, with 1-hour cache and background refresh.
This is the single source of truth for free model discovery. Called by the router (pool expansion, model_map), the runner (failover), and startup priming.
Non-blocking: returns cached data immediately. When the cache is cold
or expired, spawns a background thread to refresh via opencode models.