pub struct LocalProcessRuntime { /* private fields */ }Expand description
Runtime that runs agents as local processes — no Docker or containers needed.
Implementations§
Trait Implementations§
Source§impl SandboxRuntime for LocalProcessRuntime
impl SandboxRuntime for LocalProcessRuntime
Source§fn create_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 SandboxSpec,
) -> Pin<Box<dyn Future<Output = CiabResult<SandboxInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn create_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
spec: &'life1 SandboxSpec,
) -> Pin<Box<dyn Future<Output = CiabResult<SandboxInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Create a new sandbox from the given spec.
Source§fn get_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<SandboxInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<SandboxInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get info about a sandbox by ID.
Source§fn list_sandboxes<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
state: Option<SandboxState>,
provider: Option<&'life1 str>,
labels: &'life2 HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<SandboxInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_sandboxes<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
state: Option<SandboxState>,
provider: Option<&'life1 str>,
labels: &'life2 HashMap<String, String>,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<SandboxInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
List all sandboxes, optionally filtered by state, provider, and labels.
Source§fn start_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn start_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Start a sandbox.
Source§fn stop_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stop_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stop a sandbox.
Source§fn pause_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn pause_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Pause a sandbox.
Source§fn resume_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn resume_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Resume a paused sandbox.
Source§fn terminate_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn terminate_sandbox<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Terminate and remove a sandbox.
Source§fn exec<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = CiabResult<ExecResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn exec<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = CiabResult<ExecResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a command inside a sandbox.
Source§fn exec_streaming<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = CiabResult<(Receiver<String>, JoinHandle<CiabResult<ExecResult>>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn exec_streaming<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = CiabResult<(Receiver<String>, JoinHandle<CiabResult<ExecResult>>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a command inside a sandbox, streaming stdout lines as they arrive.
Returns a receiver of output lines and a join handle for the final ExecResult. Read more
Source§fn exec_streaming_interactive<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = CiabResult<(Receiver<String>, Sender<String>, JoinHandle<CiabResult<ExecResult>>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn exec_streaming_interactive<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
request: &'life2 ExecRequest,
) -> Pin<Box<dyn Future<Output = CiabResult<(Receiver<String>, Sender<String>, JoinHandle<CiabResult<ExecResult>>)>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Execute a command with bidirectional streaming.
Returns (stdout lines receiver, stdin sender, join handle).
Send lines to the stdin sender to write to the process’s stdin.
Source§fn read_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<u8>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn read_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<u8>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Read a file from a sandbox.
Source§fn write_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
content: &'life3 [u8],
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn write_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
content: &'life3 [u8],
) -> Pin<Box<dyn Future<Output = CiabResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Write a file to a sandbox.
Source§fn list_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<FileInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn list_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
path: &'life2 str,
) -> Pin<Box<dyn Future<Output = CiabResult<Vec<FileInfo>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
List files in a directory inside a sandbox.
Source§fn get_stats<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<ResourceStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_stats<'life0, 'life1, 'async_trait>(
&'life0 self,
id: &'life1 Uuid,
) -> Pin<Box<dyn Future<Output = CiabResult<ResourceStats>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get resource stats for a sandbox.
Source§fn stream_logs<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 Uuid,
_options: &'life2 LogOptions,
) -> Pin<Box<dyn Future<Output = CiabResult<Receiver<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn stream_logs<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_id: &'life1 Uuid,
_options: &'life2 LogOptions,
) -> Pin<Box<dyn Future<Output = CiabResult<Receiver<String>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Stream logs from a sandbox.
Auto Trait Implementations§
impl !Freeze for LocalProcessRuntime
impl !RefUnwindSafe for LocalProcessRuntime
impl Send for LocalProcessRuntime
impl Sync for LocalProcessRuntime
impl Unpin for LocalProcessRuntime
impl UnsafeUnpin for LocalProcessRuntime
impl !UnwindSafe for LocalProcessRuntime
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