Areev Rust SDK
Rust client library for the Areev knowledge database.
Installation
[]
= "0.1"
For gRPC transport:
[]
= { = "0.1", = ["grpc"] }
Quick Start
use Areev;
async
Configuration
The client reads from environment variables by default:
| Variable | Default | Description |
|---|---|---|
AREEV_API_KEY |
— | API key (sent as Authorization: Bearer <key>) |
AREEV_URL |
https://app.areev.ai |
Server endpoint |
AREEV_MEMORY_ID |
default |
Memory database ID |
Or pass them explicitly:
let areev = new;
API
| Method | Description |
|---|---|
remember(text) |
Store natural-language memory (LLM extracts structure) |
recall(query) |
Search memories |
forget(hash) |
Delete a memory by hash |
add(req) |
Add a typed grain (low-level) |
get(hash) |
Get a grain by hash |
supersede(req) |
Update a grain |
chat_interactive(slug, conv_id, msg, executors) |
Harness chat with auto pause/resume for client:// tools |
harness_chat(slug, req) |
Single harness turn (completed or requires_action) |
chat_resume(slug, req) |
Resume a paused session with client-side tool outputs |
cancel_chat_session(slug, session_id) |
Cancel a paused session (idempotent) |
health() |
Health check |
stats() |
Database statistics |
flush() |
Flush write buffer |
Low-Level Client
For advanced use cases (custom request objects, gRPC transport):
use ;
let client = new;
let resp = client.add.await?;
Harness Chat
Use chat_interactive to drive a harness (Areev's LLM-plus-tools runtime) with client-side tool executors. The helper runs the pause/resume loop for you when the model calls a client:// tool:
use Pin;
use ;
use json;
let areev = from_env;
let mut executors: ChatExecutors = new;
executors.insert;
let response = areev
.chat_interactive
.await?;
println!;
harness_chat, chat_resume, and cancel_chat_session are the low-level primitives if you want to run the loop yourself.
Transports
| Transport | Feature | Default |
|---|---|---|
| HTTP/REST | http |
Yes |
| gRPC | grpc |
No |
License
BUSL-1.1