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>)>;
}