pub enum CapabilitiesAccept {
V1,
V2,
V3,
}Expand description
Capabilities schema selector (v0.6.3.1 P1 honesty patch; extended through v0.7.0 A1–A5).
HTTP callers send Accept-Capabilities: v1/v2/v3 to request a
shape; MCP callers pass accept: "v1"/"v2"/"v3" to
memory_capabilities. As of v0.7.0 A5, the default is v3. v2
stays supported indefinitely for backward compat — clients that
pin v2 explicitly continue to get the v2 shape unchanged.
v3 carries pre-computed calibration fields stacked from the A1–A4
increments (top-level summary from A1; to_describe_to_user
from A2; per-tool tools[].callable_now from A3;
agent_permitted_families from A4). v3 is additive over v2 —
no v2 fields are removed or retyped — so v0.6.4 SDK clients
reading v3 by name still resolve every field they used to. The
schema_version discriminator does change from "2" to "3",
which is why clients that strict-equality-asserted on it must
either relax that or pin accept="v2" explicitly.
v3 requires the live Profile (and optionally McpConfig +
agent_id) for the new pre-computed fields, so callers that opt
in must reach for handle_capabilities_with_conn_v3 instead of
the v1/v2 entry point.
Variants§
V1
V2
V3
v0.7.0 A1–A4 — additive on top of v2: summary,
to_describe_to_user, per-tool tools[].callable_now,
optional agent_permitted_families. Default since A5.
Implementations§
Trait Implementations§
Source§impl Clone for CapabilitiesAccept
impl Clone for CapabilitiesAccept
Source§fn clone(&self) -> CapabilitiesAccept
fn clone(&self) -> CapabilitiesAccept
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CapabilitiesAccept
Source§impl Debug for CapabilitiesAccept
impl Debug for CapabilitiesAccept
impl Eq for CapabilitiesAccept
Source§impl PartialEq for CapabilitiesAccept
impl PartialEq for CapabilitiesAccept
Source§fn eq(&self, other: &CapabilitiesAccept) -> bool
fn eq(&self, other: &CapabilitiesAccept) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CapabilitiesAccept
Auto Trait Implementations§
impl Freeze for CapabilitiesAccept
impl RefUnwindSafe for CapabilitiesAccept
impl Send for CapabilitiesAccept
impl Sync for CapabilitiesAccept
impl Unpin for CapabilitiesAccept
impl UnsafeUnpin for CapabilitiesAccept
impl UnwindSafe for CapabilitiesAccept
Blanket Implementations§
impl<T> Boilerplate for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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§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
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
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 more