pub struct ToolStartEvent {
pub tool_name: ToolName,
pub tool_call_id: String,
pub params: Option<Value>,
pub parent_tool_use_id: Option<String>,
pub started_at: Instant,
pub speculative: bool,
pub sandbox_profile: Option<SandboxProfile>,
}Expand description
Event carrying data for a tool call start, emitted before execution begins.
Passed by value to Channel::send_tool_start and carried by
LoopbackEvent::ToolStart. All fields are owned — no lifetime parameters.
Fields§
§tool_name: ToolNameName of the tool being invoked.
tool_call_id: StringOpaque tool call ID assigned by the LLM.
params: Option<Value>Raw input parameters passed to the tool (e.g. {"command": "..."} for bash).
parent_tool_use_id: Option<String>Set when this tool call is made by a subagent; identifies the parent’s tool_call_id.
started_at: InstantWall-clock instant when the tool call was initiated; used to compute elapsed time.
speculative: boolTrue when this tool call was speculatively dispatched before LLM finished decoding.
TUI renders a [spec] prefix; Telegram suppresses unless chat_visibility = verbose.
sandbox_profile: Option<SandboxProfile>OS sandbox profile applied to this tool call, if any.
None means no sandbox was applied (not configured or not a subprocess executor).
Trait Implementations§
Source§impl Clone for ToolStartEvent
impl Clone for ToolStartEvent
Source§fn clone(&self) -> ToolStartEvent
fn clone(&self) -> ToolStartEvent
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ToolStartEvent
impl RefUnwindSafe for ToolStartEvent
impl Send for ToolStartEvent
impl Sync for ToolStartEvent
impl Unpin for ToolStartEvent
impl UnsafeUnpin for ToolStartEvent
impl UnwindSafe for ToolStartEvent
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request