pub enum Message {
System {
content: String,
cache_markers: Vec<SystemCacheMarker>,
},
Context {
content: String,
},
User {
content: String,
},
Assistant {
content: String,
tool_calls: Vec<ToolCall>,
},
Tool {
result: MessageToolResult,
},
}Expand description
A message in the conversation.
Variants§
System
System-level instruction (identity, rules, tool guide).
Fields
§
cache_markers: Vec<SystemCacheMarker>Stable prompt ranges suitable for provider-side caching.
Context
Workspace context (AGENTS.md, history summary, retrieved files).
User
Message from the user.
Assistant
Response from the assistant.
Fields
Tool
Result of a tool execution.
Fields
§
result: MessageToolResultThe tool result.
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 UnsafeUnpin 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