After PR #2317 moved detected effort maps into model.thinking.effortMap,
the request builders stopped reading the active compat's reasoningEffortMap
at all. That dropped two surfaces:
1) compat.whenThinking variants whose reasoningEffortMap was applied at
buildModel time were silently ignored on thinking turns.
2) Custom raw Model configs that author reasoningEffortMap on compat (no
buildModel pass) had no path onto the wire.
Introduce a single resolveActiveEffortMap helper in both openai-completions
and openai-responses that overlays the active compat's reasoningEffortMap on
top of model.thinking.effortMap. Default catalog path is unchanged because
the resolved compat.reasoningEffortMap is empty.
Fixes#2315