pub struct ConversationMessage {
pub role: String,
pub content: String,
pub tool_call_id: Option<String>,
pub thinking: Option<String>,
pub timestamp: DateTime<Utc>,
pub source: MessageSource,
}Expand description
A message in a persisted conversation history.
This is a superset of gestura_core_pipeline::Message with additional UI metadata.
Fields§
§role: StringMessage role: “user”, “assistant”, or “tool”.
content: StringMessage content.
tool_call_id: Option<String>Tool call ID (for tool messages).
thinking: Option<String>Thinking content (for extended thinking UIs).
timestamp: DateTime<Utc>Timestamp in UTC.
source: MessageSourceMessage source.
Implementations§
Source§impl ConversationMessage
impl ConversationMessage
Sourcepub fn to_pipeline_message(&self) -> Message
pub fn to_pipeline_message(&self) -> Message
Convert to a pipeline Message (dropping UI-only fields).
Trait Implementations§
Source§impl Clone for ConversationMessage
impl Clone for ConversationMessage
Source§fn clone(&self) -> ConversationMessage
fn clone(&self) -> ConversationMessage
Returns a duplicate of the value. Read more
1.0.0 · 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 ConversationMessage
impl Debug for ConversationMessage
Source§impl<'de> Deserialize<'de> for ConversationMessage
impl<'de> Deserialize<'de> for ConversationMessage
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 ConversationMessage
impl RefUnwindSafe for ConversationMessage
impl Send for ConversationMessage
impl Sync for ConversationMessage
impl Unpin for ConversationMessage
impl UnwindSafe for ConversationMessage
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> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].