pub enum AgentMessage {
User(UserMessage),
Assistant(Box<AssistantMessage>),
ToolResult(Box<ToolResultMessage>),
Custom(CustomMessage),
}Expand description
AgentMessage = Message | Custom. The open-enum port of TS
AgentMessage = Message | CustomAgentMessages[keyof CustomAgentMessages].
PartialEq is derived so pi-harness entry equality (and tests) can compare
persisted messages by value. rpi_ai’s base message types already implement
PartialEq; CustomMessage does too, so the four-arm enum derives cleanly.
Variants§
User(UserMessage)
Assistant(Box<AssistantMessage>)
ToolResult(Box<ToolResultMessage>)
Custom(CustomMessage)
Implementations§
Source§impl AgentMessage
impl AgentMessage
Sourcepub fn role(&self) -> AgentMessageRole
pub fn role(&self) -> AgentMessageRole
The logical role tag — mirrors message.role on the TS side. For base
messages this is "user"/"assistant"/"toolResult"; for custom it is
the custom role string. Used by the loop’s role checks (e.g. “can’t
continue from an assistant message”).
pub fn is_assistant(&self) -> bool
Sourcepub fn as_assistant(&self) -> Option<&AssistantMessage>
pub fn as_assistant(&self) -> Option<&AssistantMessage>
If this is an assistant message, borrow it.
Sourcepub fn into_assistant(self) -> Option<AssistantMessage>
pub fn into_assistant(self) -> Option<AssistantMessage>
If this is an assistant message, own a clone of it.
Trait Implementations§
Source§impl Clone for AgentMessage
impl Clone for AgentMessage
Source§fn clone(&self) -> AgentMessage
fn clone(&self) -> AgentMessage
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 AgentMessage
impl Debug for AgentMessage
Source§impl<'de> Deserialize<'de> for AgentMessage
impl<'de> Deserialize<'de> for AgentMessage
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<AssistantMessage> for AgentMessage
impl From<AssistantMessage> for AgentMessage
Source§fn from(m: AssistantMessage) -> Self
fn from(m: AssistantMessage) -> Self
Converts to this type from the input type.
Source§impl From<Message> for AgentMessage
impl From<Message> for AgentMessage
Source§impl From<ToolResultMessage> for AgentMessage
impl From<ToolResultMessage> for AgentMessage
Source§fn from(m: ToolResultMessage) -> Self
fn from(m: ToolResultMessage) -> Self
Converts to this type from the input type.
Source§impl From<UserMessage> for AgentMessage
impl From<UserMessage> for AgentMessage
Source§fn from(m: UserMessage) -> Self
fn from(m: UserMessage) -> Self
Converts to this type from the input type.
Source§impl PartialEq for AgentMessage
impl PartialEq for AgentMessage
Source§impl Serialize for AgentMessage
impl Serialize for AgentMessage
impl StructuralPartialEq for AgentMessage
Auto Trait Implementations§
impl Freeze for AgentMessage
impl RefUnwindSafe for AgentMessage
impl Send for AgentMessage
impl Sync for AgentMessage
impl Unpin for AgentMessage
impl UnsafeUnpin for AgentMessage
impl UnwindSafe for AgentMessage
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