pub struct MemoryBinding(/* private fields */);Implementations§
Source§impl MemoryBinding
impl MemoryBinding
pub async fn forum_post(&self, post: Post) -> Result<Receipt>
pub async fn forum_read(&self, query: Read) -> Result<Page>
pub async fn forum_forget(&self, id: &str) -> Result<()>
Source§impl MemoryBinding
impl MemoryBinding
pub async fn history_seal( &self, logical_id: &str, messages: &[SharedMessage], note: &str, ) -> Result<(ArchiveRef, String)>
pub async fn history_search( &self, query: &str, limit: usize, ) -> Result<Vec<ArchiveDescriptor>>
pub async fn history_fetch( &self, id: &str, start: usize, limit: usize, ) -> Result<Vec<ArchivedMessage>>
pub async fn history_note(&self, id: &str) -> Result<String>
pub async fn history_forget(&self, id: &str) -> Result<()>
Source§impl MemoryBinding
impl MemoryBinding
Sourcepub fn configured_current() -> Self
pub fn configured_current() -> Self
Production bootstrap without a Runtime capability (legacy extensions). Selection is captured before any subprocess starts; never flips to legacy when an explicitly selected Axel service is unavailable.
pub fn legacy_current() -> Self
pub fn from_config(config: &MemoryBackendConfig) -> Self
Sourcepub fn from_config_with_cwd(
config: &MemoryBackendConfig,
cwd: Option<PathBuf>,
) -> Self
pub fn from_config_with_cwd( config: &MemoryBackendConfig, cwd: Option<PathBuf>, ) -> Self
Same as from_config but with an explicit cwd
(daemon sessions run with a per-session working directory that may
differ from the process cwd).
Sourcepub fn repository_identity(&self) -> Result<RepositoryIdentity>
pub fn repository_identity(&self) -> Result<RepositoryIdentity>
Captured host identity; metadata only. Never grants an alias merge.
Immutable execution provenance, not a saved conversation identity or an authorization grant. Ordinary clones retain this exact author.
Sourcepub fn fork_for_worker(&self) -> Self
pub fn fork_for_worker(&self) -> Self
New worker execution: fork only the author, retaining captured storage authority (including scope errors) and the shared operation lock. Resumed workers get a new actor too; no rediscovery or config reload.
Sourcepub fn with_scope(&self, scope: ProjectScope) -> Self
pub fn with_scope(&self, scope: ProjectScope) -> Self
Operator-only rebinding for exact verified source scopes during migration. Never expose an arbitrary project selector through model tools.
Sourcepub fn for_user_notes(&self) -> Result<Self>
pub fn for_user_notes(&self) -> Result<Self>
Only explicit note tools may select the reserved user scope. Capture, history, and automatic recall retain their repository binding.
pub fn brain_path(&self) -> Option<&Path>
pub fn is_axel(&self) -> bool
Sourcepub fn validate_axel_config(&self) -> Result<()>
pub fn validate_axel_config(&self) -> Result<()>
Pure configuration validation for consent grants; does not open storage or start a process. Execution performs stronger filesystem checks again.
pub fn exclusive(&self) -> bool
pub fn scope(&self) -> Result<&ProjectScope>
pub fn base(&self) -> &Path
Sourcepub async fn rpc(&self, operation: &str, payload: Value) -> Result<Value>
pub async fn rpc(&self, operation: &str, payload: Value) -> Result<Value>
Exact host-only RPC, never selected by model-authored paths or projects. Operator migration/export calls use this same backend and transaction boundary.
Sourcepub async fn migration_apply(&self, payload: Value) -> Result<Value>
pub async fn migration_apply(&self, payload: Value) -> Result<Value>
Atomically import an operator-approved source manifest into this one backend. The migration module owns preview/consent/source validation before this call.
Sourcepub async fn capabilities(&self) -> Result<Value>
pub async fn capabilities(&self) -> Result<Value>
Query feature availability without touching any legacy memory surface.
pub async fn search( &self, q: ProjectMemoryQuery, ) -> Result<Vec<MemoryDescriptor>>
pub async fn fetch(&self, ids: &[&str]) -> Result<Vec<MemoryRecord>>
pub async fn store(&self, new: NewMemoryRecord) -> Result<MemoryRecord>
pub async fn forget(&self, id: &str) -> Result<()>
Trait Implementations§
Source§impl Clone for MemoryBinding
impl Clone for MemoryBinding
Auto Trait Implementations§
impl !RefUnwindSafe for MemoryBinding
impl !UnwindSafe for MemoryBinding
impl Freeze for MemoryBinding
impl Send for MemoryBinding
impl Sync for MemoryBinding
impl Unpin for MemoryBinding
impl UnsafeUnpin for MemoryBinding
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>. Box<dyn Any> can
then be further downcast into Box<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>. Rc<Any> 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.