pub struct ToolDisplayHook { /* private fields */ }Expand description
A hook that shows Claude Code style tool execution
Implementations§
Source§impl ToolDisplayHook
impl ToolDisplayHook
pub fn new() -> Self
Sourcepub fn state(&self) -> Arc<Mutex<DisplayState>>
pub fn state(&self) -> Arc<Mutex<DisplayState>>
Get the shared state for external access
Sourcepub async fn get_usage(&self) -> AccumulatedUsage
pub async fn get_usage(&self) -> AccumulatedUsage
Get accumulated usage (blocks on lock)
Sourcepub async fn reset_usage(&self)
pub async fn reset_usage(&self)
Reset usage counter (e.g., at start of a new request batch)
Sourcepub async fn set_progress_state(&self, progress: Arc<ProgressState>)
pub async fn set_progress_state(&self, progress: Arc<ProgressState>)
Set the progress indicator state for real-time token display
Sourcepub async fn clear_progress_state(&self)
pub async fn clear_progress_state(&self)
Clear the progress state
Sourcepub async fn cancel(&self)
pub async fn cancel(&self)
Trigger cancellation of the current request. This will cause rig to stop after the current tool/response completes.
Sourcepub async fn can_cancel(&self) -> bool
pub async fn can_cancel(&self) -> bool
Check if cancellation is possible (a cancel signal is stored)
Trait Implementations§
Source§impl Clone for ToolDisplayHook
impl Clone for ToolDisplayHook
Source§fn clone(&self) -> ToolDisplayHook
fn clone(&self) -> ToolDisplayHook
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for ToolDisplayHook
impl Default for ToolDisplayHook
Source§impl<M> PromptHook<M> for ToolDisplayHookwhere
M: CompletionModel,
impl<M> PromptHook<M> for ToolDisplayHookwhere
M: CompletionModel,
Source§fn on_tool_call(
&self,
tool_name: &str,
_tool_call_id: Option<String>,
args: &str,
cancel: CancelSignal,
) -> impl Future<Output = ()> + Send
fn on_tool_call( &self, tool_name: &str, _tool_call_id: Option<String>, args: &str, cancel: CancelSignal, ) -> impl Future<Output = ()> + Send
Called before a tool is invoked.
Source§fn on_tool_result(
&self,
tool_name: &str,
_tool_call_id: Option<String>,
args: &str,
result: &str,
_cancel: CancelSignal,
) -> impl Future<Output = ()> + Send
fn on_tool_result( &self, tool_name: &str, _tool_call_id: Option<String>, args: &str, result: &str, _cancel: CancelSignal, ) -> impl Future<Output = ()> + Send
Called after a tool is invoked (and a result has been returned).
Source§fn on_completion_response(
&self,
_prompt: &Message,
response: &CompletionResponse<M::Response>,
cancel: CancelSignal,
) -> impl Future<Output = ()> + Send
fn on_completion_response( &self, _prompt: &Message, response: &CompletionResponse<M::Response>, cancel: CancelSignal, ) -> impl Future<Output = ()> + Send
Called after the prompt is sent to the model and a response is received.
Source§fn on_completion_call(
&self,
prompt: &Message,
history: &[Message],
cancel_sig: CancelSignal,
) -> impl Future<Output = ()> + WasmCompatSend
fn on_completion_call( &self, prompt: &Message, history: &[Message], cancel_sig: CancelSignal, ) -> impl Future<Output = ()> + WasmCompatSend
Called before the prompt is sent to the model
Auto Trait Implementations§
impl Freeze for ToolDisplayHook
impl !RefUnwindSafe for ToolDisplayHook
impl Send for ToolDisplayHook
impl Sync for ToolDisplayHook
impl Unpin for ToolDisplayHook
impl !UnwindSafe for ToolDisplayHook
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> 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> 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 moreCreates a shared type from an unshared type.