4be38125af
Named endpoints from the providers: mapping (and legacy custom_providers: list) never appear in the ACP model selector: _build_model_state lists only the canonical current provider's catalog, and canonical provider enumeration does not include user-defined named endpoints. The TUI /model picker already renders these entries (#47039, implemented for the TUI surface only), so editor clients silently hide endpoints the user configured — e.g. an OpenAI-compatible Bedrock Mantle Responses provider. Add _named_custom_provider_catalogs(), sourcing entries from get_compatible_custom_providers() (covers both config shapes), and append its models to the selector payload. Choice ids use the custom:<name> slug shape so custom:<name>:<model> selections round-trip through parse_model_input / resolve_runtime_provider unchanged on set_session_model. Declared models (default_model + models) survive failed live /models discovery — some OpenAI-compatible endpoints expose no /models route yet serve their declared models fine. Honors providers.<name>.enabled: false and discover_models: false. Verified: scripts/run_tests.sh tests/acp/ — 318 passed, 0 failed; scripts/check-windows-footguns.py clean.