pub struct ProjectMemory {
pub project_hash: String,
pub entries: Vec<MemoryEntry>,
}Expand description
Accumulated session memory for a project, used to inject past context into new sessions.
Fields§
§project_hash: StringHash identifying the project directory.
entries: Vec<MemoryEntry>Ordered memory entries from past sessions.
Implementations§
Source§impl ProjectMemory
impl ProjectMemory
Sourcepub fn recent_entries(&self, max: usize) -> &[MemoryEntry]
pub fn recent_entries(&self, max: usize) -> &[MemoryEntry]
Returns at most max of the most recent memory entries.
Sourcepub fn format_injection(&self, max: usize) -> Option<String>
pub fn format_injection(&self, max: usize) -> Option<String>
Formats up to max recent entries into a text block suitable for
injection into the system prompt. Returns None if there are no entries.
Trait Implementations§
Source§impl Clone for ProjectMemory
impl Clone for ProjectMemory
Source§impl Debug for ProjectMemory
impl Debug for ProjectMemory
Source§impl<'de> Deserialize<'de> for ProjectMemory
impl<'de> Deserialize<'de> for ProjectMemory
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
Auto Trait Implementations§
impl Freeze for ProjectMemory
impl RefUnwindSafe for ProjectMemory
impl Send for ProjectMemory
impl Sync for ProjectMemory
impl Unpin for ProjectMemory
impl UnsafeUnpin for ProjectMemory
impl UnwindSafe for ProjectMemory
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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