thingd-core
Core storage primitives for thingd — an object-shaped local memory engine for apps and agents.
This crate owns the storage boundary: object CRUD, append-only events, job
queues, full-text search, and graph links. The default engine is in-memory for
API design and testing. The optional sqlite feature enables the
rusqlite-backed SqliteThingStore for durable storage.
Installation
[]
= { = "0.1", = ["sqlite"] }
Feature Flags
| Feature | Default | Description |
|---|---|---|
sqlite |
No | Enables rusqlite-backed SqliteThingStore with FTS5 search |
connectors |
No | Enables CSV/JSON file connectors for data import |
Quick Start
use ;
let mut engine = new;
// Store an object
let obj = new;
engine.put_object.unwrap;
// Retrieve it
let user = engine.get_object.unwrap;
assert_eq!;
Traits
The crate is built around composable traits:
ObjectStore— CRUD for objects in named collectionsEventLog— Append-only event streamsQueueStore— Job queues with lease/ack/nack lifecycleSearcher— Full-text search across objects and eventsLinkStore— Graph links between objectsThingStore— Super-trait combining all of the above
License
Apache-2.0 — see LICENSE.