pub struct ProviderRegistry {
pub providers: Vec<ProviderEntry>,
}Fields§
§providers: Vec<ProviderEntry>Implementations§
Source§impl ProviderRegistry
impl ProviderRegistry
pub fn default_seed() -> ProviderRegistryResult<Self>
pub fn find_provider(&self, name: &str) -> Option<&ProviderEntry>
pub fn contains_model(&self, requested: &str) -> bool
Sourcepub fn advertised_providers(&self) -> impl Iterator<Item = &ProviderEntry>
pub fn advertised_providers(&self) -> impl Iterator<Item = &ProviderEntry>
The one place the advertisement rule is applied to the registry.
A surface: backend provider (e.g. minimax) can never leak into a
client catalog through a hand-rolled flatten. Routing/admin paths that
must still see backend providers iterate self.providers directly.
Sourcepub fn advertised_model_ids(&self, surfaces: &[ApiSurface]) -> Vec<String>
pub fn advertised_model_ids(&self, surfaces: &[ApiSurface]) -> Vec<String>
An empty surfaces slice means the full catalog.
A gateway front door (e.g. Cowork in Anthropic mode) rejects its whole config if advertised models include a name from another vendor family, so a caller scopes the list to its own surface; routes may still proxy those names to a different provider underneath.
pub fn validate(&self) -> ProviderRegistryResult<()>
Trait Implementations§
Source§impl Clone for ProviderRegistry
impl Clone for ProviderRegistry
Source§fn clone(&self) -> ProviderRegistry
fn clone(&self) -> ProviderRegistry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProviderRegistry
impl Debug for ProviderRegistry
Source§impl Default for ProviderRegistry
impl Default for ProviderRegistry
Source§fn default() -> ProviderRegistry
fn default() -> ProviderRegistry
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ProviderRegistry
impl<'de> Deserialize<'de> for ProviderRegistry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for ProviderRegistry
impl JsonSchema for ProviderRegistry
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Auto Trait Implementations§
impl Freeze for ProviderRegistry
impl RefUnwindSafe for ProviderRegistry
impl Send for ProviderRegistry
impl Sync for ProviderRegistry
impl Unpin for ProviderRegistry
impl UnsafeUnpin for ProviderRegistry
impl UnwindSafe for ProviderRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more