pub struct SearchFileTool { /* private fields */ }Expand description
Tool implementation for glob-based workspace path search.
Implementations§
Source§impl SearchFileTool
impl SearchFileTool
Sourcepub const NAME: &'static str = "search_file"
pub const NAME: &'static str = "search_file"
Tool name used for registration and function definition.
Sourcepub fn new(workspace: PathBuf) -> Self
pub fn new(workspace: PathBuf) -> Self
Create a new SearchFileTool with the default workspace directory.
A call may narrow the workspace by including workspace or workspaces in the tool
call’s context meta extra. Request metadata is caller-controlled, so a requested
directory is honored only when it resolves inside a configured workspace.
Sourcepub fn with_workspaces<I>(workspaces: I) -> Selfwhere
I: IntoIterator<Item = PathBuf>,
pub fn with_workspaces<I>(workspaces: I) -> Selfwhere
I: IntoIterator<Item = PathBuf>,
Create a new SearchFileTool with the default workspace directories.
A requested workspace that resolves inside one of these takes precedence at call
time; one that does not is ignored, so these bound everything the tool can reach.
Sourcepub fn with_description(self, description: String) -> Self
pub fn with_description(self, description: String) -> Self
Overrides the function description exposed to the model.
Trait Implementations§
Source§impl Clone for SearchFileTool
impl Clone for SearchFileTool
Source§impl Tool<BaseCtx> for SearchFileTool
impl Tool<BaseCtx> for SearchFileTool
Source§type Args = SearchFileArgs
type Args = SearchFileArgs
The arguments type of the tool.
Source§type Output = SearchFileOutput
type Output = SearchFileOutput
The output type of the tool.
Source§fn description(&self) -> String
fn description(&self) -> String
Returns a concise description of the tool’s capability.
Source§fn group(&self) -> Option<ToolGroupInfo>
fn group(&self) -> Option<ToolGroupInfo>
Returns the capability group this tool belongs to, if any. Read more
Source§fn definition(&self) -> FunctionDefinition
fn definition(&self) -> FunctionDefinition
Returns the function definition, including the JSON parameter schema. Read more
Source§async fn call(
&self,
ctx: BaseCtx,
args: Self::Args,
_resources: Vec<Resource>,
) -> Result<ToolOutput<Self::Output>, BoxError>
async fn call( &self, ctx: BaseCtx, args: Self::Args, _resources: Vec<Resource>, ) -> Result<ToolOutput<Self::Output>, BoxError>
Executes the tool with typed arguments and selected resources. Read more
Returns resource tags this tool can consume. Read more
Source§fn select_resources(&self, resources: &mut Vec<Resource>) -> Vec<Resource>
fn select_resources(&self, resources: &mut Vec<Resource>) -> Vec<Resource>
Removes and returns resources matching this tool’s supported tags.
Auto Trait Implementations§
impl Freeze for SearchFileTool
impl RefUnwindSafe for SearchFileTool
impl Send for SearchFileTool
impl Sync for SearchFileTool
impl Unpin for SearchFileTool
impl UnsafeUnpin for SearchFileTool
impl UnwindSafe for SearchFileTool
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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