helpers/providers.py.dox.md
providers.py helper module.providers.py because this directory is intentionally flat.providers.py owns the runtime implementation.providers.py.dox.md owns durable notes about responsibilities, contracts, side effects, and verification for that implementation.FieldOption (TypedDict)ProviderManager (no explicit base class)
get_instance(cls)reload(cls)get_providers(self, provider_type: ModelType) -> List[FieldOption]get_raw_providers(self, provider_type: ModelType) -> List[Dict[str, str]]get_provider_config(self, provider_type: ModelType, provider_id: str) -> Optional[Dict[str, str]]get_providers(provider_type: ModelType) -> List[FieldOption]: Convenience function to get providers of a specific type.get_raw_providers(provider_type: ModelType) -> List[Dict[str, str]]: Return full metadata for providers of a given type.get_provider_config(provider_type: ModelType, provider_id: str) -> Optional[Dict[str, str]]: Return metadata for a single provider (None if not found).reload_providers(): Re-merge base + plugin provider configs. Call after plugin changes.PROVIDER_MANAGER_CACHE_AREA, PROVIDER_MANAGER_CACHE_KEY.helpers, typing, yaml.ProviderManager.get_instance.get_providers, ProviderManager.get_instance.get_raw_providers, ProviderManager.get_instance.get_provider_config, ProviderManager.reload, cache.remove, cls.get_instance, inst._load_providers, files.get_abs_path, self._normalise_yaml, get_enabled_plugin_paths, provider_id.lower, self.get_raw_providers, cls, cache.add, self._load_providers, self._load_yaml, items.sort, ProviderManager.get_instance, lower, yaml.safe_load.tests/test_fastmcp_openapi_security.pytests/test_model_config_api_keys.pytests/test_oauth_codex.pytests/test_oauth_gemini_api.pytests/test_oauth_github_copilot.pytests/test_oauth_providers.pytests/test_oauth_xai_grok.pytests/test_onboarding_static.pyNo child DOX files.