pub struct BuiltinTool {
pub name: String,
pub display_name: Option<String>,
pub description: String,
pub parameters: Value,
pub policy: ToolPolicy,
pub category: Option<String>,
pub deferrable: DeferrablePolicy,
pub hints: ToolHints,
pub full_parameters: Option<Value>,
}Expand description
Built-in tool configuration
Note: The kind field has been removed. Tools are now identified
solely by their name field, and execution happens via the ToolRegistry
which looks up tools by name.
Fields§
§name: StringTool name (used by LLM and for registry lookup)
display_name: Option<String>Human-readable display name for UI rendering (e.g., “Get Current Time” for get_current_time)
description: StringTool description for LLM
parameters: ValueJSON schema for tool parameters
policy: ToolPolicyTool policy (auto or requires_approval)
category: Option<String>Category for tool_search namespace grouping (from parent capability)
deferrable: DeferrablePolicyWhether this tool’s schema can be deferred via tool_search
hints: ToolHintsSemantic hints describing the tool’s behavioral properties
full_parameters: Option<Value>Original full parameter schema saved by DeferSchemaHook before stripping.
Serialized only when present so durable reason-to-act scheduling can
preserve deferred schemas for tool_search in the act phase.
Trait Implementations§
Source§impl Clone for BuiltinTool
impl Clone for BuiltinTool
Source§fn clone(&self) -> BuiltinTool
fn clone(&self) -> BuiltinTool
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for BuiltinTool
impl Debug for BuiltinTool
Source§impl<'de> Deserialize<'de> for BuiltinTool
impl<'de> Deserialize<'de> for BuiltinTool
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<BuiltinTool, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<BuiltinTool, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for BuiltinTool
impl Serialize for BuiltinTool
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for BuiltinTool
impl RefUnwindSafe for BuiltinTool
impl Send for BuiltinTool
impl Sync for BuiltinTool
impl Unpin for BuiltinTool
impl UnsafeUnpin for BuiltinTool
impl UnwindSafe for BuiltinTool
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<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>
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