pub struct PromotionInput {
pub message_id: MessageId,
pub conversation_id: ConversationId,
pub content: String,
pub embedding: Option<Vec<f32>>,
}Expand description
A single episodic message prepared for the promotion scan.
This type carries the conversation_id (session provenance) that ordinary
crate::facade::MemoryMatch results do not expose, making it possible to
enforce the PromotionConfig::min_sessions heuristic.
Fields§
§message_id: MessageIdIdentifies the individual message for deduplication bookkeeping.
conversation_id: ConversationIdThe session this message belongs to.
content: StringRaw message content.
embedding: Option<Vec<f32>>Pre-computed embedding vector.
When None, the scan will skip this row rather than re-embed inline on
the hot path — embedding is expensive and the promotion engine runs in the
background.
Trait Implementations§
Source§impl Clone for PromotionInput
impl Clone for PromotionInput
Source§fn clone(&self) -> PromotionInput
fn clone(&self) -> PromotionInput
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 moreAuto Trait Implementations§
impl Freeze for PromotionInput
impl RefUnwindSafe for PromotionInput
impl Send for PromotionInput
impl Sync for PromotionInput
impl Unpin for PromotionInput
impl UnsafeUnpin for PromotionInput
impl UnwindSafe for PromotionInput
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,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§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