pub struct EditFileTool { /* private fields */ }Expand description
Tool implementation for atomic string replacement in text files.
Implementations§
Source§impl EditFileTool
impl EditFileTool
Sourcepub const NAME: &'static str = "edit_file"
pub const NAME: &'static str = "edit_file"
Tool name used for registration and function definition.
Sourcepub fn new(workspace: PathBuf) -> Self
pub fn new(workspace: PathBuf) -> Self
Create a new EditFileTool 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 EditFileTool 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 EditFileTool
impl Clone for EditFileTool
Source§impl Tool<BaseCtx> for EditFileTool
impl Tool<BaseCtx> for EditFileTool
Source§type Args = EditFileArgs
type Args = EditFileArgs
The arguments type of the tool.
Source§type Output = EditFileOutput
type Output = EditFileOutput
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 EditFileTool
impl RefUnwindSafe for EditFileTool
impl Send for EditFileTool
impl Sync for EditFileTool
impl Unpin for EditFileTool
impl UnsafeUnpin for EditFileTool
impl UnwindSafe for EditFileTool
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