pub struct ToolPresentationProfileV1 { /* private fields */ }Expand description
Versioned, serializable Tool-presentation policy frozen by a Session and copied into each admitted Run.
Implementations§
Source§impl ToolPresentationProfileV1
impl ToolPresentationProfileV1
pub fn adaptive() -> Self
pub fn direct() -> Self
pub fn code() -> Self
pub fn disabled() -> Self
pub fn schema(&self) -> &str
pub const fn mode(&self) -> ToolPresentationModeV1
pub fn validate(&self) -> Result<(), ToolPresentationError>
Sourcepub fn ensure_within(&self, parent: &Self) -> Result<(), ToolPresentationError>
pub fn ensure_within(&self, parent: &Self) -> Result<(), ToolPresentationError>
Reject a child mode that could expose a shape outside its parent.
direct is the widest root mode. adaptive and code are intentionally
incomparable because each can expose a definition the other omits for a
given prompt. disabled is always a valid child.
Sourcepub fn present_for_messages(
&self,
source: &[ToolDefinition],
messages: &[Message],
) -> Result<Vec<ToolDefinition>, ToolPresentationError>
pub fn present_for_messages( &self, source: &[ToolDefinition], messages: &[Message], ) -> Result<Vec<ToolDefinition>, ToolPresentationError>
Project the exact Tool definitions presented for one message context.
Callers must first remove definitions hidden by run-owned permission policy. The returned vector is canonical by Tool name and is validated as a definition-only projection of that source.
Sourcepub fn present_for_prompt(
&self,
source: &[ToolDefinition],
prompt: &str,
) -> Result<Vec<ToolDefinition>, ToolPresentationError>
pub fn present_for_prompt( &self, source: &[ToolDefinition], prompt: &str, ) -> Result<Vec<ToolDefinition>, ToolPresentationError>
Project definitions from a plain prompt without constructing a full conversation history.
Trait Implementations§
Source§impl Clone for ToolPresentationProfileV1
impl Clone for ToolPresentationProfileV1
Source§fn clone(&self) -> ToolPresentationProfileV1
fn clone(&self) -> ToolPresentationProfileV1
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 Debug for ToolPresentationProfileV1
impl Debug for ToolPresentationProfileV1
Source§impl Default for ToolPresentationProfileV1
impl Default for ToolPresentationProfileV1
Source§impl<'de> Deserialize<'de> for ToolPresentationProfileV1
impl<'de> Deserialize<'de> for ToolPresentationProfileV1
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 ToolPresentationProfileV1
impl StructuralPartialEq for ToolPresentationProfileV1
Auto Trait Implementations§
impl Freeze for ToolPresentationProfileV1
impl RefUnwindSafe for ToolPresentationProfileV1
impl Send for ToolPresentationProfileV1
impl Sync for ToolPresentationProfileV1
impl Unpin for ToolPresentationProfileV1
impl UnsafeUnpin for ToolPresentationProfileV1
impl UnwindSafe for ToolPresentationProfileV1
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