95eae03883
resolve_display_context_length() runs two blocking chains: the route comparison in should_clear_context_pin() and the provider probe ladder in get_model_context_length() (blocking requests calls to Anthropic /v1/models, Copilot, Nous, Codex, GMI, Ollama, models.dev and OpenRouter). The gateway message path already offloads both via get_model_context_length_async() and should_clear_context_pin_async(), but the /model slash-command handlers (_handle_model_command, _finish_switch) called the sync helper directly, freezing the whole event loop for the duration of the probe ladder - no messages processed on any platform, and the Discord heartbeat timeouts that get_model_context_length_async() was introduced to prevent. Add resolve_display_context_length_async(), a thin asyncio.to_thread wrapper mirroring the two existing *_async helpers (no logic duplication), and await it at both handlers.