pub trait AiProviderRegistry: Send + Sync {
// Required methods
fn resolve(
&self,
task: AiTask,
provider_id: Option<&str>,
policy: ProviderPolicy,
) -> Result<&dyn AiProvider>;
fn list_capabilities(&self) -> Vec<(String, Vec<AiCapability>)>;
}Required Methods§
fn resolve( &self, task: AiTask, provider_id: Option<&str>, policy: ProviderPolicy, ) -> Result<&dyn AiProvider>
fn list_capabilities(&self) -> Vec<(String, Vec<AiCapability>)>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".