feat(providers): configure provider model lists consistently
Merged
SA
5mo ago+908+908+012345678901234567890123456789-639-639-012345678901234567890123456789
Summary
- Apply configured provider model lists centrally in the registry for all providers
- Add CONFIGURED_PROVIDER_MODELS_MODE with fallback default and allowlist mode
- Enable [_SUFFIX]_MODELS env vars for every provider type
- Remove provider-local configured-model fallback behavior from Oracle/Azure/OpenAI-compatible providers
- Update docs/examples and add registry/config/env/cache tests
Behavior
- fallback: use configured models only when upstream /models errors, returns nil, or returns empty
- allowlist: expose only configured models for providers that define a list, preserving upstream metadata for matching IDs
Validation
- go test ./...
- pre-commit hooks: go import/fmt, make test-race, go mod tidy, performance guard, make lint
Summary by CodeRabbit
-
New Features
- Added CONFIGURED_PROVIDER_MODELS_MODE (fallback | allowlist) and support for per-provider model lists via _MODELS and YAML models entries.
-
Behavior Changes
- Configured model lists either supplement upstream model discovery (fallback, default) or replace it for providers with configured lists (allowlist). Multi-instance provider model variables are respected.
-
Documentation
- Updated README, Getting Started, and advanced docs to document the new mode, per-provider MODEL variables, and multi-instance configuration.