pub struct ConsolidateRequest {
pub memory_ids: Vec<Uuid>,
pub topic_name: String,
pub agent_id: Option<String>,
pub summary: Option<String>,
pub supersede: Option<Uuid>,
pub thread_id: Option<String>,
pub metadata: Option<Value>,
}Expand description
Request to consolidate a set of member memories into one topic document.
Fields§
§memory_ids: Vec<Uuid>The member memories to collect as evidence. Must be non-empty. Duplicates are ignored. Every id must exist, be readable by the resolved agent, and not be soft-deleted.
topic_name: StringThe topic document’s name / fact key. Stored in metadata.topic,
used as the document tag, and (absent summary) as the heading.
agent_id: Option<String>Agent that owns the new topic document. Defaults to
engine.default_agent_id.
summary: Option<String>Optional caller-supplied document body. When omitted (or blank) the body is synthesised deterministically from the member contents.
supersede: Option<Uuid>Optional id of an existing topic document this one revises. When set,
the new document becomes version = old.version + 1 with
prev_version_id = old.id; the old document is retained (marked
Consolidated with a superseded_by pointer, NOT deleted, so the hash
chain stays whole), and a EventType::MemoryRevised audit event is
emitted alongside the consolidation event.
thread_id: Option<String>Optional thread/session scope for the topic document and its events.
metadata: Option<Value>Optional caller metadata, merged under the provenance keys this
primitive writes (topic, consolidated_from, members, revision_of).
Implementations§
Trait Implementations§
Source§impl Clone for ConsolidateRequest
impl Clone for ConsolidateRequest
Source§fn clone(&self) -> ConsolidateRequest
fn clone(&self) -> ConsolidateRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ConsolidateRequest
impl Debug for ConsolidateRequest
Source§impl<'de> Deserialize<'de> for ConsolidateRequest
impl<'de> Deserialize<'de> for ConsolidateRequest
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>,
Auto Trait Implementations§
impl Freeze for ConsolidateRequest
impl RefUnwindSafe for ConsolidateRequest
impl Send for ConsolidateRequest
impl Sync for ConsolidateRequest
impl Unpin for ConsolidateRequest
impl UnsafeUnpin for ConsolidateRequest
impl UnwindSafe for ConsolidateRequest
Blanket Implementations§
impl<T> Allocation for T
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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>
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>
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 more