npm.io
0.3.0 • Published yesterday

@coderbuzz/kvs-client

Licence
MIT
Version
0.3.0
Deps
0
Size
39 kB
Vulns
0
Weekly
0

KVS Client — @coderbuzz/kvs-client

TypeScript client SDK for @coderbuzz/kvs-server. REST-first, transparently upgrades to WebSocket RPC for lower latency.

import { KvsClient } from "@coderbuzz/kvs-client";

const kv = new KvsClient({ url: "http://localhost:3000", token: "my-token" });

// REST (always available)
await kv.set(["greeting"], "hello world");
console.log(await kv.get(["greeting"]));

// Atomic transactions
const result = await kv.atomic()
  .check({ key: ["counter"], version: 3 })
  .set(["counter"], 4)
  .commit();

// Queue with retries
await kv.enqueue({ task: "send-email" }, { topic: "mailer", maxAttempts: 3 });
const msgs = await kv.dequeue("mailer", 10);
for (const msg of msgs) {
  await processTask(msg.payload);
  await kv.acknowledge(msg.id);
}

// WebSocket: watch + listen
await kv.open();
kv.watch([["config", "theme"]], (entries) => console.log(entries[0]?.value));
kv.listen("mailer", (msg) => { processTask(msg.payload); kv.acknowledge(msg.id); });

Documentation

Full API reference: DOCS.md

License

MIT 2026 Indra Gunawan

Keywords