pub struct Memory {Show 20 fields
pub id: Uuid,
pub content: String,
pub content_hash: String,
pub embedding: Option<Vector>,
pub tier: MemoryTier,
pub status: MemoryStatus,
pub importance_score: f64,
pub access_count: i32,
pub last_accessed_at: Option<DateTime<Utc>>,
pub metadata: Value,
pub parent_id: Option<Uuid>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub expires_at: Option<DateTime<Utc>>,
pub consolidation_strength: f64,
pub decay_rate: f64,
pub recall_probability: Option<f64>,
pub last_recall_interval: Option<PgInterval>,
pub recency_score: f64,
pub relevance_score: f64,
}
Fields§
§id: Uuid
§content: String
§content_hash: String
§embedding: Option<Vector>
§tier: MemoryTier
§status: MemoryStatus
§importance_score: f64
§access_count: i32
§last_accessed_at: Option<DateTime<Utc>>
§metadata: Value
§parent_id: Option<Uuid>
§created_at: DateTime<Utc>
§updated_at: DateTime<Utc>
§expires_at: Option<DateTime<Utc>>
§consolidation_strength: f64
§decay_rate: f64
§recall_probability: Option<f64>
§last_recall_interval: Option<PgInterval>
§recency_score: f64
§relevance_score: f64
Implementations§
Source§impl Memory
impl Memory
pub fn calculate_content_hash(content: &str) -> String
Sourcepub fn recall_count(&self) -> i32
pub fn recall_count(&self) -> i32
Get recall count (alias for access_count)
pub fn should_migrate(&self) -> bool
pub fn next_tier(&self) -> Option<MemoryTier>
Sourcepub fn calculate_recall_probability(&self) -> Option<f64>
pub fn calculate_recall_probability(&self) -> Option<f64>
Calculate recall probability using the new math engine This method now uses the optimized and more accurate math engine with proper edge case handling and performance optimization.
Sourcepub fn update_consolidation_strength(&mut self, recall_interval: PgInterval)
pub fn update_consolidation_strength(&mut self, recall_interval: PgInterval)
Update consolidation strength using the new math engine This method now uses the optimized and more accurate math engine with proper error handling and performance optimization.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Memory
impl<'de> Deserialize<'de> for Memory
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
Source§impl<'a, R: Row> FromRow<'a, R> for Memorywhere
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, R::Database> + Type<R::Database>,
String: Decode<'a, R::Database> + Type<R::Database>,
Option<Vector>: Decode<'a, R::Database> + Type<R::Database>,
MemoryTier: Decode<'a, R::Database> + Type<R::Database>,
MemoryStatus: Decode<'a, R::Database> + Type<R::Database>,
f64: Decode<'a, R::Database> + Type<R::Database>,
i32: Decode<'a, R::Database> + Type<R::Database>,
Option<DateTime<Utc>>: Decode<'a, R::Database> + Type<R::Database>,
Value: Decode<'a, R::Database> + Type<R::Database>,
Option<Uuid>: Decode<'a, R::Database> + Type<R::Database>,
DateTime<Utc>: Decode<'a, R::Database> + Type<R::Database>,
Option<f64>: Decode<'a, R::Database> + Type<R::Database>,
Option<PgInterval>: Decode<'a, R::Database> + Type<R::Database>,
impl<'a, R: Row> FromRow<'a, R> for Memorywhere
&'a str: ColumnIndex<R>,
Uuid: Decode<'a, R::Database> + Type<R::Database>,
String: Decode<'a, R::Database> + Type<R::Database>,
Option<Vector>: Decode<'a, R::Database> + Type<R::Database>,
MemoryTier: Decode<'a, R::Database> + Type<R::Database>,
MemoryStatus: Decode<'a, R::Database> + Type<R::Database>,
f64: Decode<'a, R::Database> + Type<R::Database>,
i32: Decode<'a, R::Database> + Type<R::Database>,
Option<DateTime<Utc>>: Decode<'a, R::Database> + Type<R::Database>,
Value: Decode<'a, R::Database> + Type<R::Database>,
Option<Uuid>: Decode<'a, R::Database> + Type<R::Database>,
DateTime<Utc>: Decode<'a, R::Database> + Type<R::Database>,
Option<f64>: Decode<'a, R::Database> + Type<R::Database>,
Option<PgInterval>: Decode<'a, R::Database> + Type<R::Database>,
Auto Trait Implementations§
impl Freeze for Memory
impl RefUnwindSafe for Memory
impl Send for Memory
impl Sync for Memory
impl Unpin for Memory
impl UnwindSafe for Memory
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 more