pub struct CatalogModel {
pub provider_key: String,
pub provider_name: String,
pub provider_kind: CatalogProviderKind,
pub id: String,
pub label: Option<String>,
pub context_tokens: Option<u64>,
pub max_output_tokens: Option<u64>,
pub input_modalities: Vec<Modality>,
pub pricing: PricingSummary,
pub reasoning: ReasoningSupport,
pub source: CatalogSource,
}Expand description
Normalized model catalog entry. Every provider handler produces these.
Fields§
§provider_key: StringProvider key (e.g. “openrouter”, “groq”).
provider_name: StringHuman-readable provider name.
provider_kind: CatalogProviderKindProvider kind for routing/capability dispatch.
id: StringModel id as used in API requests (no provider prefix).
label: Option<String>Human-readable label.
context_tokens: Option<u64>Input context window in tokens.
max_output_tokens: Option<u64>Maximum output tokens.
input_modalities: Vec<Modality>Input modalities.
pricing: PricingSummaryPricing summary.
reasoning: ReasoningSupportReasoning/thinking capability.
source: CatalogSourceData provenance.
Implementations§
Source§impl CatalogModel
impl CatalogModel
Sourcepub fn new(
provider_key: impl Into<String>,
provider_name: impl Into<String>,
id: impl Into<String>,
) -> Option<Self>
pub fn new( provider_key: impl Into<String>, provider_name: impl Into<String>, id: impl Into<String>, ) -> Option<Self>
Construct a minimal entry, returning None if the id is blank.
Sourcepub fn runtime_id(&self) -> String
pub fn runtime_id(&self) -> String
Synaps runtime id. Provider identity is always explicit, including Anthropic.
Sourcepub fn display_label(&self) -> &str
pub fn display_label(&self) -> &str
Label if present, id otherwise.
Sourcepub fn codex_supported_levels(&self) -> Option<&[ReasoningLevel]>
pub fn codex_supported_levels(&self) -> Option<&[ReasoningLevel]>
For Codex models: returns the exact ordered set of supported named levels,
or None if this model has no Codex-named capability data.
Sourcepub fn codex_multi_agent_version(&self) -> Option<CodexMultiAgentVersion>
pub fn codex_multi_agent_version(&self) -> Option<CodexMultiAgentVersion>
Exact Codex collaboration protocol, if the authoritative capability record advertised one.
Sourcepub fn codex_supports_level(&self, level: ReasoningLevel) -> bool
pub fn codex_supports_level(&self, level: ReasoningLevel) -> bool
For Codex models: true iff the given level is in the supported set. Always returns false for models without Codex-named capability data.
Trait Implementations§
Source§impl Clone for CatalogModel
impl Clone for CatalogModel
Source§impl Debug for CatalogModel
impl Debug for CatalogModel
impl Eq for CatalogModel
Source§impl PartialEq for CatalogModel
impl PartialEq for CatalogModel
impl StructuralPartialEq for CatalogModel
Auto Trait Implementations§
impl Freeze for CatalogModel
impl RefUnwindSafe for CatalogModel
impl Send for CatalogModel
impl Sync for CatalogModel
impl Unpin for CatalogModel
impl UnsafeUnpin for CatalogModel
impl UnwindSafe for CatalogModel
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.