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 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
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 Freeze for ToolServer
impl !RefUnwindSafe for ToolServer
impl Send for ToolServer
impl Sync for ToolServer
impl Unpin for ToolServer
impl UnsafeUnpin for ToolServer
impl !UnwindSafe 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
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