pub enum ChangeEnvelope {
Added {
id: EntityId,
title: Option<String>,
entity_type: Option<String>,
},
Updated {
id: EntityId,
title: Option<String>,
entity_type: Option<String>,
},
Removed {
id: EntityId,
title: Option<String>,
entity_type: Option<String>,
},
Renamed {
from_id: EntityId,
to_id: EntityId,
title: Option<String>,
entity_type: Option<String>,
},
}Expand description
Single delta entry between two snapshots. Renamed collapses what
would otherwise appear as a Removed + Added pair so agents see
one semantic event per filesystem rename.
title and entity_type are best-effort enrichment from the
engine’s in-memory store: present when the backend’s diff resolves
to an entity the engine still knows about, None otherwise.
Removed envelopes always leave both None (the entity is gone
by definition); other variants populate when the lookup succeeds.
Variants§
Implementations§
Source§impl ChangeEnvelope
impl ChangeEnvelope
Sourcepub fn primary_id(&self) -> &str
pub fn primary_id(&self) -> &str
The id this change sorts and renders under — to_id for a
rename (the surviving entity), the entity id otherwise.
Sourcepub fn action(&self) -> &'static str
pub fn action(&self) -> &'static str
The wire action verb — the same token the serde tag emits and
memstead_changes_since reports: added | updated | removed |
renamed.
Sourcepub fn entity_type(&self) -> Option<&str>
pub fn entity_type(&self) -> Option<&str>
Best-effort entity type carried on the envelope (None on
Removed, or when the store lookup missed).
Trait Implementations§
Source§impl Clone for ChangeEnvelope
impl Clone for ChangeEnvelope
Source§fn clone(&self) -> ChangeEnvelope
fn clone(&self) -> ChangeEnvelope
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 ChangeEnvelope
impl Debug for ChangeEnvelope
impl Eq for ChangeEnvelope
Source§impl PartialEq for ChangeEnvelope
impl PartialEq for ChangeEnvelope
Source§impl Serialize for ChangeEnvelope
impl Serialize for ChangeEnvelope
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for ChangeEnvelope
Auto Trait Implementations§
impl Freeze for ChangeEnvelope
impl RefUnwindSafe for ChangeEnvelope
impl Send for ChangeEnvelope
impl Sync for ChangeEnvelope
impl Unpin for ChangeEnvelope
impl UnsafeUnpin for ChangeEnvelope
impl UnwindSafe for ChangeEnvelope
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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