pub struct InputMessage {
pub role: MessageRole,
pub content: Vec<ContentPart>,
pub controls: Option<Controls>,
pub metadata: Option<HashMap<String, Value>>,
pub tags: Vec<String>,
}Expand description
Input message for creating a new message
This is the input structure for adding messages, without the ID and timestamp which are generated by the storage layer.
Note: Message creation happens via EventService/EventEmitter, not MessageRetriever. This struct is used by the API layer and in-memory stores for tests.
Fields§
§role: MessageRoleMessage role (user, assistant, tool_result, system)
content: Vec<ContentPart>Message content as array of content parts
controls: Option<Controls>Runtime controls (model, reasoning, etc.)
metadata: Option<HashMap<String, Value>>Message-level metadata
Tags for filtering/categorization
Implementations§
Source§impl InputMessage
impl InputMessage
Trait Implementations§
Source§impl Clone for InputMessage
impl Clone for InputMessage
Source§fn clone(&self) -> InputMessage
fn clone(&self) -> InputMessage
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 InputMessage
impl Debug for InputMessage
Source§impl From<&str> for InputMessage
impl From<&str> for InputMessage
Auto Trait Implementations§
impl Freeze for InputMessage
impl RefUnwindSafe for InputMessage
impl Send for InputMessage
impl Sync for InputMessage
impl Unpin for InputMessage
impl UnsafeUnpin for InputMessage
impl UnwindSafe for InputMessage
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request