Skip to main content

Crate ijima_server

Crate ijima_server 

Source
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 + the ijima binary. Disable to embed the store as a library without spawning a server.
  • backend-surreal: SurrealDB store backend (primary). Embedded kv-mem engine; 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). Loads policy/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 capability tokens.
backend_surreal
SurrealDB store backend — Ijima’s primary backend (D6).
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.