pub struct ContextProvider { /* private fields */ }Expand description
Provides context automatically to AI providers
Implementations§
Source§impl ContextProvider
impl ContextProvider
Sourcepub fn new(max_tokens: usize, max_tokens_per_file: usize) -> Self
pub fn new(max_tokens: usize, max_tokens_per_file: usize) -> Self
Create a new context provider
Sourcepub fn provide_context_for_generation(
&self,
query: &str,
available_files: Vec<FileContext>,
) -> Result<CodeContext, ResearchError>
pub fn provide_context_for_generation( &self, query: &str, available_files: Vec<FileContext>, ) -> Result<CodeContext, ResearchError>
Provide context for a code generation task
Sourcepub fn provide_context_for_review(
&self,
query: &str,
available_files: Vec<FileContext>,
) -> Result<CodeContext, ResearchError>
pub fn provide_context_for_review( &self, query: &str, available_files: Vec<FileContext>, ) -> Result<CodeContext, ResearchError>
Provide context for a code review task
Sourcepub fn provide_context_for_refactoring(
&self,
query: &str,
available_files: Vec<FileContext>,
) -> Result<CodeContext, ResearchError>
pub fn provide_context_for_refactoring( &self, query: &str, available_files: Vec<FileContext>, ) -> Result<CodeContext, ResearchError>
Provide context for a refactoring task
Sourcepub fn provide_context_for_documentation(
&self,
query: &str,
available_files: Vec<FileContext>,
) -> Result<CodeContext, ResearchError>
pub fn provide_context_for_documentation( &self, query: &str, available_files: Vec<FileContext>, ) -> Result<CodeContext, ResearchError>
Provide context for a documentation task
Sourcepub fn context_builder(&self) -> &ContextBuilder
pub fn context_builder(&self) -> &ContextBuilder
Get the context builder
Sourcepub fn context_optimizer(&self) -> &ContextOptimizer
pub fn context_optimizer(&self) -> &ContextOptimizer
Get the context optimizer
Sourcepub fn relevance_scorer(&self) -> &RelevanceScorer
pub fn relevance_scorer(&self) -> &RelevanceScorer
Get the relevance scorer
Sourcepub fn set_max_tokens(&mut self, max_tokens: usize)
pub fn set_max_tokens(&mut self, max_tokens: usize)
Set maximum tokens
Sourcepub fn set_max_tokens_per_file(&mut self, max_tokens: usize)
pub fn set_max_tokens_per_file(&mut self, max_tokens: usize)
Set maximum tokens per file
Trait Implementations§
Source§impl Clone for ContextProvider
impl Clone for ContextProvider
Source§fn clone(&self) -> ContextProvider
fn clone(&self) -> ContextProvider
Returns a duplicate of the value. Read more
1.0.0 · 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 ContextProvider
impl Debug for ContextProvider
Auto Trait Implementations§
impl Freeze for ContextProvider
impl RefUnwindSafe for ContextProvider
impl Send for ContextProvider
impl Sync for ContextProvider
impl Unpin for ContextProvider
impl UnwindSafe for ContextProvider
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