Source code for rath.memory.capabilities

"""Static memory-backend capability description (mirrors :mod:`rath.backend.capabilities`)."""

from __future__ import annotations

from dataclasses import dataclass
from enum import Enum

__all__ = ["ScopeModel", "MemoryCapabilities"]


[docs] class ScopeModel(str, Enum): """How a memory backend organises its keyspace.""" KV = "kv" FS = "fs" VECTOR = "vector" HYBRID = "hybrid"
[docs] @dataclass(frozen=True, slots=True) class MemoryCapabilities: """Static, class-level capability description for a memory backend.""" scope_model: ScopeModel supports_write: bool supports_read: bool supports_list: bool supports_tree: bool supports_vector_search: bool supports_intent_search: bool supports_resource_ingest: bool supports_session_commit: bool supports_l0_l1_l2: bool