pub struct MarkdownAgentMemoryStore { /* private fields */ }Implementations§
Source§impl MarkdownAgentMemoryStore
impl MarkdownAgentMemoryStore
pub fn open(root: impl Into<PathBuf>) -> Result<Self, AgentMemoryError>
pub fn path_for(&self, realm: &str, identity: &AgentIdentity) -> PathBuf
pub fn remember( &self, realm: &str, identity: &AgentIdentity, memory: NewAgentMemory, ) -> Result<AgentMemoryRecord, AgentMemoryError>
pub fn read_records( &self, realm: &str, identity: &AgentIdentity, ) -> Result<Vec<AgentMemoryRecord>, AgentMemoryError>
pub fn forget( &self, realm: &str, identity: &AgentIdentity, memory_id: &str, ) -> Result<AgentMemoryForgetResult, AgentMemoryError>
Trait Implementations§
Source§impl AgentMemoryProvider for MarkdownAgentMemoryStore
impl AgentMemoryProvider for MarkdownAgentMemoryStore
fn supports_remember(&self) -> bool
fn supports_forget(&self) -> bool
fn remember<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
realm: &'life1 str,
identity: &'life2 AgentIdentity,
memory: NewAgentMemory,
) -> Pin<Box<dyn Future<Output = Result<AgentMemoryRecord, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn forget<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
realm: &'life1 str,
identity: &'life2 AgentIdentity,
memory_id: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<AgentMemoryForgetResult, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn recall<'life0, 'async_trait>(
&'life0 self,
request: AgentMemoryRecallRequest,
) -> Pin<Box<dyn Future<Output = Result<Vec<AgentMemoryRecord>, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Source§fn manifest<'life0, 'life1, 'async_trait>(
&'life0 self,
_scopes: &'life1 [MemoryScope],
_tier: ManifestTier,
) -> Pin<Box<dyn Future<Output = Result<Vec<RecordMeta>, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn manifest<'life0, 'life1, 'async_trait>(
&'life0 self,
_scopes: &'life1 [MemoryScope],
_tier: ManifestTier,
) -> Pin<Box<dyn Future<Output = Result<Vec<RecordMeta>, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Metadata manifest over the composed scopes (§8.3).
WorkingSet(k) is
the union of the top-K ranked records and the recent/unranked slice;
Full is every active record’s metadata.fn supports_manifest(&self) -> bool
Source§fn supersede<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_scope: &'life1 MemoryScope,
_prior: &'life2 str,
_record: NewMemoryRecord,
) -> Pin<Box<dyn Future<Output = Result<MemoryId, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn supersede<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_scope: &'life1 MemoryScope,
_prior: &'life2 str,
_record: NewMemoryRecord,
) -> Pin<Box<dyn Future<Output = Result<MemoryId, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Update-in-place with history (fixes D4): the new record supersedes
prior within its lineage and inherits its working-set rank.fn supports_supersede(&self) -> bool
Source§fn mark_usage<'life0, 'life1, 'async_trait>(
&'life0 self,
_ids: &'life1 [MemoryId],
_event: UsageEvent,
) -> Pin<Box<dyn Future<Output = Result<(), AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn mark_usage<'life0, 'life1, 'async_trait>(
&'life0 self,
_ids: &'life1 [MemoryId],
_event: UsageEvent,
) -> Pin<Box<dyn Future<Output = Result<(), AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Mechanical usage-ledger updates (§9.2). Deliberately flag-less: it is
an internal coordinator surface, not an advertised RPC capability.
Source§fn log_injections<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_realm: &'life1 str,
_entries: &'life2 [InjectionLogEntry],
) -> Pin<Box<dyn Future<Output = Result<(), AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn log_injections<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_realm: &'life1 str,
_entries: &'life2 [InjectionLogEntry],
) -> Pin<Box<dyn Future<Output = Result<(), AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Injection-ledger append (§9.2): which records entered whose context,
through which surface, when. Internal coordinator telemetry —
default no-op (not an error) so simple providers like the markdown
store need no capability flag and the coordinator never has to care.
Source§fn propose<'life0, 'life1, 'async_trait>(
&'life0 self,
_scope: &'life1 MemoryScope,
_record: NewMemoryRecord,
_author: MemoryAuthor,
) -> Pin<Box<dyn Future<Output = Result<ProposalId, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn propose<'life0, 'life1, 'async_trait>(
&'life0 self,
_scope: &'life1 MemoryScope,
_record: NewMemoryRecord,
_author: MemoryAuthor,
) -> Pin<Box<dyn Future<Output = Result<ProposalId, AgentMemoryError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Queue a record for steward-committed scopes (mob/operator — §7.2
write authority).
author is the proposing principal — the Recorder
proposes with real MemoryAuthor::Agent authorship (§8.2), the RPC
path with Application.fn supports_propose(&self) -> bool
Agent-authored create in
scope. Default-unsupported: the Recorder
only registers against providers that implement this.Agent-authored supersede within a single record’s lineage in the
author’s own writable scope (§8.2). Cross-scope updates are a
validator reject, not a policy the caller can waive.
Agent-authored tombstone in the author’s own scope.
Source§fn as_taintable(&self) -> Option<Arc<dyn TaintableStore>>
fn as_taintable(&self) -> Option<Arc<dyn TaintableStore>>
§10.1 firewall control surface, when this provider supports
gate/sink/resolver installation.
Source§fn as_steward_store(&self) -> Option<Arc<dyn StewardStore>>
fn as_steward_store(&self) -> Option<Arc<dyn StewardStore>>
§8.5 steward dream read/write surface.
Source§fn as_memory_panel_store(&self) -> Option<Arc<dyn MemoryPanelStore>>
fn as_memory_panel_store(&self) -> Option<Arc<dyn MemoryPanelStore>>
§9.3 console Memory panel read API.
Source§fn as_selected_record_fetch(&self) -> Option<Arc<dyn SelectedRecordFetch>>
fn as_selected_record_fetch(&self) -> Option<Arc<dyn SelectedRecordFetch>>
§8.3 Selector body fetch for selector-chosen record ids.
Source§fn as_tombstone_source(&self) -> Option<Arc<dyn TombstoneSource>>
fn as_tombstone_source(&self) -> Option<Arc<dyn TombstoneSource>>
§8.4 Distiller tombstone reads (recently tombstoned records per
scope, for dedup against re-distillation).
Source§impl Clone for MarkdownAgentMemoryStore
impl Clone for MarkdownAgentMemoryStore
Source§fn clone(&self) -> MarkdownAgentMemoryStore
fn clone(&self) -> MarkdownAgentMemoryStore
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 MarkdownAgentMemoryStore
impl RefUnwindSafe for MarkdownAgentMemoryStore
impl Send for MarkdownAgentMemoryStore
impl Sync for MarkdownAgentMemoryStore
impl Unpin for MarkdownAgentMemoryStore
impl UnsafeUnpin for MarkdownAgentMemoryStore
impl UnwindSafe for MarkdownAgentMemoryStore
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> CoreExecutorTurnFinalizationGuard for Twhere
T: Send,
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