pub struct Message {
pub role: Role,
pub content: String,
pub name: Option<String>,
pub tool_call_id: Option<String>,
}Expand description
A message in a conversation.
Fields§
§role: RoleRole of the message sender
content: StringContent of the message
name: Option<String>Optional name (for multi-user conversations or tool calls)
tool_call_id: Option<String>Tool call ID (for tool role messages)
Implementations§
Source§impl Message
impl Message
Sourcepub fn user(content: impl Into<String>) -> Self
pub fn user(content: impl Into<String>) -> Self
Create a user message.
§Example
use simple_agent_type::message::{Message, Role};
let msg = Message::user("Hello!");
assert_eq!(msg.role, Role::User);
assert_eq!(msg.content, "Hello!");Sourcepub fn assistant(content: impl Into<String>) -> Self
pub fn assistant(content: impl Into<String>) -> Self
Create an assistant message.
§Example
use simple_agent_type::message::{Message, Role};
let msg = Message::assistant("Hi there!");
assert_eq!(msg.role, Role::Assistant);Sourcepub fn system(content: impl Into<String>) -> Self
pub fn system(content: impl Into<String>) -> Self
Create a system message.
§Example
use simple_agent_type::message::{Message, Role};
let msg = Message::system("You are a helpful assistant.");
assert_eq!(msg.role, Role::System);Sourcepub fn tool(content: impl Into<String>, tool_call_id: impl Into<String>) -> Self
pub fn tool(content: impl Into<String>, tool_call_id: impl Into<String>) -> Self
Create a tool message.
§Example
use simple_agent_type::message::{Message, Role};
let msg = Message::tool("result", "call_123");
assert_eq!(msg.role, Role::Tool);
assert_eq!(msg.tool_call_id, Some("call_123".to_string()));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
impl StructuralPartialEq for Message
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