pub struct ProgressToken(pub Value);Expand description
The progress token an MCP client passes in tools/call params
_meta.progressToken. Spec allows EITHER a string OR a number;
the server echoes back whatever shape the client sent. Held as
serde_json::Value so we don’t lose the original wire shape on
the round-trip.
Created from the request params._meta.progressToken JSON value
via ProgressToken::from_meta; the dispatcher’s handle_tools_call
is the sole caller.
Tuple Fields§
§0: ValueImplementations§
Source§impl ProgressToken
impl ProgressToken
Sourcepub fn from_meta(params: &Value) -> Option<Self>
pub fn from_meta(params: &Value) -> Option<Self>
Read _meta.progressToken from the tools/call params JSON
blob. Returns None if either the _meta key is absent, the
progressToken key is absent, or the value is null. The spec
only permits string and number — any other JSON type returns
None so unexpected shapes are treated as “client did not
request progress”.
Trait Implementations§
Source§impl Clone for ProgressToken
impl Clone for ProgressToken
Source§fn clone(&self) -> ProgressToken
fn clone(&self) -> ProgressToken
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 ProgressToken
impl Debug for ProgressToken
Source§impl<'de> Deserialize<'de> for ProgressToken
impl<'de> Deserialize<'de> for ProgressToken
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
Auto Trait Implementations§
impl Freeze for ProgressToken
impl RefUnwindSafe for ProgressToken
impl Send for ProgressToken
impl Sync for ProgressToken
impl Unpin for ProgressToken
impl UnsafeUnpin for ProgressToken
impl UnwindSafe for ProgressToken
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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