API Reference
Complete API reference for records, events, blobs, and kv store methods.
createStore
function createStore(name: string, options: StoreOptions): Promise<Store>
Creates and initializes a store. The name is used as a namespace for data isolation. Options include adapter, adapter-specific config, and optional encryption.
Records API
store.records.put(key, value)
Write or overwrite a record. Returns the written record with metadata.
const record = await store.records.put("user:1", { name: "Alice" });
// { key: "user:1", value: { name: "Alice" }, version: 1, updatedAt: Date }
store.records.get(key)
Read a record by key. Throws NotFoundError if the key does not exist.
const record = await store.records.get("user:1");
store.records.delete(key)
Delete a record. Creates a tombstone for sync propagation.
store.records.list(options?)
List records with optional filtering.
const records = await store.records.list({
prefix: "user:", // key prefix filter
limit: 100, // max results
offset: 0, // pagination offset
order: "asc", // "asc" or "desc" by key
filter: (r) => r.value.active, // in-memory filter
});
store.records.putMany(entries)
Batch write records in a single transaction.
store.records.conflicts()
List records with unresolved sync conflicts.
store.records.resolve(key, value)
Resolve a conflict by choosing or merging a value.
Events API
store.events.append(stream, payload)
Append an immutable event to a stream.
await store.events.append("deploy", { version: "2.4.1" });
store.events.list(options?)
Read events from a stream.
const events = await store.events.list({
stream: "deploy",
since: new Date("2026-01-01"),
until: new Date("2026-06-01"),
limit: 50,
order: "desc",
});
store.events.count(stream?)
Return the total number of events, optionally filtered by stream name.
Blobs API
store.blobs.put(key, data)
Write a blob from a Buffer, Uint8Array, or ReadableStream.
store.blobs.get(key)
Read a blob as a Buffer.
store.blobs.getStream(key)
Read a blob as a ReadableStream.
store.blobs.delete(key)
Delete a blob.
store.blobs.list(options?)
List blobs with optional prefix filter.
store.blobs.presign(key, options)
Generate a presigned URL (S3 adapter only).
KV API
store.kv.set(key, value)
Set a string value.
store.kv.get(key)
Get a string value. Returns null if not found.
store.kv.delete(key)
Delete a key.
store.kv.list(options?)
List all keys with optional prefix filter.