Skip to main content

LocalProcessSandbox

Struct LocalProcessSandbox 

Source
pub struct LocalProcessSandbox { /* private fields */ }
Expand description

A Sandbox backed by the local file system and shell.

Provides no isolation. Paths resolve relative to root, but absolute paths and .. are not blocked. Use only in tests and examples.

Implementations§

Source§

impl LocalProcessSandbox

Source

pub fn new(root: impl Into<PathBuf>) -> Self

Uses root as the working directory and the platform shell (/bin/sh -c or cmd /C).

Source

pub fn with_shell( self, program: impl Into<String>, args: impl IntoIterator<Item = String>, ) -> Self

Overrides the shell used to run commands (program followed by the arguments that precede the command line).

Source

pub fn with_description(self, description: impl Into<String>) -> Self

Overrides the description.

Source

pub fn root(&self) -> &Path

The root directory.

Trait Implementations§

Source§

impl Clone for LocalProcessSandbox

Source§

fn clone(&self) -> LocalProcessSandbox

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LocalProcessSandbox

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Sandbox for LocalProcessSandbox

Source§

fn description(&self) -> &str

Human-readable description added to agent instructions.
Source§

fn read_file( &self, options: ReadFileOptions, ) -> BoxFuture<'_, Result<Option<ByteStream>>>

Streams a file’s bytes.
Source§

fn read_binary_file( &self, options: ReadFileOptions, ) -> BoxFuture<'_, Result<Option<Bytes>>>

Reads a file into memory.
Source§

fn read_text_file( &self, options: ReadTextFileOptions, ) -> BoxFuture<'_, Result<Option<String>>>

Reads a text file, optionally a line range.
Source§

fn write_file( &self, options: WriteFileOptions<ByteStream>, ) -> BoxFuture<'_, Result<()>>

Writes a file from a byte stream.
Source§

fn write_binary_file( &self, options: WriteFileOptions<Bytes>, ) -> BoxFuture<'_, Result<()>>

Writes a file from bytes.
Source§

fn write_text_file( &self, options: WriteFileOptions<String>, ) -> BoxFuture<'_, Result<()>>

Writes a text file.
Source§

fn spawn( &self, options: ProcessOptions, ) -> BoxFuture<'_, Result<Box<dyn SandboxProcess>>>

Starts a process.
Source§

fn run(&self, options: ProcessOptions) -> BoxFuture<'_, Result<ProcessResult>>

Runs a command to completion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.