pub struct ProviderRegistry { /* private fields */ }Expand description
Central registry for all context providers.
Implementations§
Source§impl ProviderRegistry
impl ProviderRegistry
pub fn new() -> Self
pub fn register(&self, provider: Arc<dyn ContextProvider>)
pub fn get(&self, id: &str) -> Option<Arc<dyn ContextProvider>>
pub fn execute( &self, provider_id: &str, action: &str, params: &ProviderParams, ) -> Result<ProviderResult, String>
Sourcepub fn execute_as_chunks(
&self,
provider_id: &str,
action: &str,
params: &ProviderParams,
) -> Result<Vec<ContentChunk>, String>
pub fn execute_as_chunks( &self, provider_id: &str, action: &str, params: &ProviderParams, ) -> Result<Vec<ContentChunk>, String>
Execute and convert results to ContentChunks for BM25/embedding ingest.
Sourcepub fn discover(&self) -> Vec<ProviderInfo>
pub fn discover(&self) -> Vec<ProviderInfo>
List all registered providers with their availability and actions.
pub fn provider_count(&self) -> usize
pub fn available_provider_ids(&self) -> Vec<String>
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ProviderRegistry
impl RefUnwindSafe for ProviderRegistry
impl Send for ProviderRegistry
impl Sync for ProviderRegistry
impl Unpin for ProviderRegistry
impl UnsafeUnpin for ProviderRegistry
impl UnwindSafe for ProviderRegistry
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
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more