Skip to main content

ProviderResolver

Trait ProviderResolver 

Source
pub trait ProviderResolver:
    Send
    + Sync
    + 'static {
    // Required methods
    fn resolve_provider(&self, name: &str) -> Option<Arc<dyn Provider>>;
    fn resolve_model(&self, model_id: &str) -> Option<Model>;
}
Expand description
Stable since 0.63.0
Trait for resolving providers and models within an Agent.

This abstracts away global static registries, allowing SDK users to provide isolated provider/model lookups.

When using the SDK (oxicode-sdk), the Oxicode engine implements this trait. When using Agent::new() directly, a global fallback is used.

Required Methods§

Source

fn resolve_provider(&self, name: &str) -> Option<Arc<dyn Provider>>

Resolve a provider by name, returning an Arc handle.

Source

fn resolve_model(&self, model_id: &str) -> Option<Model>

Resolve a model ID (“provider/model” or bare “model”) to a Model.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl ProviderResolver for Oxicode

Implement ProviderResolver so Oxicode can be used as Agent’s resolver.