pub enum ResourceContentsUnion {
Text(TextResourceContents),
Blob(BlobResourceContents),
}Expand description
Either text or blob resource contents.
Variants§
Text(TextResourceContents)
Blob(BlobResourceContents)
Trait Implementations§
Source§impl Clone for ResourceContentsUnion
impl Clone for ResourceContentsUnion
Source§fn clone(&self) -> ResourceContentsUnion
fn clone(&self) -> ResourceContentsUnion
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 ResourceContentsUnion
impl Debug for ResourceContentsUnion
Source§impl<'de> Deserialize<'de> for ResourceContentsUnion
impl<'de> Deserialize<'de> for ResourceContentsUnion
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
Source§impl From<ResourceContentsUnion> for RichContentPart
Available on crate feature mcp only.Convert an inlined MCP resource (ResourceContentsUnion) into a
RichContentPart. Mapping rules:
impl From<ResourceContentsUnion> for RichContentPart
Available on crate feature
mcp only.Convert an inlined MCP resource (ResourceContentsUnion) into a
RichContentPart. Mapping rules:
Text→ text part.Blobwithimage/*mime →image_urlpart (base64 data URL).Blobwithaudio/*mime →input_audiopart (raw base64 + format string, matching theFrom<AudioContent>convention).Blobwithvideo/*mime →input_videopart (base64 data URL in theVideoUrlshape).- Any other blob — including ambiguous container types like
application/oggorapplication/mp4where the bytes would be needed to disambiguate audio vs video — becomes a file part with the raw base64 data and a filename lifted from the resource URI’s trailing path segment.
Used by From<ContentBlock>’s EmbeddedResource arm and by
crate::mcp::Connection::call_tool_as_message’s ResourceLink
fetch path — both produce a ResourceContentsUnion, both want
the same mapping.
Source§fn from(contents: ResourceContentsUnion) -> Self
fn from(contents: ResourceContentsUnion) -> Self
Converts to this type from the input type.
Source§impl JsonSchema for ResourceContentsUnion
impl JsonSchema for ResourceContentsUnion
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreAuto Trait Implementations§
impl Freeze for ResourceContentsUnion
impl RefUnwindSafe for ResourceContentsUnion
impl Send for ResourceContentsUnion
impl Sync for ResourceContentsUnion
impl Unpin for ResourceContentsUnion
impl UnsafeUnpin for ResourceContentsUnion
impl UnwindSafe for ResourceContentsUnion
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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