Expand description
§ijima-server
HTTP daemon and store backends for the Ijima centralized agentic memory backend.
This crate is the Rust successor to the pi-mempalace fork’s
pi-mempalace-server.ts remote backend. It owns the store backends
(SurrealDB primary — see docs/DESIGN.md D6), the embedding/vector
index, the JSON-RPC-style HTTP surface that harnesses speak, and the
systemd-friendly daemon entry point.
The transport-free type contract — including the ijima_core::Store
trait this crate implements — lives in ijima_core; the extraction
engine lives in [ijima_miner]; harness adapters live in
[ijima_client].
§Features
std(default): Standard library support.http(default): axum-based HTTP/JSON server + theijimabinary. Disable to embed the store as a library without spawning a server.backend-surreal: SurrealDB store backend (primary). Embeddedkv-memengine; server mode is a future addition.backend-sqlite: SQLite store backend — migration only. Reads the live pi-mempalace corpus once during import.embeddings-candle: candle (Hugging Face Rust ML) embedding backend. The IA-standard default, consistent with Quantizon. Builds candle on CPU; GPU/CUDA acceleration is a future opt-in.server-auth: Schubert proof-carrying capability tokens for both authentication and authorization on Gr(4,8). Loadspolicy/policy.toml. When off, the store runs unauthenticated (embedded/tests).
§Status
Scaffolded — store backends, schema import, and HTTP routes are
filled in test-first. See docs/HANDOFF.md and docs/DESIGN.md.
Re-exports§
pub use backend_surreal::SurrealStore;pub use auth::AuthenticatedPrincipal;pub use auth::IjimaAuth;
Modules§
- api
- HTTP/JSON API surface — the REST endpoints harnesses speak.
- auth
- Authentication + authorization via Schubert proof-carrying multi-capability grant tokens.
- backend_
surreal - SurrealDB store backend — Ijima’s primary backend (D6).
- config
- Layered configuration for the Ijima daemon and CLI.
- doctrine
- Doctrine seed-pack format parser + ingest client (D9). Doctrine seed-pack format + ingest client.
- extractor
- Axum extractor that authenticates requests via a Schubert capability
token in the
Authorization: Bearer <token>header. - key_
store - Persistence for the Ijima issuer key seed.
- redaction
- Redaction/scrub filter for the personal → shared promotion boundary (D9 §2). Redaction filter for the personal → shared promotion boundary.
- server
- Daemon wiring: construct the auth core + store, build the router, and bind/listen.