pub struct SrtBashSandbox { /* private fields */ }Expand description
An srt-backed local command sandbox rooted at one workspace.
Implementations§
Source§impl SrtBashSandbox
impl SrtBashSandbox
Sourcepub fn new(
binary: impl Into<PathBuf>,
workspace: impl Into<PathBuf>,
) -> Result<Self>
pub fn new( binary: impl Into<PathBuf>, workspace: impl Into<PathBuf>, ) -> Result<Self>
Build an adapter from an explicit srt executable.
Sourcepub fn from_verified_npm(
binary: impl Into<PathBuf>,
workspace: impl Into<PathBuf>,
) -> Result<Self>
pub fn from_verified_npm( binary: impl Into<PathBuf>, workspace: impl Into<PathBuf>, ) -> Result<Self>
Build an adapter from a compatible npm installation at an exact path.
Unlike Self::new, this path verifies the package identity and tested
version before accepting its CLI. It is intended for embedding hosts
that provision SRT outside PATH.
Sourcepub fn from_verified_npm_with_node(
binary: impl Into<PathBuf>,
node: impl Into<PathBuf>,
workspace: impl Into<PathBuf>,
) -> Result<Self>
pub fn from_verified_npm_with_node( binary: impl Into<PathBuf>, node: impl Into<PathBuf>, workspace: impl Into<PathBuf>, ) -> Result<Self>
Build from a verified npm installation and an explicitly selected Node executable.
Managed hosts use this form so command startup cannot select a different
node from a later PATH entry after provisioning has completed.
pub fn binary(&self) -> &Path
pub fn workspace(&self) -> &Path
Trait Implementations§
Source§impl BashSandbox for SrtBashSandbox
impl BashSandbox for SrtBashSandbox
Source§fn exec_command<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
command: &'life1 str,
guest_workspace: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<SandboxOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn exec_command<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
command: &'life1 str,
guest_workspace: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<SandboxOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a shell command inside the sandbox. Read more
Auto Trait Implementations§
impl Freeze for SrtBashSandbox
impl RefUnwindSafe for SrtBashSandbox
impl Send for SrtBashSandbox
impl Sync for SrtBashSandbox
impl Unpin for SrtBashSandbox
impl UnsafeUnpin for SrtBashSandbox
impl UnwindSafe for SrtBashSandbox
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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