pub struct CatalogModelEntry {Show 17 fields
pub provider: String,
pub model_id: String,
pub name: String,
pub protocol: CatalogProtocol,
pub source: CatalogSource,
pub base_url: Option<String>,
pub reasoning: bool,
pub supports_vision: bool,
pub cost_input: f64,
pub cost_output: f64,
pub cost_cache_read: f64,
pub cost_cache_write: f64,
pub context_window: u32,
pub max_tokens: u32,
pub input_modalities: Vec<String>,
pub release_date: Option<String>,
pub status: Option<String>,
}Expand description
Snapshot of a single model entry.
Clone is cheap (mostly strings + small numerics). Owned values rather
than &'static so consumers can hold snapshots past the catalog’s
internal lock.
Fields§
§provider: StringProvider identifier this model belongs to (e.g. "anthropic").
model_id: StringModel identifier (e.g. "claude-3-opus-20240229").
name: StringHuman-readable display name.
protocol: CatalogProtocolProtocol for this specific model. May differ from the parent provider’s protocol (per-model override; dynamic-catalog §2.2).
source: CatalogSourceWhere this entry came from.
base_url: Option<String>Model-level base URL override. None = inherit from provider.
See dynamic-catalog §2.2 (v3 — 55 models).
reasoning: boolWhether the model supports reasoning/thinking output.
supports_vision: boolWhether the model accepts image inputs.
cost_input: f64USD per million tokens. 0.0 = free or undisclosed by upstream.
cost_output: f64USD per million output tokens.
cost_cache_read: f64USD per million cache-read tokens.
cost_cache_write: f64USD per million cache-write tokens.
context_window: u32Maximum context length in tokens.
max_tokens: u32Maximum output tokens per response.
input_modalities: Vec<String>Input modalities (e.g. ["text", "image"]). Empty = unknown.
release_date: Option<String>Release date (free-form string from upstream, may be absent).
status: Option<String>Lifecycle status (e.g. "ga", "preview", "deprecated").
Trait Implementations§
Source§impl Clone for CatalogModelEntry
impl Clone for CatalogModelEntry
Source§fn clone(&self) -> CatalogModelEntry
fn clone(&self) -> CatalogModelEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CatalogModelEntry
impl Debug for CatalogModelEntry
Source§impl<'de> Deserialize<'de> for CatalogModelEntry
impl<'de> Deserialize<'de> for CatalogModelEntry
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>,
Auto Trait Implementations§
impl Freeze for CatalogModelEntry
impl RefUnwindSafe for CatalogModelEntry
impl Send for CatalogModelEntry
impl Sync for CatalogModelEntry
impl Unpin for CatalogModelEntry
impl UnsafeUnpin for CatalogModelEntry
impl UnwindSafe for CatalogModelEntry
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.