pub enum Message {
Init {
meta: MessageMeta,
},
User {
content: String,
meta: MessageMeta,
},
Assistant {
content: String,
meta: MessageMeta,
},
Result {
meta: MessageMeta,
stats: ConversationStats,
},
System {
content: String,
meta: MessageMeta,
},
Tool {
name: String,
parameters: Value,
meta: MessageMeta,
},
ToolResult {
tool_name: String,
result: Value,
meta: MessageMeta,
},
}
Expand description
Represents a message in a Claude AI conversation
Variants§
Init
Initialization message when starting a session
Fields
§
meta: MessageMeta
User
User input message
Assistant
Claude AI’s response
Result
Final result with conversation statistics
System
System message for setting context
Tool
Tool invocation request
Fields
§
meta: MessageMeta
ToolResult
Result from a tool execution
Implementations§
Source§impl Message
impl Message
Sourcepub fn message_type(&self) -> MessageType
pub fn message_type(&self) -> MessageType
Get the type of this message
Sourcepub fn meta(&self) -> &MessageMeta
pub fn meta(&self) -> &MessageMeta
Get the metadata associated with this message
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
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 Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnwindSafe for Message
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