pub struct RunCommandTool { /* private fields */ }Expand description
LLM tool: run a command inside the sandbox.
Two modes:
- Oneshot (
wait: true, default): blocks until the command exits, returns exit code + stdout + stderr in a single response. - Background (
wait: false): returns immediately with the PID. Usewait_for_processandread_process_outputto poll status and read output.
Implementations§
Source§impl RunCommandTool
impl RunCommandTool
Sourcepub const fn new(ctx: Arc<SandboxContext>) -> Self
pub const fn new(ctx: Arc<SandboxContext>) -> Self
Create a new run_command tool.
Trait Implementations§
Source§impl Tool for RunCommandTool
impl Tool for RunCommandTool
Source§fn description(&self) -> &'static str
fn description(&self) -> &'static str
The tool’s description.
Source§fn schema(&self) -> &ToolSchema
fn schema(&self) -> &ToolSchema
The tool’s schema for argument validation.
Source§fn invoke(
&self,
input: Value,
) -> BoxFuture<'_, Result<ToolOutput, SynwireError>>
fn invoke( &self, input: Value, ) -> BoxFuture<'_, Result<ToolOutput, SynwireError>>
Invoke the tool with JSON arguments.
Auto Trait Implementations§
impl !Freeze for RunCommandTool
impl !RefUnwindSafe for RunCommandTool
impl Send for RunCommandTool
impl Sync for RunCommandTool
impl Unpin for RunCommandTool
impl UnsafeUnpin for RunCommandTool
impl !UnwindSafe for RunCommandTool
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
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