pub struct MockControlledTool {
pub started: Arc<Notify>,
pub allow_finish: Arc<Notify>,
}Available on crate feature
test-utils only.Expand description
A mock tool that notifies when started and waits for an explicit finish signal.
Fields§
§started: Arc<Notify>Notified when a tool call starts.
allow_finish: Arc<Notify>Waited on before a tool call finishes.
Implementations§
Trait Implementations§
Source§impl Clone for MockControlledTool
impl Clone for MockControlledTool
Source§fn clone(&self) -> MockControlledTool
fn clone(&self) -> MockControlledTool
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Tool for MockControlledTool
impl Tool for MockControlledTool
Source§const NAME: &'static str = "controlled"
const NAME: &'static str = "controlled"
The name of the tool. This name should be unique within a single
ToolSet or other registration scope that dispatches tools by name.Source§type Error = MockToolError
type Error = MockToolError
The error type of the tool.
Source§fn description(&self) -> String
fn description(&self) -> String
Model-facing description of what the tool does.
Source§fn parameters(&self) -> Value
fn parameters(&self) -> Value
JSON Schema for the tool arguments.
Source§async fn call(&self, _args: Self::Args) -> Result<Self::Output, Self::Error>
async fn call(&self, _args: Self::Args) -> Result<Self::Output, Self::Error>
The tool execution method.
Both the arguments and return value are a String since these values are meant to
be the output and input of LLM models (respectively)
Source§fn call_with_extensions(
&self,
args: Self::Args,
_extensions: &ToolCallExtensions,
) -> impl Future<Output = Result<Self::Output, Self::Error>> + WasmCompatSend
fn call_with_extensions( &self, args: Self::Args, _extensions: &ToolCallExtensions, ) -> impl Future<Output = Result<Self::Output, Self::Error>> + WasmCompatSend
Tool execution with per-call runtime extensions. Read more
Source§fn classify_error(&self, error: &Self::Error) -> ToolFailure
fn classify_error(&self, error: &Self::Error) -> ToolFailure
Classify an error returned by this tool into a structured
ToolFailure. Read moreSource§fn call_structured(
&self,
args: Self::Args,
extensions: &ToolCallExtensions,
) -> impl Future<Output = Result<ToolReturn<Self::Output>, Self::Error>> + WasmCompatSend
fn call_structured( &self, args: Self::Args, extensions: &ToolCallExtensions, ) -> impl Future<Output = Result<ToolReturn<Self::Output>, Self::Error>> + WasmCompatSend
Execute the tool, returning a structured
ToolReturn instead of a bare
output. Read moreAuto Trait Implementations§
impl Freeze for MockControlledTool
impl RefUnwindSafe for MockControlledTool
impl Send for MockControlledTool
impl Sync for MockControlledTool
impl Unpin for MockControlledTool
impl UnsafeUnpin for MockControlledTool
impl UnwindSafe for MockControlledTool
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CloneableStorage for T
impl<T> CloneableStorage for T
fn clone_storage(&self) -> Box<dyn CloneableStorage>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ToolDyn for Twhere
T: Tool,
impl<T> ToolDyn for Twhere
T: Tool,
Source§fn call_structured<'a>(
&'a self,
args: String,
extensions: &'a ToolCallExtensions,
) -> Pin<Box<dyn Future<Output = ToolExecutionResult> + Send + 'a>>
fn call_structured<'a>( &'a self, args: String, extensions: &'a ToolCallExtensions, ) -> Pin<Box<dyn Future<Output = ToolExecutionResult> + Send + 'a>>
Routes through Tool::call_structured so rich returns
(ToolReturn) and Tool::classify_error are honored: a JSON
argument parse failure becomes an
InvalidArgs outcome, a returned
Err(Self::Error) is classified, and a successful ToolReturn is
serialized while preserving its outcome and extensions.
Source§fn description(&self) -> String
fn description(&self) -> String
Model-facing description of what the tool does.
Source§fn parameters(&self) -> Value
fn parameters(&self) -> Value
JSON Schema for the tool arguments.