pub struct ModelDescriptor {
pub id: String,
pub provider: String,
pub model: String,
pub capabilities: ProviderCapabilities,
pub context_tokens: u64,
pub context_source: RoutingContextSource,
pub pricing: Option<ModelPricing>,
pub expected_latency_ms: Option<u64>,
}Expand description
One content-addressed model description in the local catalog.
Fields§
§id: StringBLAKE3 identity over every remaining descriptor field.
provider: StringAdapter identifier.
model: StringExact provider model selector.
capabilities: ProviderCapabilitiesAdapter capabilities observed before routing.
context_tokens: u64Effective context boundary used by the compaction budget.
context_source: RoutingContextSourceProvenance of context_tokens.
pricing: Option<ModelPricing>Optional pinned pricing. Unknown pricing cannot satisfy a priced budget.
expected_latency_ms: Option<u64>Optional conservative latency ceiling in milliseconds.
Implementations§
Source§impl ModelDescriptor
impl ModelDescriptor
Sourcepub fn new(
provider: impl Into<String>,
model: impl Into<String>,
capabilities: ProviderCapabilities,
context_tokens: u64,
context_source: RoutingContextSource,
pricing: Option<ModelPricing>,
expected_latency_ms: Option<u64>,
) -> Result<Self, RoutingError>
pub fn new( provider: impl Into<String>, model: impl Into<String>, capabilities: ProviderCapabilities, context_tokens: u64, context_source: RoutingContextSource, pricing: Option<ModelPricing>, expected_latency_ms: Option<u64>, ) -> Result<Self, RoutingError>
Constructs a descriptor, validates material fields, and computes its content-addressed ID.
Sourcepub fn material_digest(&self) -> Result<String, RoutingError>
pub fn material_digest(&self) -> Result<String, RoutingError>
Material-digests the descriptor’s non-ID fields.
Sourcepub fn validate(&self) -> Result<(), RoutingError>
pub fn validate(&self) -> Result<(), RoutingError>
Validates material fields and ensures the ID matches the material digest.
Trait Implementations§
Source§impl Clone for ModelDescriptor
impl Clone for ModelDescriptor
Source§fn clone(&self) -> ModelDescriptor
fn clone(&self) -> ModelDescriptor
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 ModelDescriptor
impl Debug for ModelDescriptor
Source§impl<'de> Deserialize<'de> for ModelDescriptor
impl<'de> Deserialize<'de> for ModelDescriptor
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
impl Eq for ModelDescriptor
Source§impl PartialEq for ModelDescriptor
impl PartialEq for ModelDescriptor
Source§impl Serialize for ModelDescriptor
impl Serialize for ModelDescriptor
impl StructuralPartialEq for ModelDescriptor
Auto Trait Implementations§
impl Freeze for ModelDescriptor
impl RefUnwindSafe for ModelDescriptor
impl Send for ModelDescriptor
impl Sync for ModelDescriptor
impl Unpin for ModelDescriptor
impl UnsafeUnpin for ModelDescriptor
impl UnwindSafe for ModelDescriptor
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