pub enum MemoryBackendKind {
None,
Sqlite,
Postgres,
Qdrant,
Markdown,
Lucid,
}Expand description
Per-agent memory backend selector.
Closed set; the schema is law. The enum mirrors the storage-instance
outer keys under Config.storage.<kind>.<alias>: sqlite, postgres,
qdrant, markdown, lucid, plus none for the no-storage case.
An agent’s backend is locked at agent creation and immutable on
subsequent loads. Config::validate() enforces immutability against
the persisted on-disk state.
Variants§
None
No memory backend. Recall returns empty; stores are no-ops.
Sqlite
Embedded SQLite (crates/zeroclaw-memory/src/sqlite.rs). Default for
new installs because every supported platform can run it without
extra services.
Postgres
PostgreSQL with optional pgvector
(crates/zeroclaw-memory/src/postgres.rs, feature memory-postgres).
Qdrant
Qdrant vector store (crates/zeroclaw-memory/src/qdrant.rs).
Markdown
Markdown files in the agent’s workspace
(crates/zeroclaw-memory/src/markdown.rs).
Lucid
Hybrid local SQLite + external Lucid CLI
(crates/zeroclaw-memory/src/lucid.rs).
Trait Implementations§
Source§impl Clone for MemoryBackendKind
impl Clone for MemoryBackendKind
Source§fn clone(&self) -> MemoryBackendKind
fn clone(&self) -> MemoryBackendKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MemoryBackendKind
impl Debug for MemoryBackendKind
Source§impl Default for MemoryBackendKind
impl Default for MemoryBackendKind
Source§fn default() -> MemoryBackendKind
fn default() -> MemoryBackendKind
Source§impl<'de> Deserialize<'de> for MemoryBackendKind
impl<'de> Deserialize<'de> for MemoryBackendKind
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>,
Source§impl HasPropKind for MemoryBackendKind
impl HasPropKind for MemoryBackendKind
Source§impl Hash for MemoryBackendKind
impl Hash for MemoryBackendKind
Source§impl JsonSchema for MemoryBackendKind
impl JsonSchema for MemoryBackendKind
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for MemoryBackendKind
impl PartialEq for MemoryBackendKind
Source§impl Serialize for MemoryBackendKind
impl Serialize for MemoryBackendKind
impl Copy for MemoryBackendKind
impl Eq for MemoryBackendKind
impl StructuralPartialEq for MemoryBackendKind
Auto Trait Implementations§
impl Freeze for MemoryBackendKind
impl RefUnwindSafe for MemoryBackendKind
impl Send for MemoryBackendKind
impl Sync for MemoryBackendKind
impl Unpin for MemoryBackendKind
impl UnsafeUnpin for MemoryBackendKind
impl UnwindSafe for MemoryBackendKind
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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