92da7a9970
When the main agent uses a named custom provider (custom:<name>), resolve_runtime_provider correctly resolves the base_url and api_key. But the auxiliary client re-resolves from the bare 'custom' provider name, losing the provider identity. The bare 'custom' falls back to OpenRouter, which _resolve_custom_runtime() then rejects — leaving all auxiliary tasks (title gen, compression, vision, session search, etc.) with no credentials. Fix: when resolve_provider_client receives a main_runtime dict containing concrete base_url + api_key, use it directly instead of re-resolving. The main agent already solved provider resolution; the auxiliary client just needs to reuse its answer. Closes #45472