pub struct ToolCapabilities {
pub read_only: bool,
pub idempotent: bool,
pub resumable: bool,
pub cancellation_safe: bool,
pub supports_pagination: bool,
pub max_parallelism: usize,
pub output_kind: ToolOutputKind,
}Expand description
Execution properties used by orchestrators to make safe scheduling choices.
Defaults are deliberately conservative. A tool must explicitly opt into parallel-safe or resumable behavior.
Fields§
§read_only: bool§idempotent: bool§resumable: bool§cancellation_safe: bool§supports_pagination: bool§max_parallelism: usize§output_kind: ToolOutputKindImplementations§
Source§impl ToolCapabilities
impl ToolCapabilities
pub const fn conservative() -> Self
pub const fn read_only_paginated(max_parallelism: usize) -> Self
pub const fn parallel_safe_read(max_parallelism: usize) -> Self
pub fn allows_parallel_batch(self) -> bool
Trait Implementations§
Source§impl Clone for ToolCapabilities
impl Clone for ToolCapabilities
Source§fn clone(&self) -> ToolCapabilities
fn clone(&self) -> ToolCapabilities
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 moreimpl Copy for ToolCapabilities
Source§impl Debug for ToolCapabilities
impl Debug for ToolCapabilities
Source§impl Default for ToolCapabilities
impl Default for ToolCapabilities
Source§impl<'de> Deserialize<'de> for ToolCapabilities
impl<'de> Deserialize<'de> for ToolCapabilities
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ToolCapabilities
Source§impl PartialEq for ToolCapabilities
impl PartialEq for ToolCapabilities
Source§impl Serialize for ToolCapabilities
impl Serialize for ToolCapabilities
impl StructuralPartialEq for ToolCapabilities
Auto Trait Implementations§
impl Freeze for ToolCapabilities
impl RefUnwindSafe for ToolCapabilities
impl Send for ToolCapabilities
impl Sync for ToolCapabilities
impl Unpin for ToolCapabilities
impl UnsafeUnpin for ToolCapabilities
impl UnwindSafe for ToolCapabilities
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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>
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