pub struct ToolServer { /* private fields */ }Expand description
Builder for constructing a ToolServerHandle.
Accumulates tools and configuration, then produces a shared handle via
run().
Implementations§
Source§impl ToolServer
impl ToolServer
pub fn new() -> Self
Sourcepub fn tool(self, tool: impl Tool + 'static) -> Self
pub fn tool(self, tool: impl Tool + 'static) -> Self
Add a static tool to the agent. Re-registering an existing name replaces the implementation (last wins) and keeps its position.
Sourcepub fn rmcp_tool(self, tool: Tool, client: ServerSink) -> Self
Available on crate feature rmcp only.
pub fn rmcp_tool(self, tool: Tool, client: ServerSink) -> Self
rmcp only.Add an MCP tool (from rmcp) to the agent, bounded by
DEFAULT_MCP_TOOL_TIMEOUT
(see issue #1914). Use rmcp_tool_with_timeout
to change or disable it.
Sourcepub fn rmcp_tool_with_timeout(
self,
tool: Tool,
client: ServerSink,
timeout: impl Into<Option<Duration>>,
) -> Self
Available on crate feature rmcp only.
pub fn rmcp_tool_with_timeout( self, tool: Tool, client: ServerSink, timeout: impl Into<Option<Duration>>, ) -> Self
rmcp only.Add an MCP tool (from rmcp) with a per-call timeout (see issue #1914).
Pass a Duration to bound the call, or None to
disable the timeout (unbounded).
Sourcepub fn dynamic_tools(
self,
sample: usize,
dynamic_tools: impl VectorStoreIndexDyn + Send + Sync + 'static,
toolset: ToolSet,
) -> Self
pub fn dynamic_tools( self, sample: usize, dynamic_tools: impl VectorStoreIndexDyn + Send + Sync + 'static, toolset: ToolSet, ) -> Self
Add some dynamic tools to the agent. On each prompt, sample tools from the
dynamic toolset will be inserted in the request.
Sourcepub fn run(self) -> ToolServerHandle
pub fn run(self) -> ToolServerHandle
Consume the builder and return a shared ToolServerHandle.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ToolServer
impl !UnwindSafe for ToolServer
impl Freeze for ToolServer
impl Send for ToolServer
impl Sync for ToolServer
impl Unpin for ToolServer
impl UnsafeUnpin for ToolServer
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> 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 more