pub struct Write {
pub workspace: Arc<dyn Workspace>,
pub base: Option<PathBuf>,
pub confine: bool,
pub seen: Seen,
}Expand description
Writes a whole file, creating its parent directories. Publishes the file
it changed (FilesChanged): its resolved path,
and the diff. The text it wrote counts as Seen whole, so an edit of
the file starts from it; a write that failed forgets the file.
Fields§
§workspace: Arc<dyn Workspace>Where the file is written.
base: Option<PathBuf>The directory a relative path is written in; None is the
workspace’s working directory.
confine: boolWhether a path that resolves outside base is refused, before
anything is written.
seen: SeenTrait Implementations§
Source§impl Tool for Write
impl Tool for Write
Source§type Error = ToolExecutionError
type Error = ToolExecutionError
Typed error returned by direct calls to this tool. Read more
Source§fn description(&self) -> String
fn description(&self) -> String
Model-facing description.
Source§fn parameters(&self) -> Value
fn parameters(&self) -> Value
JSON Schema for arguments.
Source§fn annotations(&self) -> ToolAnnotations
fn annotations(&self) -> ToolAnnotations
What calling the tool does to the world, for the host’s policies
(approval, plan mode, which calls run side by side). Nothing is
stated by default, which reads as the protocol’s defaults
(
ToolAnnotations).Source§fn footprint(&self, args: &WriteArgs) -> Touches
fn footprint(&self, args: &WriteArgs) -> Touches
What a call with
args may read and change, so a host runs the
calls of one reply that touch different things side by side. The
default reads it from the annotations: a
read-only tool reads anything, any other writes anything.Source§async fn call(
&self,
context: &mut ToolContext,
args: WriteArgs,
) -> Result<String, ToolExecutionError>
async fn call( &self, context: &mut ToolContext, args: WriteArgs, ) -> Result<String, ToolExecutionError>
Execute the tool.
Auto Trait Implementations§
impl !RefUnwindSafe for Write
impl !UnwindSafe for Write
impl Freeze for Write
impl Send for Write
impl Sync for Write
impl Unpin for Write
impl UnsafeUnpin for Write
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