pub struct DiscoveredModel {
pub model_id: String,
pub display_name: Option<String>,
pub created_at: Option<DateTime<Utc>>,
pub owned_by: Option<String>,
pub discovered_profile: Option<ModelProfile>,
}Expand description
Model information discovered from a provider’s list_models API
Represents a model available from a provider. Used for dynamic model discovery to sync available models from provider APIs into the database.
The discovered_profile field carries structured capability/limit metadata
parsed from the provider’s API response (e.g., Anthropic’s capabilities object).
During model sync, this profile is merged with hardcoded profiles: hardcoded
values take precedence (they include cost data not available from APIs),
but discovered data fills gaps for models without hardcoded profiles.
Fields§
§model_id: StringModel identifier (e.g., “gpt-5.2”, “claude-opus-4-5-20251101”)
display_name: Option<String>Human-readable display name (if provided by API)
created_at: Option<DateTime<Utc>>When the model was created/released
owned_by: Option<String>Owner or organization (e.g., “openai”, “system”)
discovered_profile: Option<ModelProfile>Structured profile built from provider API metadata (capabilities, limits). Populated by drivers that return rich model metadata (e.g., Anthropic /v1/models).
Trait Implementations§
Source§impl Clone for DiscoveredModel
impl Clone for DiscoveredModel
Source§fn clone(&self) -> DiscoveredModel
fn clone(&self) -> DiscoveredModel
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DiscoveredModel
impl RefUnwindSafe for DiscoveredModel
impl Send for DiscoveredModel
impl Sync for DiscoveredModel
impl Unpin for DiscoveredModel
impl UnsafeUnpin for DiscoveredModel
impl UnwindSafe for DiscoveredModel
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,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request